Early Issue Recovery for Conditional Load Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dynamic scheduling in processors with out-of-order execution faces challenges in reducing scheduling latency due to the need for complex circuitry to track operand availability, which is impractical for out-of-order processors.

Innovation Solution

The technique involves issuing instructions independently of operand availability, utilizing recovery circuitry to manage potential data hazards, and selecting between alternative outcomes based on operand dependency, allowing for reduced latency without additional hardware complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If instructions are issued only after all source operands become available, then data hazards are avoided, but scheduling latency increases and processing speed decreases

Engineering Contradiction:
Improvedata hazard avoidanceVSAvoidscheduling latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The instruction is issued in advance before the operand is fully ready. The decode stage issues the instruction speculatively, and if the operand is not ready by the execute stage, a replay is triggered. This preliminary issuance reduces scheduling latency while maintaining reliability through the replay mechanism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from the execute stage to the issue stage to determine whether a replay is needed. If the operand is not ready when the instruction reaches the execute stage, the feedback triggers a replay of the instruction after the operand becomes available, ensuring correct execution while allowing early issuance.

Inventive Principle:
Principle #23Feedback

2Loss of time

If scoreboard-based scheduling is used to reduce scheduling latency, then instruction issuance can begin earlier, but hardware complexity increases significantly

Engineering Contradiction:
Improvescheduling latencyVSAvoidhardware complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts the complex scoreboard tracking mechanism from the issue stage and replaces it with a simple replay mechanism. Instead of monitoring operand availability at issue time, the system only needs to detect whether the operand is ready at the execute stage and replay if necessary, significantly reducing hardware complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system discards the complex scoreboard state tracking and recovers correctness through simple replay of the instruction. Rather than maintaining detailed state information about operand availability, the system allows the instruction to replay after the operand becomes ready, achieving the same goal with much simpler hardware.

Inventive Principle:
Principle #34Discarding and recovering

3Productivity

If instructions are issued independently of operand availability, then processing speed increases, but data hazards may occur requiring recovery mechanisms

Engineering Contradiction:
Improveprocessing speedVSAvoiddata hazard occurrence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The instruction is issued preliminarily before the operand is ready, enabling early execution and improving processing speed. The replay mechanism then ensures reliability by re-executing the instruction after the operand becomes available if needed, resolving the tension between speed and reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The replay mechanism acts as a cushion against data hazards. By having the capability to replay the instruction, the system prepares in advance for the possibility that the operand may not be ready, allowing early issuance without compromising reliability. The cushion absorbs the potential harm of issuing too early.

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

Data Source

PatentUS8977837B2Apparatus and method for early issue and recovery for a conditional load instruction having multiple outcomes
Publication Date: 2015.03.10 ARM LTD
  • US8977837B2 patent drawing
  • US8977837B2 patent drawing
  • US8977837B2 patent drawing

AI summary

At least one instruction of a sequence of program instructions has a plurality of alternative outcomes including at least a first outcome that is independent of at least one operand and a second outcome that is dependent on the at least one operand. The at least one operand is a value generated by a preceding instruction in the sequence. The at least one instruction is issued for execution independently of when the at least one operand is generated by the preceding instruction. Recovery circuitry is provided to perform a recovery operation in the event that the second outcome is to be executed for the at least one instruction and the at least one operand has not been generated by the preceding instruction when the at least one instruction is to be executed by said instruction execution circuitry.