Outstanding Load Miss Buffer for Out-of-Order Data Hazard Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Load store units face challenges in reissuing missed load instructions without causing data hazards, particularly when instructions are issued out of order, leading to complications in tracking and resolving potential data hazards.

Innovation Solution

The implementation of a load store unit with an outstanding load miss buffer and a load miss result buffer allows missed load instructions to be stored and reissued without relying on extensive tracking systems, by grouping dependent instructions and retrieving data from the load miss result buffer instead of the level one cache, thereby eliminating data hazards.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load instructions are issued out of order to improve performance, then productivity is improved, but data hazards may occur leading to reliability deterioration

Engineering Contradiction:
Improveinstruction throughputVSAvoiddata hazard prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an intermediary buffer system between the out-of-order issue mechanism and the in-order execution requirements. The load buffer stores load instructions with their original program order tags, allowing them to be issued out of order for performance while maintaining the ability to detect and resolve data hazards by comparing against the stored order information.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms where the load buffer continuously monitors the order of issued load instructions and compares it with the original program order. When a data hazard is detected (a later load instruction being issued before an earlier one that it depends on), the system feedbacks control signals to stall or reorder execution, ensuring reliability while allowing out-of-order issuance for performance.

Inventive Principle:
Principle #23Feedback

2Reliability

If extensive tracking systems are implemented to prevent data hazards, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata hazard detectionVSAvoidtracking system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the essential tracking information (load instruction order and dependency relationships) from the complex execution flow and stores it compactly in the load buffer. This selective extraction of critical tracking data simplifies the overall system by focusing only on the necessary information needed for hazard detection, rather than implementing comprehensive tracking of all instruction states.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates simplified copies of load instruction metadata (program counter, original order tag, dependency information) in the load buffer. These copies serve as lightweight tracking records that enable hazard detection without requiring complex real-time analysis of the full instruction stream, reducing device complexity while maintaining reliability.

Inventive Principle:
Principle #26Copying

3Productivity

If load instructions are stored in buffer to allow out-of-order issuance, then productivity is improved, but loss of time occurs due to buffer management overhead

Engineering Contradiction:
Improveinstruction flow continuityVSAvoidbuffer management time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-storing load instruction metadata (program counter, original order, dependency information) in the load buffer at the time of instruction fetch, before execution is needed. This preliminary organization of information allows for rapid hazard checking and out-of-order issuance decisions, reducing the time loss associated with buffer management during critical execution paths.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8850121B1Outstanding load miss buffer with shared entries
Publication Date: 2014.09.30 AMPERE COMPUTING LLC
  • US8850121B1 patent drawing
  • US8850121B1 patent drawing
  • US8850121B1 patent drawing

AI summary

A load/store unit with an outstanding load miss buffer and a load miss result buffer is configured to read data from a memory system having a level one cache. Missed load instructions are stored in the outstanding load miss buffer. The load/store unit retrieves data for multiple dependent missed load instructions using a single cache access and stores the data in the load miss result buffer. The outstanding load miss buffer stores a first missed load instruction in a first primary entry. Additional missed load instructions that are dependent on the first missed load instructions are stored in dependent entries of the first primary entry or in shared entries. If a shared entry is used for a missed load instruction the shared entry is associated with the primary entry.