Lookup Circuitry for Parallel Control Flow Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Control flow prediction in data processing faces inefficiencies when handling loops that span multiple blocks of instructions, as existing methods either require larger hardware and increased power consumption or lead to alignment issues and inefficiencies.
Innovation Solution
A data processing apparatus and method that uses lookup circuitry to provide prediction data for pairs of instruction blocks, allowing these blocks to collectively define a prediction block, with a single reference to the block used as an index for both prediction data sets, enabling parallel operation and reducing hardware size and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the size of instruction blocks is increased to achieve high bandwidth control flow prediction, then prediction bandwidth is improved, but alignment issues arise and efficiency decreases when loops span multiple blocks
Solution Approach 1:
The patent divides the instruction stream into multiple instruction blocks (first block and second block) that can be independently predicted. Each block has its own prediction data stored in separate lookup circuitry, allowing the system to handle loops that span across block boundaries by maintaining independent prediction states for each block while still achieving high bandwidth through parallel prediction operations.
2Productivity
If the number of input ports is increased to handle multiple instruction blocks, then control flow prediction capability is improved, but hardware size and power consumption increase
Solution Approach 1:
The patent merges the prediction operations for multiple instruction blocks by using a single shared lookup circuitry structure that receives a combined index formed from references to multiple blocks. This allows the system to generate predictions for both the first and second instruction blocks simultaneously using shared hardware resources, thereby improving prediction capability without proportionally increasing hardware size or power consumption.
3Measurement precision
If separate prediction data structures are used for each instruction block, then prediction accuracy is improved, but hardware resources and circuit size increase
Solution Approach 1:
The patent implements a universal lookup circuitry structure that serves multiple prediction functions simultaneously. The same lookup circuitry is used to generate prediction data for both the first instruction block and the second instruction block by accepting different index inputs. This multi-functional approach maintains prediction accuracy for each block while avoiding the need for separate dedicated prediction hardware for each block, thereby reducing overall circuit size.
Data Source
AI summary
A data processing apparatus is provided that includes lookup circuitry to provide first prediction data in respect of a first block of instructions and second prediction data in respect of a second block of instructions. First processing circuitry provides a first control flow prediction in respect of the first block of instructions using the first prediction data and second processing circuitry provides a second control flow prediction in respect of the second block of instructions using the second prediction data. The first block of instructions and the second block of instructions collectively define a prediction block and the lookup circuitry uses a reference to the prediction block as at least part of an index to both the first prediction data and the second prediction data.


