Branch Predictor Triggering for Multi-Block Prediction
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Measurement precision
If branch predictors become larger to improve prediction accuracy, then prediction accuracy is improved, but prediction speed deteriorates
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
2Productivity
If branch prediction is performed for multiple blocks simultaneously to improve productivity, then productivity is improved, but prediction speed deteriorates
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
Data Source
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


