Store Dependence Predictor Skip Me Bit Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors rely on load-based dependence prediction, which can lead to performance bottlenecks due to conservative waiting for store address resolution, even when no conflict exists between store and load operations, limiting speculative execution and completion of loads.

Innovation Solution

Implementing a store dependence predictor (SDP) that sets a 'skip me' bit in the store buffer entries, allowing younger loads to speculatively execute ahead of stores without resolved addresses, and using a content addressable memory array to train and verify predictions based on load hits and misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If load-based dependence prediction is used to allow speculative load execution, then load completion speed is improved, but false predictions cause incorrect data loading and performance degradation

Engineering Contradiction:
Improveload completion speedVSAvoidprediction accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements feedback by having loads verify predictions against completed younger loads after speculative execution. This feedback mechanism allows the system to learn from past predictions and improve future accuracy while maintaining the speed benefit of speculative execution.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The store dependence predictor performs preliminary action by predicting store address resolution status before load execution. This allows loads to speculate ahead of stores without resolved addresses, improving load completion speed while the predictor continuously refines its accuracy through feedback.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If conservative waiting for store address resolution is implemented, then prediction reliability is improved, but load execution time increases and processor performance deteriorates

Engineering Contradiction:
Improveprediction reliabilityVSAvoidload execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The store dependence predictor performs preliminary prediction of store address resolution status before loads need to wait for address resolution. This preliminary action allows loads to execute speculatively without conservative waiting, reducing execution time while maintaining reliability through continuous verification.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements skipping by allowing loads to rush through stores without resolved addresses when the predictor indicates no conflict. This eliminates unnecessary waiting time while the feedback mechanism ensures correctness is maintained through verification with completed stores.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Reliability

If store address resolution is required before load execution, then data correctness is ensured, but processor throughput decreases due to blocking

Engineering Contradiction:
Improvedata correctnessVSAvoidprocessor throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The store dependence predictor performs preliminary prediction before load execution, determining whether stores with unresolved addresses will conflict. This allows loads to execute without waiting for address resolution when safe, improving throughput while data correctness is maintained through verification with completed stores.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables loads to skip over stores without resolved addresses when the predictor indicates no potential conflict. This rushing through mechanism eliminates blocking and improves processor throughput, while correctness is ensured through the feedback verification process with completed younger loads.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS9619750B2Method and apparatus for store dependence prediction
Publication Date: 2017.04.11 INTEL CORP
  • US9619750B2 patent drawing
  • US9619750B2 patent drawing
  • US9619750B2 patent drawing

AI summary

An apparatus and method for store dependence prediction is described. For example, one embodiment of the invention includes a processor comprising a store buffer for buffering store operations prior to completion, the store operations to store data to a memory hierarchy; and a store dependence predictor to predict whether load operations should be permitted to speculatively skip over each store operation and responsively setting an indication within an entry associated with each store operation in the store buffer; wherein a load operation checks the indication in the store buffer to determine whether to speculatively execute ahead of each store operation.