Next Branch Table Circuitry for Early Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing systems with deep pipelines, branch prediction circuitry faces bottlenecks due to the time taken to return predictions after identifying branch instructions, which increases complexity and reduces speed, especially since branch addresses are unknown until identified.
Innovation Solution
The implementation of next branch table circuitry that stores and provides the next branch instruction address before it is identified, allowing branch prediction to commence earlier and improving prediction accuracy by combining with history values, and using hash values to manage predictions in parallel or series within the branch prediction circuitry.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If branch prediction circuitry waits for instruction decoding to identify branch instructions, then prediction accuracy is maintained, but prediction speed is reduced and processing bottleneck occurs
Solution Approach 1:
The next branch table circuitry performs preliminary action by storing and providing next branch instruction addresses before the instruction decoding circuitry identifies them as branch instructions. This allows the branch prediction circuitry to start prediction operations earlier, reducing the time bottleneck while maintaining accuracy through proper address-based prediction.
2Reliability
If branch prediction circuitry size and complexity are increased to improve accuracy, then prediction accuracy improves, but device complexity increases and speed of operation decreases
Solution Approach 1:
The next branch table circuitry acts as an intermediary between the instruction decoding circuitry and the branch prediction circuitry. It pre-computes and stores next branch addresses, allowing the prediction circuitry to operate with simpler logic by receiving ready-to-use address information rather than waiting for branch identification during decoding.
3Reliability
If branch prediction is performed after branch instruction identification, then prediction reliability is ensured, but processing time is increased
Solution Approach 1:
The system performs preliminary action by having the next branch table circuitry prepare and provide next branch instruction addresses before the current branch instruction is fully decoded and identified. This enables the branch prediction circuitry to initiate prediction operations in advance, improving throughput while maintaining reliability through accurate address-based prediction.
Data Source
AI summary
A data processing system2 is provided with branch prediction circuitry 20 for performing branch prediction operations. Next branch table circuitry 22 stores data identifying from a given branch instruction what will be the address of the next branch instruction to be encountered within the program flow. This next branch instruction address is supplied to the branch prediction circuitry 20 which uses it to form its prediction prior to that next branch instruction being identified as such by the instruction decoder 16. This permits branch prediction to commence earlier in the branch prediction circuitry 20 than would otherwise be the case.


