Branch Prediction Circuitry Using Bit Subset Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current branch prediction techniques face inefficiencies in accurately predicting branch outcomes, leading to potential delays and pipeline flushes due to mispredictions, especially in repetitive loop structures like register parsing branches, where the branch outcome depends on specific bits of a register.

Innovation Solution

The proposed solution involves circuitry that stores multi-bit data items and indicator data, using prediction storage and generator circuitry to predict branch outcomes and update the indicator data to the next subset of bits in an ordered succession, enhancing prediction accuracy and handling mispredictions by maintaining confidence values and retention priorities in a table.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional branch prediction techniques are used, then the prediction process is simple, but prediction accuracy deteriorates leading to pipeline flushes and delays

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidprediction circuitry complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the branch prediction problem by dividing the multi-bit data item into different subsets of bits, where each subset is used for a specific prediction instance. The prediction storage is segmented into multiple entries, each storing a multi-bit data item and associated confidence data. This segmentation allows the system to track and predict branch outcomes based on specific bit patterns while maintaining overall system accuracy without requiring complete analysis of all bits simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-computing and storing confidence data associated with each predicted branch outcome before actual branch execution occurs. The prediction generator circuitry generates predictions ahead of time using subsets of bits from multi-bit data items, and the confidence data is prepared in advance in the prediction storage. This allows the system to have prediction results ready before pipeline flushes would occur, reducing delays.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If more prediction data is stored to improve accuracy, then prediction reliability improves, but storage requirements and complexity increase

Engineering Contradiction:
Improveprediction reliabilityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary confidence data from complete prediction information. Instead of storing and processing all possible branch prediction data, the system extracts and stores only confidence values associated with specific subsets of bits. This extraction approach maintains prediction reliability by keeping essential confidence information while reducing the quantity of stored data compared to storing complete prediction histories for all possible branch scenarios.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by using only a subset of bits from multi-bit data items for each prediction instance rather than analyzing all bits. The indicator data specifies which subset of bits to use, allowing the system to make predictions with partial information. This partial approach to bit analysis reduces storage requirements while maintaining sufficient prediction reliability for effective branch forecasting.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If branch prediction runs ahead of execution to avoid starvation, then instruction fetch efficiency improves, but misprediction penalties increase

Engineering Contradiction:
Improveinstruction fetch efficiencyVSAvoidmisprediction penalty
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements feedback by using confidence data to guide prediction decisions. The prediction generator circuitry uses stored confidence data associated with multi-bit data items to determine whether to follow a predicted branch outcome. This feedback mechanism allows the system to make more informed predictions ahead of execution, improving instruction fetch efficiency while reducing misprediction penalties by relying on historically accurate confidence values from previous branch executions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11461102B2Circuitry and method
Publication Date: 2022.10.04 ARM LTD
  • US11461102B2 patent drawing
  • US11461102B2 patent drawing
  • US11461102B2 patent drawing

AI summary

Circuitry comprises prediction storage to store, for a given branch operation, a multi-bit data item and indicator data defining a subset of bits of the multi-bit data item, the subset being one of an ordered succession of different subsets of bits of the multi-bit data item; and prediction generator circuitry to generate a predicted branch outcome for the given branch operation in dependence upon the subset of bits defined by the indicator data and, in response to generation of the predicted branch outcome, to change the subset of bits defined by the indicator data to a next subset in the ordered succession of subsets.