Replayed Load Buffer for Store Queue Hit Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processors, load operations often experience delays due to store operations in the store queue where the store data is not yet available, leading to increased latency and performance issues, as the load operation is replayed later than if the dependency on the store data were known in advance.

Innovation Solution

A processor design that includes a reservation station, a store queue, and a replayed load buffer, where the store queue detects hits on store operations and causes the load operation to replay based on the lack of store data, and the replayed load buffer captures identifiers and monitors for the issuance of store data operations to reissue the load operation, reducing latency by allowing reexecution when store data is available.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the load operation is replayed after execution when store data becomes available, then the load operation can eventually obtain the correct data, but the latency increases significantly compared to delaying execution until store data is available

Engineering Contradiction:
Improvecorrectness of load operationVSAvoidlatency of load operation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The replayed load buffer captures load operation information (address, mask, destination register) at the time of the original load execution, before the store data is available. This preliminary capture allows the system to quickly reissue the load operation once store data becomes available, rather than waiting and then fully re-executing the load instruction sequence.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The replayed load buffer acts as an intermediary structure between the store queue and the load execution pipeline. It stores captured load information and monitors for store data availability, enabling efficient coordination between store completion and load reexecution without requiring full replay of the original load instruction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If a replayed load buffer is introduced to capture and monitor load operations, then the latency of replayed loads is reduced, but the device complexity increases

Engineering Contradiction:
Improvelatency of replayed load operationVSAvoidprocessor structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The replayed load buffer extracts only the essential information needed for load reexecution (address, mask, destination register) from the full load operation, separating this critical data from the complete instruction execution flow. This extraction allows minimal buffering while maintaining the ability to quickly reissue loads when store data becomes available.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The replayed load buffer serves multiple functions: capturing load operation parameters, storing them temporarily, monitoring for store data availability, and enabling reexecution. This multi-functionality reduces the need for separate dedicated structures for each function, thereby limiting the increase in device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11175917B1Buffer for replayed loads in parallel with reservation station for rapid rescheduling
Publication Date: 2021.11.16 APPLE INC
  • US11175917B1 patent drawing
  • US11175917B1 patent drawing
  • US11175917B1 patent drawing

AI summary

In an embodiment, a processor comprises a reservation station that issues a first load operation for execution, a store queue, and a replayed load buffer coupled in parallel with the reservation station. During execution of the first load operation, the store queue detects that the first load operation hits on a first store operation in the store queue that lacks store data and causes a replay of the first load operation. The replayed load buffer captures an identifier of the first load operation and the first store operation based on the replay of the first load operation, wherein the replayed load buffer monitors the reservation station for issuance of a first store data operation corresponding to the first store operation and issues the first load operation for reexecution based on the issuance of the first store data operation.