Biased Conditional Instruction Prediction to Reduce Re-Fetch Penalties
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing processors face inefficiencies and performance degradation due to mispredictions of biased control transfer instructions, which require re-fetching instructions from correct target addresses, leading to additional delays and reduced efficiency.
Innovation Solution
Implementing a bias prediction circuit to determine whether a control transfer instruction is biased true or biased false, allowing it to bypass the more complex instruction prediction circuit, thereby reducing the workload and improving efficiency by speculatively processing biased instructions without unnecessary secondary predictions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a control transfer instruction is mis-predicted, then speculative work must be discarded and instructions must be re-fetched from correct target addresses, but this leads to additional delays and reduced processor efficiency
Solution Approach 1:
The patent segments the control transfer instruction processing by separating biased control transfer instructions from regular control transfer instructions. A bias detection unit specifically identifies biased instructions (those with predictable bias patterns like always-taken or always-not-taken branches), allowing them to be processed through a simplified path that bypasses the complex instruction prediction circuit, thereby reducing misprediction penalties for this specific segment of instructions.
Solution Approach 2:
The patent introduces a bias detection unit as an intermediary component between the control transfer instruction and the instruction prediction circuit. This intermediary unit detects the bias characteristic of control transfer instructions and directs them appropriately - biased instructions bypass the prediction circuit while non-biased instructions undergo normal prediction, thus reducing overall misprediction penalties.
2Reliability
If a processor implements a complex instruction prediction circuit to improve prediction accuracy, then prediction reliability improves, but the device complexity and processing overhead increase
Solution Approach 1:
The patent applies segmentation by dividing control transfer instructions into two categories: biased and non-biased. The bias detection unit identifies biased instructions using simple criteria (checking if the branch target is predictable), allowing these to bypass the complex instruction prediction circuit entirely. Only non-biased instructions require the full prediction circuit, thereby reducing overall device complexity while maintaining prediction accuracy for the majority of instructions.
Solution Approach 2:
The patent extracts biased control transfer instructions from the regular instruction stream through the bias detection unit. By taking out these predictable instructions and processing them through a simplified path that bypasses the complex instruction prediction circuit, the system reduces the workload and complexity of the prediction circuit while maintaining high prediction accuracy for the remaining instructions.
3Productivity
If the processor processes multiple biased control transfer instructions and mispredictions in parallel using wide and deep execution pipelines, then productivity improves, but the difficulty of detecting and managing mispredictions increases
Solution Approach 1:
The patent introduces a bias detection unit as an intermediary that processes control transfer instructions before they enter the execution pipelines. This unit detects biased instructions and directs them through a simplified processing path, reducing the number of mispredictions that need to be managed in parallel. The intermediary effectively filters and categorizes instructions, making misprediction management less complex even in wide and deep pipelines.
Solution Approach 2:
The patent performs preliminary action by detecting the bias characteristic of control transfer instructions before they are dispatched to execution pipelines. The bias detection unit prepares instructions by identifying which ones will bypass the prediction circuit, allowing the execution units to process multiple instructions in parallel with reduced misprediction overhead, thereby simplifying misprediction management while maintaining high throughput.
Data Source
AI summary
A processor may include a conditional instruction prediction tracking circuit. During fetch of a conditional instruction from memory to an instruction cache of the processor, the conditional instruction prediction tracking circuit may predict whether the conditional instruction is biased. Responsive to a prediction that the conditional instruction is biased, the conditional instruction prediction tracking circuit may cause the conditional instruction to be executed according to the predicted bias. Sometimes the conditional prediction tracking circuit may cause the conditional instruction to be re-coded such that it may be executed as an unconditional instruction.


