Load Replay Stalling in Out-of-Order Processor Reservation Stations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In out-of-order processors, the power consumption is increased due to frequent load replays when instructions depend on operands from non-core resources, which are accessed slower than on-core resources, leading to significant power wastage and performance penalties.

Innovation Solution

The implementation of a mechanism that includes reservation stations to detect load micro instructions directed to non-core resources and stall younger dependent micro instructions until the load is completed, reducing the number of replays and conserving power by managing execution unit power states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If younger dependent micro instructions are dispatched immediately after a load micro instruction, then instruction throughput is improved, but power consumption increases due to frequent replays when the load takes longer than expected

Engineering Contradiction:
Improveinstruction throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The mechanism performs preliminary detection of load micro instructions directed to non-core resources before dispatching younger dependent instructions. By identifying these slow-access loads in advance and stalling dependent instructions accordingly, the system avoids unnecessary replays and the associated power consumption while maintaining optimal throughput for normal loads.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the processor stalls younger dependent micro instructions until load completion, then replay frequency is reduced, but instruction execution latency increases

Engineering Contradiction:
Improvereplay frequencyVSAvoidinstruction execution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The mechanism applies stalling selectively rather than universally. It detects and stalls younger dependent instructions only when the load micro instruction is directed to non-core resources (slow-access), while allowing immediate dispatch for loads to on-core resources (fast-access). This localized approach minimizes latency impact while effectively reducing replays for the specific problematic case.

Inventive Principle:
Principle #3Local quality

3Reliability

If execution units remain active to handle potential replays, then replay handling capability is maintained, but power consumption increases

Engineering Contradiction:
Improvereplay handling capabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The mechanism uses feedback from the load detection stage to control execution unit power states. When a load to non-core resources is detected, the system provides feedback to stall younger instructions and allows execution units to enter power-saving modes. This feedback-driven approach maintains replay handling capability when needed while reducing power consumption during predictable slow-access scenarios.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10108427B2Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor
Publication Date: 2018.10.23 VIA ALLIANCE SEMICON CO LTD
  • US10108427B2 patent drawing
  • US10108427B2 patent drawing
  • US10108427B2 patent drawing

AI summary

An apparatus including first and second reservation stations. The first reservation station dispatches a load micro instruction, and indicates on a hold bus if the load micro instruction is a specified load micro instruction directed to retrieve an operand from a prescribed resource other than on-core cache memory. The second reservation station is coupled to the hold bus, and dispatches one or more younger micro instructions therein that depend on the load micro instruction for execution after a number of clock cycles following dispatch of the first load micro instruction, and if it is indicated on the hold bus that the load micro instruction is the specified load micro instruction, the second reservation station is configured to stall dispatch of the one or more younger micro instructions until the load micro instruction has retrieved the operand. The resources include a fuse array that stores configuration data.