Data-Dependent Branch Prediction Using Pre-Computation Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing branch prediction mechanisms, particularly history-based predictors, perform poorly when branch instructions have data dependencies on unpredictable data values, leading to increased latency due to inefficient instruction fetching.

Innovation Solution

An apparatus and method that includes pre-computation circuitry to track data values and predict the outcome of data-dependent branch instructions before execution, using control circuitry to identify data-dependent occurrences and prediction circuitry to make accurate predictions based on tracked data values, potentially supplemented by history-based predictions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If history-based branch prediction is used, then branch prediction functionality is provided, but prediction accuracy deteriorates when branch instructions have data dependencies on unpredictable data values

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidhandling of data-dependent branches
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The pre-computation circuitry performs tracking operations to monitor data values and determines whether branch conditions will be satisfied before the branch instruction is actually executed. This preliminary determination allows the system to prepare prediction information in advance, improving accuracy for data-dependent branches that traditional history-based predictors cannot handle well.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If traditional branch prediction is used, then instruction fetching continues, but latency increases due to inefficient fetching when predictions are inaccurate

Engineering Contradiction:
Improveinstruction fetching efficiencyVSAvoidprocessing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The prediction circuitry uses the determinations from pre-computation circuitry to provide accurate prediction information back to the instruction fetching mechanism. This feedback loop ensures that instruction fetching is guided by reliable predictions, reducing latency caused by incorrect predictions and improving overall fetching efficiency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20260050443A1Predicting an outcome of a branch instruction
Publication Date: 2026.02.19 ARM LTD
  • US20260050443A1 patent drawing
  • US20260050443A1 patent drawing
  • US20260050443A1 patent drawing

AI summary

There is provided an apparatus comprising processing circuitry to perform processing operations. The processing circuitry is responsive to a branch instruction to determine whether a condition associated with the branch instruction is satisfied and, if so, to trigger a non-sequential change in the processing operations to an instruction at a target address. The apparatus is provided with control circuitry to identify when an occurrence of the branch instruction is a data dependent occurrence in which the condition has a dependency on a data value, the dependency satisfying a predetermined condition. The apparatus is provided with pre-computation circuitry to perform tracking operations to track the data value and to perform a determination, in advance of execution of the branch instruction, of whether the condition will be satisfied. The apparatus is provided with prediction circuitry to perform a data dependent prediction of an outcome of the branch instruction in dependence on the determination.