Load-Path Branch Prediction for Memory-Dependent Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional branch predictors fail to accurately predict memory-dependent branch instructions due to poor correlation with global and local branch history, branch path history, and branch target history, leading to inefficiencies in pipeline processing.

Innovation Solution

Utilize load-path history as context information for branch prediction by indexing a branch identification table with the program counter value of the branch instruction and selecting a prediction counter based on load-path history and confidence values to predict memory-dependent branch instructions early in the pipeline.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional branch predictors use global and local branch history, branch path history, and branch target history for prediction, then the prediction mechanism is simple and easy to implement, but the accuracy deteriorates for memory-dependent branch instructions

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidprediction mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces load-path history as an intermediary mechanism between memory operations and branch prediction. Instead of directly using conventional branch history, the system uses the history of load instructions (load-path) as a mediator to predict memory-dependent branches, resolving the contradiction by adding a new predictive dimension without replacing existing mechanisms

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The branch prediction system is enhanced to serve multiple functions: it continues to use conventional branch history for simple branches while simultaneously incorporating load-path history for memory-dependent branches. This multi-functional approach allows the same prediction mechanism to handle different branch types effectively, improving overall accuracy without requiring separate prediction systems

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

2Productivity

If the processor waits until condition evaluation is complete before determining branch direction, then prediction accuracy is high, but pipeline performance deteriorates due to stalling

Engineering Contradiction:
Improvepipeline processing speedVSAvoidbranch prediction accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary branch direction determination by using load-path history to predict the outcome of memory-dependent branches before the actual condition evaluation is complete. This allows the pipeline to proceed speculatively in the predicted direction, avoiding stalls while maintaining high accuracy through the use of historical load path information

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the actual branch outcome is used to update and refine the load-path history and prediction counters. This feedback loop allows the system to learn from previous predictions and improve accuracy over time, enabling speculative execution to become increasingly reliable

Inventive Principle:
Principle #23Feedback

3Reliability

If speculative instructions are flushed upon misprediction, then execution correctness is maintained, but resource wastage increases

Engineering Contradiction:
Improveexecution correctnessVSAvoidresource wastage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The prediction system serves itself by using the actual branch outcome to automatically update prediction counters and load-path history without external intervention. This self-service mechanism continuously improves prediction accuracy, reducing the frequency of mispredictions and the associated resource wastage from flushing speculative instructions

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3853718B1Branch prediction based on load-path history
Publication Date: 2026.01.28 QUALCOMM INC
  • EP3853718B1 patent drawingFigure 1
  • EP3853718B1 patent drawingFigure 2
  • EP3853718B1 patent drawingFigure 3

AI summary

Branch prediction methods and systems include, for a branch instruction fetched by a processor, indexing a branch identification (ID) table based on a function of a program counter (PC) value of the branch instruction, wherein each entry of the branch ID table comprises at least a tag field, and an accuracy counter. For a tag hit at an entry indexed by the PC value, if a value of the corresponding accuracy counter is greater than or equal to zero, a prediction counter from a prediction counter pool is selected based on a function of the PC value and a load-path history, wherein the prediction counters comprise respective confidence values and prediction values. A memory-dependent branch prediction of the branch instruction is assigned as the prediction value of the selected prediction counter if the associated confidence value is greater than zero, while branch prediction from a conventional branch predictor is overridden.