Value Prediction Circuitry Mispredict Signal Path

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The use of predicted result values in processing units leads to a microarchitectural dependent penalty due to mispredictions, especially when long-latency instructions like load instructions miss in cache levels, causing significant delays before actual result values are available and misprediction conditions can be determined.

Innovation Solution

A mechanism is introduced that includes a mispredict signal transmission path allowing the result producing structure to assert a mispredict signal before the actual result value is available, using a signature value indicative of the predicted result value to detect mispredictions and enable early correction of dependent instructions, thereby reducing the penalty associated with mispredicted values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If predicted result values are used to enable speculative execution of dependent instructions, then processing throughput is improved, but the penalty for mispredictions increases due to long latency in obtaining actual result values

Engineering Contradiction:
Improveprocessing throughputVSAvoidmisprediction penalty
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing value prediction before the actual result is available from long-latency operations. The value prediction circuitry generates predicted result values in advance, allowing dependent instructions to be speculatively executed without waiting for the actual result. This enables the processor to keep the pipeline full and maintain high throughput even when dealing with cache misses or other long-latency operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through a misprediction detection mechanism that compares the predicted result value with the actual result value when it becomes available. When a misprediction is detected, the system asserts a mispredict signal that triggers flushing of the speculative execution and re-execution with the correct value. This feedback loop allows the system to quickly correct errors and minimize the penalty associated with mispredictions.

Inventive Principle:
Principle #23Feedback

2Speed

If value prediction circuitry is implemented to maintain predicted result values, then execution of dependent instructions can proceed earlier, but the complexity of the processing unit increases

Engineering Contradiction:
Improveexecution speedVSAvoidprocessing unit complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the value prediction function into separate, dedicated circuitry that operates independently from the main execution pipeline. The value prediction circuitry maintains separate predicted result values and works in parallel with the actual execution units. This modular approach allows the prediction functionality to be added without significantly increasing the complexity of the core processing unit, as the prediction logic is segregated into its own specialized components.

Inventive Principle:
Principle #1Segmentation

3Productivity

If speculative execution is enabled using predicted values, then pipeline utilization is improved, but the risk of executing incorrect instructions increases

Engineering Contradiction:
Improvepipeline utilizationVSAvoidexecution correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback through a misprediction detection mechanism that compares the predicted result value with the actual result value when it becomes available. When a misprediction is detected, the system asserts a mispredict signal that triggers flushing of the speculative execution and re-execution with the correct value. This feedback loop allows the system to quickly correct errors and minimize the penalty associated with mispredictions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies beforehand cushioning by preparing the system to handle mispredictions before they occur. The misprediction detection mechanism is continuously monitoring the validity of predicted values, and the flush mechanism is pre-positioned to quickly invalidate and re-execute speculative instructions when a misprediction is detected. This preparatory arrangement ensures that when a misprediction occurs, the system can rapidly correct the error and restore correct execution without prolonged periods of incorrect operation.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS10719329B2Apparatus and method for using predicted result values
Publication Date: 2020.07.21 ARM LTD
  • US10719329B2 patent drawing
  • US10719329B2 patent drawing
  • US10719329B2 patent drawing

AI summary

An apparatus and method are provided for using predicted result values. The apparatus has a processing unit that comprises processing circuitry for executing a sequence of instructions, and value prediction circuitry for identifying a predicted result value for at least one instruction. A result producing structure is provided that is responsive to a request issued from the processing unit when the processing circuitry is executing a first instruction, to produce a result value for the first instruction and return that result value to the processing unit. While waiting for the result value from the result producing structure, the processing circuitry can be arranged to speculatively execute at least one dependent instruction using a predicted result value for the first instruction as obtained from the value prediction circuitry. The request issued from the processing unit includes a signature value indicative of the predicted result value, and the result producing structure references the signature value in order to detect whether a mispredict condition exists indicating that the predicted result value differs from the result value. The apparatus further provides a mispredict signal transmission path via which the result producing structure, when the mispredict condition is detected, can assert a mispredict signal for receipt by the processing unit prior to the result value being available to the processing unit. Such an approach can reduce the misprediction penalty associated with using a mispredicted result value.