Register-State Correlation Branch Prediction for Fewer Mispredictions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing branch prediction mechanisms struggle with accuracy due to the significant variation in register operand values between the time of prediction and execution, leading to frequent pipeline flushes and performance degradation.

Innovation Solution

A data processing apparatus that stores sampled register state and uses a correlation prediction table to make predictions based on functions of register state correlated with branch outcomes, leveraging opportunities where the prediction and execution stages are closely synchronized, such as after a pipeline flush.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional branch prediction mechanisms are used, then the system can execute instructions speculatively, but prediction accuracy deteriorates due to register value variation between prediction and execution

Engineering Contradiction:
Improveinstruction execution throughputVSAvoidbranch prediction accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary sampling of register values at the prediction stage, before the branch instruction is executed. This allows the prediction mechanism to capture the actual register state that will be used during execution, rather than relying on stale or estimated values. The sampled register values are stored in a buffer and made available to the prediction logic, enabling accurate correlation-based predictions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the actual branch outcome is compared with the predicted outcome, and this information is used to update the correlation prediction table. The system learns from past predictions and adjusts its correlation models accordingly, improving prediction accuracy over time. The feedback loop continuously refines the relationship between sampled register values and branch outcomes.

Inventive Principle:
Principle #23Feedback

2Productivity

If speculative execution is enabled to improve performance, then instruction throughput increases, but pipeline flush frequency increases due to incorrect predictions

Engineering Contradiction:
Improveinstruction throughputVSAvoidpipeline flush overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces traditional mechanical branch prediction mechanisms (such as simple pattern recognizers or tournament predictors) with a correlation-based prediction system that uses actual register value sampling. This substitution enables more accurate predictions by directly observing the relationship between register state and branch outcome, thereby reducing pipeline flushes and maintaining higher instruction throughput.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If register state sampling is performed frequently to improve prediction accuracy, then prediction reliability improves, but hardware complexity and resource usage increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidsampling infrastructure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes the register file and sampling infrastructure serve multiple functions: they are used not only for normal instruction execution but also for prediction purposes. By sampling register values that are already being accessed for execution, the system avoids duplicating sampling hardware and leverages existing resources for dual purposes, thereby reducing overall hardware complexity.

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

Solution Approach 2:

The patent changes the parameter being measured from abstract branch history patterns to concrete register value correlations. Instead of tracking complex historical patterns, the system samples actual register values and correlates them with branch outcomes. This parameter change simplifies the prediction model while improving accuracy, as register values are directly observable and have clear semantic meaning.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12405800B2Branch prediction based on a predicted confidence that a corresponding function of sampled register state correlates to a later branch instruction outcome
Publication Date: 2025.09.02 ARM LTD
  • US12405800B2 patent drawing
  • US12405800B2 patent drawing
  • US12405800B2 patent drawing

AI summary

An apparatus comprises sampled state storage to store sampled values of at least one register operand sampled at a sampling point in program flow, and a correlation prediction table to store at least one correlation prediction entry, each correlation prediction entry providing at least one confidence indication for a corresponding branch instruction, and each confidence indication indicating a likelihood that a corresponding function of register state sampled at the sampling point correlates to a branch outcome for the corresponding branch instruction. The apparatus comprises prediction circuitry to make a prediction of a branch outcome for a particular branch instruction based on performing a particular function of register state sampled at the sampling point, the particular function corresponding to a confidence indication, meeting a prediction criterion, in a corresponding entry of the correlation prediction table.