Branch Predictor Triggering for Multi-Block Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As branch predictors become larger, they face speed issues in providing predictions for blocks of instructions before they are needed, especially when predicting for multiple blocks simultaneously, leading to potential delays in processor cycles.

Innovation Solution

A data processing apparatus with receive circuitry and branch prediction circuitry that uses a trigger block to initiate predictions for subsequent or later blocks, employing global-history based predictors like TAGE or perceptron, which consider branch histories from contiguous blocks to optimize predictions, and includes track, misprediction recovery, and update circuitry to manage prediction modes and correct mispredictions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If branch predictors become larger to improve prediction accuracy, then prediction accuracy is improved, but prediction speed deteriorates

Engineering Contradiction:
Improveprediction accuracyVSAvoidprediction speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent performs branch prediction for multiple future blocks in advance before they are actually executed. When a trigger block is identified, the predictor proactively generates predictions for subsequent blocks (1-taken, 2-taken, etc.) so that predictions are ready before the blocks reach the execution stage, eliminating waiting delays while maintaining accuracy through the use of global history information

Inventive Principle:
Principle #10Preliminary action

2Productivity

If branch prediction is performed for multiple blocks simultaneously to improve productivity, then productivity is improved, but prediction speed deteriorates

Engineering Contradiction:
Improveprediction throughputVSAvoidprediction speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent segments the branch prediction task into multiple independent prediction streams (1-taken mode, 2-taken mode, etc.), where each stream handles predictions for blocks at different distances from the trigger block. This segmentation allows parallel processing of multiple blocks without causing resource contention, as each prediction mode operates with its own dedicated prediction logic and history tracking

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11915005B1Branch predictor triggering
Publication Date: 2024.02.27 ARM LTD
  • US11915005B1 patent drawing
  • US11915005B1 patent drawing
  • US11915005B1 patent drawing

AI summary

A data processing apparatus includes receive circuitry that receives an indication of a trigger block of instructions. Branch prediction circuitry provides, in response to the trigger block of instructions, branch predictions in respect of a branch within: a subsequent block of instructions subsequent to the trigger block of instructions in execution order, when in a 1-taken mode of operation and a later block of instructions subsequent to the subsequent block of instructions in execution order, when in a 2-taken mode of operation