Branch Predictor Lookup Filtering for Power Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern branch predictors in data processing systems often perform unnecessary table lookups, leading to increased power consumption and reduced efficiency, as not all branch prediction tables contribute to the predicted outcome for every block of instructions.
Innovation Solution
Implementing lookup filtering information to selectively determine which branch prediction tables to look up based on the current block, suppressing lookups for tables that are unlikely to yield useful information, thereby improving processing performance and power efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all branch prediction tables are looked up for every block of instructions, then prediction accuracy is maintained, but power consumption increases and processing efficiency decreases
Solution Approach 1:
The patent extracts and removes unnecessary table lookup operations from the branch prediction process. By identifying that not all branch prediction tables contribute to the predicted outcome for every block of instructions, the system selectively performs lookups only in relevant tables, thereby reducing power consumption while preserving prediction accuracy for the actual branch instructions being executed.
Solution Approach 2:
The patent applies partial action by performing table lookups selectively rather than comprehensively. Instead of looking up all branch prediction tables for every block of instructions, the system performs lookups only in tables that are likely to yield useful information for the current block, reducing unnecessary operations and power consumption while maintaining sufficient prediction accuracy.
2Reliability
If all branch prediction tables are looked up for every block of instructions, then complete prediction information is obtained, but processing efficiency and speed decrease
Solution Approach 1:
The patent extracts unnecessary table lookup operations from the processing pipeline. By identifying and removing lookups in tables that will not contribute to the prediction outcome for the current block of instructions, the system reduces the total number of operations performed, thereby improving processing efficiency and speed while maintaining prediction completeness for relevant tables.
Solution Approach 2:
The patent applies partial action by performing only the necessary subset of table lookups required for accurate branch prediction. Instead of executing all possible lookups, the system selectively performs lookups in tables that are relevant to the current block, reducing processing overhead and improving efficiency while obtaining sufficient prediction information.
3Use of energy by moving object
If lookup filtering information is implemented to selectively determine which tables to look up, then power consumption is reduced, but device complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-computing and storing lookup filtering information that indicates which branch prediction tables are likely to yield useful information for given blocks of instructions. This filtering information is prepared in advance and used to guide subsequent lookup operations, reducing power consumption without requiring complex real-time decision logic during the actual branch prediction process.
Data Source
AI summary
A branch predictor provides a predicted branch instruction outcome for a current block of at least one instruction. The branch predictor comprises branch prediction tables to store branch prediction entries providing branch prediction information; lookup circuitry to perform, based on indexing information associated with the current block, a table lookup in a looked up subset of the branch prediction tables; and prediction generating circuitry to generate the predicted branch instruction outcome for the current block based on the branch prediction information in the branch prediction entries looked up in the looked up subset of branch prediction tables. The looked up subset of branch prediction tables is selected based on lookup filtering information obtained for the current block. Lookups to tables other than the looked up subset are suppressed.


