Call-Path-Indexed Branch Prediction Structure
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing branch prediction techniques struggle to accurately predict branch outcomes due to aliasing issues where branches called from different locations in a program are mapped to the same entry in branch prediction structures, leading to reduced prediction accuracy.
Innovation Solution
The use of call path tracking information to index branch prediction structures, allowing for the differentiation of branch instructions based on their call paths, thereby improving prediction accuracy by using a call-path-indexed branch prediction structure that updates its index value based on call path tracking information stored in a call path tracking element.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional branch prediction structures are used, then the device complexity is low, but branch prediction accuracy deteriorates due to aliasing issues
Solution Approach 1:
The patent introduces call path tracking information as an additional dimension for indexing branch prediction structures. Instead of using only traditional indexing methods, the system now uses multiple dimensions including call path information, which allows differentiation of branches called from different locations without significantly increasing overall structural complexity
Solution Approach 2:
The branch prediction structure is segmented into multiple indexed structures, with at least one being call-path-indexed. This segmentation allows different branches to be organized into separate groups based on their call path characteristics, reducing aliasing between unrelated branches while maintaining manageable complexity through modular organization
2Measurement precision
If call path tracking is implemented, then aliasing is reduced and prediction accuracy improves, but device complexity increases
Solution Approach 1:
The call path tracking element serves multiple functions: it tracks call path information for indexing branch prediction structures, and can potentially be used for other prediction purposes. This multi-functionality justifies the added complexity by providing multiple benefits from a single structural addition
Solution Approach 2:
The system changes the indexing parameters of branch prediction structures by incorporating call path tracking information. This parameter change allows the same basic structure to achieve better accuracy without requiring fundamentally new complex architectures
Data Source
AI summary
An apparatus comprises a branch predictor to predict an outcome of a branch instruction to be processed by processing circuitry, based on branch prediction state information stored in one or more branch prediction structures, and a call path tracking element to store call path tracking information, where in response to a procedure calling instruction processed by the processing circuitry, the call path tracking information is updated depending on at least a portion of an address associated with the procedure calling instruction. The one or more branch prediction structures include at least one call-path-indexed branch prediction structure which is indexed based on an index value which depends on a portion of the call path tracking information stored in the call path tracking element.


