Load-Operation Instruction Suppression in Out-of-Order Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processors employing out-of-order execution and speculative execution, load instructions may generate invalid results due to memory subsystem unavailability, leading to significant replay of instructions and negative impacts on performance and power consumption.

Innovation Solution

The processor suppresses the execution of the operation portion of a load-operation instruction if the load portion returns an invalid status, thereby preventing the execution of dependent instructions and conserving resources by marking the operation portion as ineligible.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If speculative execution of load instructions is performed to improve processing efficiency, then instruction execution speed is improved, but the number of invalid results and replay operations increases

Engineering Contradiction:
Improveinstruction execution speedVSAvoidinstruction execution validity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by checking the validity status of load instructions before allowing dependent instructions to execute. The scheduler unit monitors the validity status of each load instruction and prevents dependent instructions from executing until the load completes successfully, thereby avoiding invalid results while maintaining speculative execution benefits.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If dependent instructions are speculatively executed to improve processing efficiency, then productivity is improved, but power consumption increases due to replay operations

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements feedback by continuously monitoring the validity status of load instructions and using this information to control the execution of dependent instructions. The scheduler unit receives feedback about load completion status and adjusts instruction execution accordingly, preventing wasteful replay operations and reducing power consumption while maintaining high productivity.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple levels of dependency are speculatively executed to improve processing efficiency, then productivity is improved, but the number of instructions subject to replay increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidreplay time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing the instruction execution process into distinct stages: load instruction execution, validity status checking, and dependent instruction execution. The scheduler unit segments the dependency chain and controls each segment independently, allowing dependent instructions to be prepared for execution but preventing actual execution until load validity is confirmed, thereby minimizing replay time while maintaining productivity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9483273B2Dependent instruction suppression in a load-operation instruction
Publication Date: 2016.11.01 ADVANCED MICRO DEVICES INC
  • US9483273B2 patent drawing
  • US9483273B2 patent drawing
  • US9483273B2 patent drawing

AI summary

A method includes suppressing execution of an operation portion of a load-operation instruction in a processor responsive to an invalid status of a load portion of load-operation instruction. A processor includes an instruction pipeline including an execution unit operable to execute instructions and a scheduler unit. The scheduler unit includes a scheduler queue and is operable to store a load-operation in the scheduler queue. The load-operation instruction includes a load portion and an operation portion. The scheduler unit schedules the load portion for execution in the execution unit, marks the operation portion in the scheduler queue as eligible for execution responsive to scheduling the load portion, receives an indication of an invalid status of the load portion, and suppresses execution of the operation portion responsive to the indication of the invalid status.