Branch Predictor Lookup Filtering for Power Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprediction accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improveprediction completenessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improvepower consumptionVSAvoidcontrol logic complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11138014B2Branch predictor
Publication Date: 2021.10.05 ARM LTD
  • US11138014B2 patent drawing
  • US11138014B2 patent drawing
  • US11138014B2 patent drawing

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.