Processor Branch Predictor Controller Power Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Branch predictors in electronic devices are inefficient due to the unnecessary computational effort and electrical power consumption associated with generating multiple predictions for control transfer instructions, many of which are discarded, especially in repetitive program code execution.

Innovation Solution

A predictor controller manages a record of prediction functional blocks to selectively use only those that have previously made accurate predictions for specific control transfer instructions, reducing unnecessary work by disabling unused prediction functional blocks and conserving power.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple prediction functional blocks are used to generate predictions for control transfer instructions, then prediction accuracy is improved, but electrical power consumption and computational effort increase

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

Solution Approach 1:

The system dynamically adjusts the number of prediction functional blocks activated based on the characteristics of each control transfer instruction. The predictor controller selectively enables only the necessary prediction functional blocks for each CTI, transforming the static configuration into a dynamic one that adapts to specific prediction needs, thereby reducing unnecessary power consumption while maintaining accuracy.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different prediction functional blocks are selectively applied to different control transfer instructions based on their specific characteristics. Instead of uniformly activating all prediction blocks for all CTIs, the system applies prediction functionality locally and selectively where needed, optimizing the balance between accuracy and power consumption for each individual prediction scenario.

Inventive Principle:
Principle #3Local quality

2Reliability

If multiple prediction functional blocks generate predictions for each control transfer instruction, then prediction coverage is improved, but computational effort and processing time increase

Engineering Contradiction:
Improveprediction coverageVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system extracts and activates only the specific prediction functional blocks needed for each control transfer instruction, rather than having all blocks process every instruction. This selective extraction approach maintains comprehensive prediction coverage for different CTI types while removing unnecessary computational overhead, thereby improving processing throughput.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system applies partial action by activating only the necessary subset of prediction functional blocks for each CTI based on its characteristics. This avoids the excessive action of having all prediction blocks process every instruction, optimizing the balance between prediction coverage and processing efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If all prediction functional blocks are activated for every control transfer instruction, then prediction reliability is maintained, but electrical power consumption increases

Engineering Contradiction:
Improveprediction reliabilityVSAvoidwasted electrical power
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system transitions from a static activation model to a dynamic one where the predictor controller continuously adjusts which prediction functional blocks are active based on real-time analysis of control transfer instruction characteristics. This dynamic approach maintains prediction reliability by activating appropriate blocks while minimizing energy waste by deactivating unnecessary ones.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system discards the activation of prediction functional blocks that are not needed for specific control transfer instructions, recovering electrical power that would otherwise be wasted. The predictor controller identifies and discards unnecessary block activations while maintaining the necessary prediction reliability through selective block usage.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11442727B2Controlling prediction functional blocks used by a branch predictor in a processor
Publication Date: 2022.09.13 ADVANCED MICRO DEVICES INC
  • US11442727B2 patent drawing
  • US11442727B2 patent drawing
  • US11442727B2 patent drawing

AI summary

An electronic device includes a processor, a branch predictor in the processor, and a predictor controller in the processor. The branch predictor includes multiple prediction functional blocks, each prediction functional block configured for generating predictions for control transfer instructions (CTIs) in program code based on respective prediction information, the branch predictor configured to select, from among predictions generated by the prediction functional blocks for each CTI, a selected prediction to be used for that CTI. The predictor controller keeps a record of prediction functional blocks from which the branch predictor previously selected predictions for CTIs. The predictor controller uses information from the record for controlling which prediction functional blocks are used by the branch predictor for generating predictions for CTIs.