Load-Store Dependence Predictor Using Branch Paths and Store Distance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

State-of-the-art memory dependence predictors in out-of-order processors suffer from performance gaps due to inaccurate predictions and high storage requirements, primarily because they do not effectively leverage context information and use suboptimal history lengths, leading to unnecessary load stalls and increased computational resources.

Innovation Solution

A load-store dependence predictor is trained using branch path history and store distance information to identify the minimum history length necessary for precise predictions, utilizing set-associative prediction tables to minimize aliasing and reduce computational power.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If predictors use longer history lengths to improve prediction accuracy, then prediction accuracy is improved, but storage requirements and device complexity increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidstorage requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by using different history lengths for different load instructions based on their specific characteristics. Instead of using a uniform long history for all loads, the predictor determines the minimum necessary history length for each individual load instruction, thereby achieving accurate predictions while minimizing storage requirements.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of history length dynamically based on the specific dependence pattern being predicted. By adjusting the history length parameter to match the actual distance between dependent instructions, the system achieves high prediction accuracy without unnecessarily increasing storage capacity.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If predictors link loads to multiple stores (Store Sets) to improve coverage, then more dependences can be detected, but false positives increase causing unnecessary load stalls

Engineering Contradiction:
Improvedependence detection coverageVSAvoidfalse positive rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent extracts only the necessary information for accurate prediction by linking each load to a single most relevant store based on program order and distance metrics. This selective approach eliminates spurious associations with unrelated stores, reducing false positives while maintaining effective dependence detection.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses feedback from actual execution outcomes to refine predictions. By monitoring whether predicted dependences actually occur and adjusting predictions accordingly, the system learns to distinguish true dependences from false positives, improving reliability over time.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If predictors track detailed branch history to improve context sensitivity, then prediction accuracy improves, but the number of stored stories increases drastically

Engineering Contradiction:
Improvecontext sensitivityVSAvoidnumber of stored stories
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies partial action by tracking only the essential branch history information needed for accurate prediction rather than complete detailed histories. By focusing on the critical path between dependent instructions and tracking only relevant branch outcomes, the system achieves context sensitivity without exponentially increasing storage requirements.

Inventive Principle:
Principle #16Partial or excessive action

4Device complexity

If predictors use shorter history lengths to reduce storage, then device complexity decreases, but prediction accuracy deteriorates

Engineering Contradiction:
Improvestorage requirementsVSAvoidprediction accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent makes the history length dynamic rather than static. The system adjusts the history length for each prediction based on the specific characteristics of the instructions involved, such as the distance between load and store operations. This dynamic adaptation allows the system to use minimal storage while maintaining high accuracy for each specific case.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP4610818A1Methods for training a load-store dependence predictor and for predicting memory dependence based on the path between dependent instructions and a processor associated with them
Publication Date: 2025.09.03 UNIVERSITY OF MURCIA
  • EP4610818A1 patent drawingFigure 1
  • EP4610818A1 patent drawingFigure 2~3
  • EP4610818A1 patent drawingFigure 4

AI summary

The disclosure refers to a computer implemented method for training a load-store dependence predictor. The load-store dependence predictor is associated with an out-of-order processor and comprises at least one prediction table. The method comprises identifying a dependence between a particular load instruction and a particular store instruction; determining a history length from the particular store instruction to the particular load instruction, the history length being the number of branches between the particular load instruction and the particular store instruction; determining a distance from the particular store instruction to the particular load instruction, the distance being the number of store instructions between the particular load instruction and the particular store instruction; and storing the dependence identified in one entry of the at least one prediction table together with context information associated with the history length and the distance previously determined.