Store-to-Load Forwarding Prediction Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems are inefficient in terms of power usage, computational effort, and communication bandwidth due to simultaneous requests being sent to both the store buffer and cache for load operations, even when data is available in the store buffer.

Innovation Solution

Implementing a prediction mechanism in the core to determine if a load will be satisfied using data from the store buffer, allowing for sequential requests to the store buffer first, and only sending requests to the cache if the store buffer is unsuccessful, thereby optimizing data forwarding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If simultaneous requests are sent to both store buffer and cache for load operations, then data availability is ensured, but power consumption and communication bandwidth increase

Engineering Contradiction:
Improvedata availabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The prediction mechanism performs preliminary determination of whether a load will be satisfied by store buffer forwarding before initiating cache requests. This allows the system to send requests to the store buffer first and only send requests to the cache if needed, avoiding unnecessary communication and power consumption while ensuring data availability through predictive accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The prediction mechanism uses feedback from previous load operations and store buffer state to determine future request patterns. By analyzing historical data and current store buffer conditions, the system can accurately predict whether store buffer forwarding will satisfy the load, thereby optimizing the request sending strategy to reduce power consumption without compromising data availability

Inventive Principle:
Principle #23Feedback

2Reliability

If simultaneous requests are sent to both store buffer and cache, then data forwarding is ensured, but communication bandwidth is wasted

Engineering Contradiction:
Improvedata forwardingVSAvoidcommunication bandwidth
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The prediction mechanism performs preliminary determination of whether a load will be satisfied by store buffer forwarding before initiating cache requests. This allows the system to send requests to the store buffer first and only send requests to the cache if needed, avoiding unnecessary communication and power consumption while ensuring data availability through predictive accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of always sending requests to both store buffer and cache (excessive action), the system sends requests selectively based on prediction accuracy. When prediction indicates store buffer forwarding will succeed, only the store buffer request is sent (partial action), optimizing communication bandwidth utilization while maintaining reliable data forwarding

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If simultaneous requests are sent to both store buffer and cache, then data retrieval is ensured, but computational effort increases

Engineering Contradiction:
Improvedata retrievalVSAvoidcomputational effort
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The prediction mechanism performs preliminary determination of whether a load will be satisfied by store buffer forwarding before initiating cache requests. This allows the system to send requests to the store buffer first and only send requests to the cache if needed, avoiding unnecessary communication and power consumption while ensuring data availability through predictive accuracy

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9367455B2Using predictions for store-to-load forwarding
Publication Date: 2016.06.14 ADVANCED MICRO DEVICES INC
  • US9367455B2 patent drawing
  • US9367455B2 patent drawing
  • US9367455B2 patent drawing

AI summary

The described embodiments include a core that uses predictions for store-to-load forwarding. In the described embodiments, the core comprises a load-store unit, a store buffer, and a prediction mechanism. During operation, the prediction mechanism generates a prediction that a load will be satisfied using data forwarded from the store buffer because the load loads data from a memory location in a stack. Based on the prediction, the load-store unit first sends a request for the data to the store buffer in an attempt to satisfy the load using data forwarded from the store buffer. If data is returned from the store buffer, the load is satisfied using the data. However, if the attempt to satisfy the load using data forwarded from the store buffer is unsuccessful, the load-store unit then separately sends a request for the data to a cache to satisfy the load.