Tagged Geometric Length Branch Predictor Storage Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems face inefficiencies due to the complexity and resource-intensive nature of branch prediction mechanisms, which require generating multiple branch predictions in parallel, leading to increased size, cost, power consumption, and complexity.
Innovation Solution
A branch prediction apparatus utilizing tag generation circuitry to create common query tag values for blocks of instructions read in parallel, coupled with prediction storage circuitry that includes multiple prediction storage lines with shared tag values, branch predictions, and validity indicators, allowing for efficient storage and prediction of branch outcomes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple branch predictions are generated in parallel for blocks of instructions, then prediction accuracy and processing efficiency are improved, but the size, cost, power consumption, and complexity of the branch prediction mechanism increase
Solution Approach 1:
The patent merges the tag storage functionality into a unified structure where a single tag generation unit serves multiple prediction storage lines. Multiple branch predictions share common tag values and validity indicators, consolidating what would otherwise be separate prediction mechanisms into an integrated system that reduces overall complexity while maintaining parallel prediction capabilities
Solution Approach 2:
The prediction storage lines are designed with multi-functionality, where each storage line can handle multiple branch predictions with different offset positions using the same tag value. The validity indicators serve multiple purposes by indicating both the validity of the tag match and the validity of specific offset positions, allowing a single mechanism to perform what would traditionally require multiple dedicated units
2Reliability
If multiple branch predictions are generated in parallel for blocks of instructions, then prediction accuracy is improved, but the size and resource requirements of the system increase
Solution Approach 1:
The patent combines multiple prediction storage lines into a compact array structure where shared tag values and validity indicators are stored once and referenced by multiple offset positions. This merging approach maintains the ability to store multiple branch predictions while significantly reducing the total storage area required compared to having separate storage for each prediction
Solution Approach 2:
The patent introduces an offset position dimension to organize multiple branch predictions. Instead of storing predictions in a flat structure that requires separate entries for each prediction, the offset position creates a hierarchical organization where a single tag entry can serve multiple offset positions, effectively using dimensional organization to reduce space requirements while maintaining prediction accuracy
3Speed
If multiple branch predictions are generated in parallel for blocks of instructions, then processing speed is improved, but power consumption increases
Solution Approach 1:
The patent merges the tag generation and validity indication functionality into a shared resource that serves multiple prediction storage lines. By having a single tag generation unit and shared validity indicators rather than dedicated units for each prediction line, the system maintains parallel processing speed while reducing the number of active circuit components, thereby lowering power consumption
Data Source
AI summary
A tagged geometric length (TAGE) branch predictor incorporates multiple prediction tables. Each of these prediction tables has prediction storage lines which store a common stored TAG value and a plurality of branch predictions in respect of different offset positions within a block of program instructions read in parallel. Each of the branch prediction has an associated validity indicator. Update of predictions stored may be made by a partial allocation mechanism in which a TAG match occurs and a branch storage line is partially overwritten or by full allocation in which no already matching TAG victim storage line can be identified and instead a whole prediction storage line is cleared and the new prediction stored therein.


