Event Counting Branch Prediction Circuitry Checkpoint Storage Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In out-of-order processing systems, the high storage requirements for state information associated with branch prediction components, particularly in speculative processing environments, make traditional branch prediction circuitry unattractive due to the need for significant checkpointing storage, which hampers performance.
Innovation Solution
The implementation of event counting prediction circuitry with separate training and active storage, where only state information from active entries is stored at checkpoints, reducing the overall storage requirements and allowing for efficient branch outcome predictions while maintaining confidence in event count values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional branch prediction circuitry is used in out-of-order processing systems, then branch outcome predictions can be made, but the storage requirements for state information at checkpoints become excessively large
Solution Approach 1:
The storage structure is segmented into two distinct parts: training storage for collecting and analyzing branch outcome behavior data, and active storage for maintaining only the current event count values needed for predictions and checkpointing. This segmentation allows the system to maintain prediction accuracy while reducing checkpointing storage requirements, as only active entry data needs to be saved at checkpoints rather than complete training histories
Solution Approach 2:
The invention extracts only the essential state information (event count values from active entries) that is necessary for restoring prediction functionality after a flush event, while leaving the training data in training storage to be discarded or retained independently. This extraction principle enables the system to maintain branch prediction capability without storing redundant training information in checkpointing storage
2Measurement precision
If event counting prediction circuitry with training storage is implemented, then accurate branch predictions can be made through training phases, but the overall storage requirements increase significantly
Solution Approach 1:
Storage is divided into training storage and active storage with distinct purposes. Training storage accumulates historical branch outcome data during training phases to determine accurate event count values, while active storage maintains only the finalized event count values needed for predictions. This segmentation allows high measurement precision in event count determination while limiting total storage usage to what is absolutely necessary for active prediction
Solution Approach 2:
Training data in training storage can be discarded after the training phase completes and event count values are transferred to active storage. The system recovers the essential prediction capability by retaining only active entries with their event count values, while optional recovery of training data can occur independently without impacting checkpointing storage requirements
Data Source
AI summary
An apparatus and method are provided for performing branch prediction. The apparatus has processing circuitry for executing instructions out-of-order with respect to original program order, and event counting prediction circuitry for maintaining event count values for branch instructions, for use in making branch outcome predictions for those branch instructions. Further, checkpointing storage stores state information of the apparatus at a plurality of checkpoints to enable the state information to be restored for a determined one of those checkpoints in response to a flush event. The event counting prediction circuitry has training storage with a first number of training entries, each training entry being associated with a branch instruction. The event counting prediction circuitry implements a training phase for each training entry during which it seeks to determine an event count value for the associated branch instruction based on branch outcome behaviour of the branch instruction observed for instances of execution of the branch instruction that have been committed by the processing circuitry. The event counting prediction circuitry further has access storage with a second number of active entries, where the second number is less than the first number. Each active entry is associated with a branch instruction for which an event count value has been successfully determined during the training phase. The event counting prediction circuitry is arranged to make branch outcome predictions for branch instructions having an active entry. At each checkpoint, state information for the active entries is stored to the checkpointing storage. This provides a particularly efficient form of event counting prediction circuitry that can be used in out-of-order systems, while reducing the amount of state information that needs to stored into the checkpointing storage at each checkpoint.


