Processor Control Word Prediction for Superscalar Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In superscalar processors, dependencies between instructions limit pipeline utilization, and control word changes in SSE and x87 instructions lead to performance delays as dependent instructions wait for the new control word, making prediction of control word changes challenging due to their dependency on both the calling and changing instructions.

Innovation Solution

An apparatus and method for predicting control word changes, allowing speculative processing of dependent instructions using a predicted control word, with execution units comparing the predicted and actual control words, and reprocessing dependent instructions when a mismatch occurs, and updating the prediction system to improve accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dependent instructions wait for control word change completion, then control word accuracy is ensured, but processor throughput decreases

Engineering Contradiction:
Improvecontrol word accuracyVSAvoidprocessor throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by predicting the control word value before the CWC instruction completes execution. The prediction mechanism determines the new control word in advance, allowing dependent instructions to be issued and executed speculatively without waiting for the actual CWC instruction to finish, thus maintaining throughput while ensuring eventual accuracy through validation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by validating the predicted control word against the actual control word after the CWC instruction completes. If the prediction is correct, the speculatively executed instructions are committed. If incorrect, the dependent instructions are re-executed with the correct control word, ensuring reliability while minimizing throughput impact.

Inventive Principle:
Principle #23Feedback

2Productivity

If speculative execution is used, then processor throughput increases, but misprediction recovery complexity increases

Engineering Contradiction:
Improveprocessor throughputVSAvoidmisprediction recovery mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses copying by creating a predicted control word that mirrors what the actual control word will be. This copy allows the prediction mechanism to speculatively execute dependent instructions with the copied control word value, simplifying the recovery process since the validation only requires comparing two values rather than complex state analysis.

Inventive Principle:
Principle #26Copying

3Loss of time

If control word prediction is implemented, then dependent instruction latency is reduced, but prediction accuracy becomes more difficult to achieve

Engineering Contradiction:
Improvedependent instruction latencyVSAvoidprediction accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The prediction mechanism performs preliminary determination of the control word value based on available information before the CWC instruction completes. This allows the system to reduce latency by issuing dependent instructions early, while the subsequent validation step ensures accuracy by comparing the predicted value with the actual result.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8819397B2Processor with increased efficiency via control word prediction
Publication Date: 2014.08.26 ADVANCED MICRO DEVICES INC
  • US8819397B2 patent drawing
  • US8819397B2 patent drawing
  • US8819397B2 patent drawing

AI summary

Methods and apparatuses are provided for increased efficiency in a processor via control word prediction. The apparatus comprises an operational unit capable of determining whether an instruction will change a first control word to a second control word for processing dependent instructions. Execution units process the dependent instructions using a predicted control word and compare the second control word to the predicted control word. A scheduling unit causes the execution units to reprocess the dependent instructions when the predicted control word does not match the second control word. The method comprises determining that an instruction will change a first control word to a second control word and processing the dependent instructions using a predicted control word. The second control word is compared to the predicted control word and the dependent instructions are reprocessed using the second control word when the predicted control word does not match the second control word.