Processor Replay Prediction Unit for Superscalar Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Aggressive instruction scheduling in superscalar processors leads to increased hardware complexities and performance degradation due to incorrect execution, which can result in power consumption and performance issues from frequent instruction replay.

Innovation Solution

A processor mechanism that includes a prediction unit to determine if an instruction will replay, flagging it for the scheduler to inhibit its issuance until the status is good, using an execution history and hashing functions to predict replay events, thereby reducing incorrect execution penalties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If aggressive instruction scheduling is employed to increase instructions executed per clock cycle, then processor performance is improved, but hardware complexity increases and incorrect execution occurs more frequently

Engineering Contradiction:
Improveinstructions executed per clock cycleVSAvoidscheduling hardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The replay prediction unit performs preliminary analysis of instruction characteristics and execution history before the instruction is fully executed, predicting whether replay will be needed. This allows the scheduler to make informed decisions about instruction issuance without requiring complex real-time analysis of execution outcomes, thereby maintaining high instruction throughput while managing hardware complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The replay prediction unit acts as an intermediary between the scheduler and the execution units. It provides prediction information to the scheduler, enabling the scheduler to optimize instruction issuance without directly implementing complex replay detection and handling logic. This intermediary layer simplifies the overall scheduling hardware while maintaining high productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If aggressive instruction scheduling is employed to increase instructions executed per clock cycle, then processor performance is improved, but frequency of incorrect execution increases

Engineering Contradiction:
Improveinstructions executed per clock cycleVSAvoidcorrectness of instruction execution
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The replay prediction unit performs preliminary analysis of instruction characteristics and execution history before the instruction is fully executed, predicting whether replay will be needed. This allows the scheduler to make informed decisions about instruction issuance without requiring complex real-time analysis of execution outcomes, thereby maintaining high instruction throughput while managing hardware complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses execution history as feedback to improve replay predictions. The replay prediction unit analyzes patterns from previously executed instructions and uses this feedback to make more accurate predictions about future instructions, thereby reducing incorrect execution while maintaining high instruction throughput.

Inventive Principle:
Principle #23Feedback

3Reliability

If instruction replay is allowed to handle incorrect execution, then recovery from incorrect execution is enabled, but power consumption increases due to frequent replay

Engineering Contradiction:
Improverecovery from incorrect executionVSAvoidpower consumption during replay
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The replay prediction unit predicts which instructions are likely to require replay before they are executed. The scheduler uses this prediction information to inhibit issuance of instructions predicted to replay, thereby preventing the consumption of energy that would be wasted on executing instructions that will ultimately need to be replayed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies preliminary anti-action by inhibiting the issuance of instructions predicted to replay. This prevents the harmful effect of wasted energy consumption on instructions that would otherwise be executed and then require replay, thereby reducing overall power consumption while maintaining reliability through selective replay inhibition.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS7861066B2Mechanism for predicting and suppressing instruction replay in a processor
Publication Date: 2010.12.28 ADVANCED MICRO DEVICES INC
  • US7861066B2 patent drawing
  • US7861066B2 patent drawing
  • US7861066B2 patent drawing

AI summary

A mechanism for suppressing instruction replay includes a processor having one or more execution units and a scheduler that issue instruction operations for execution by the one or more execution units. The scheduler may also cause instruction operations that are determined to be incorrectly executed to be replayed, or reissued. In addition, a prediction unit within the processor may predict whether a given instruction operation will replay and to provide an indication that the given instruction operation will replay. The processor also includes a decode unit that may decode instructions and in response to detecting the indication, may flag the given instruction operation. The scheduler may further inhibit issue of the flagged instruction operation until a status associated with the flagged instruction is good.