Selective Neural Branch Prediction for Energy Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional branch prediction mechanisms, including both simple and complex neural predictors, suffer from inefficiencies due to over-utilization of resources and energy, as they apply neural branch predictors uniformly across all branch instructions without considering the disproportionate benefits they provide, leading to wasteful utilization and suboptimal performance.

Innovation Solution

Identify a subset of branch instructions from execution traces that benefit more from neural branch predictors than non-neural predictors, selectively using neural predictors for these instructions and non-neural predictors for others, with pre-trained weight vectors used as initial weights or static weights during runtime to optimize resource and energy usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If neural branch predictors are used for all branch instructions, then branch prediction accuracy is improved, but resource utilization becomes wasteful and energy consumption increases

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent segments the set of all branch instructions into two distinct subsets: (1) branch instructions that benefit from neural branch prediction, and (2) branch instructions that do not benefit significantly. This segmentation allows the system to apply neural branch predictors selectively only to the first subset, avoiding wasteful energy consumption on the second subset while maintaining high prediction accuracy where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making the branch prediction mechanism adaptive to individual branch instruction characteristics. Instead of using a uniform prediction approach for all branches, the system identifies specific local patterns in branch behavior and applies neural prediction only where these patterns indicate significant benefit, thereby optimizing the local quality of prediction resources allocation.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If neural branch predictors are used for all branch instructions, then branch prediction accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the branch instruction handling into two separate processing paths: one for instructions that benefit from neural prediction and another for those that do not. This segmentation reduces device complexity by avoiding the deployment of complex neural prediction mechanisms for all branches, instead using simpler prediction methods for the majority of instructions that do not require neural analysis.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by implementing neural branch prediction for only a portion of branch instructions rather than all of them. The system performs partial neural analysis based on identified benefits, avoiding the excessive complexity that would result from universal neural prediction implementation while still achieving significant accuracy improvements.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If neural branch predictors are used for all branch instructions, then branch prediction accuracy is improved, but area utilization increases

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidarea utilization
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent segments the branch instruction population to identify only those that require neural prediction capabilities. By doing so, the physical area required for neural branch predictor components is reduced significantly, as these components are instantiated or activated only for the specific subset of instructions that benefit from them, rather than being provisioned for all possible branch instructions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent optimizes area utilization by applying neural prediction resources locally only where needed. The system identifies specific branch instructions with beneficial prediction patterns and allocates neural predictor resources to handle only those cases, thereby minimizing the overall area requirement while maintaining high prediction accuracy for critical branches.

Inventive Principle:
Principle #3Local quality

4Loss of energy

If conventional branch prediction mechanisms are used, then resource utilization is efficient, but branch prediction accuracy is low

Engineering Contradiction:
Improveenergy efficiencyVSAvoidbranch prediction accuracy
Core Design Contradiction:
Loss of energyVSMeasurement precision

Solution Approach 1:

The patent introduces dynamic adaptability into the branch prediction system by enabling it to switch between different prediction mechanisms based on the characteristics of each branch instruction. The system dynamically identifies which instructions benefit from neural prediction and activates the appropriate prediction method accordingly, rather than using a static, one-size-fits-all approach.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters of the branch prediction system by adjusting which prediction mechanism is applied to which instructions. The system modifies its behavior based on identified patterns in branch instruction execution, changing parameters such as prediction method selection, training data selection, and resource allocation to optimize both accuracy and efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10372459B2Training and utilization of neural branch predictor
Publication Date: 2019.08.06 QUALCOMM INC
  • US10372459B2 patent drawing
  • US10372459B2 patent drawing
  • US10372459B2 patent drawing

AI summary

Systems and methods for branch prediction include identifying a subset of branch instructions from an execution trace of instructions executed by a processor. The identified subset of branch instructions have greater benefit from branch predictions made by a neural branch predictor than branch predictions made by a non-neural branch predictor. During runtime, the neural branch predictor is selectively used for obtaining branch predictions of the identified subset of branch instructions. For remaining branch instructions outside the identified subset of branch instructions, branch predictions are obtained from a non-neural branch predictor. Further, a weight vector matrix comprising weight vectors for the identified subset of branch instructions of the neural branch predictor is pre-trained based on the execution trace.