Replay Reducer for Out-of-Order Processor Load Stalls

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In out-of-order processors, the power wastage due to frequent load replays from non-core resources, such as fuse arrays and level 2 caches, is significant, leading to increased power utilization and thermal issues, despite minimal performance impact, as these resources are shared among processor cores and access times are longer compared to on-core caches.

Innovation Solution

Implementing a mechanism with reservation stations that detect specified load micro instructions directed to non-core resources, stalling younger dependent micro instructions until the load is completed, thereby reducing the number of replays and enabling power management in execution units, which includes a replay reducer element that detects loads from non-core resources and stalls dependent instructions until the load resolves.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load micro instructions are dispatched to execution units without detection of non-core resource access, then instruction throughput is improved, but power consumption increases due to frequent replays

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

Solution Approach 1:

The replay reducer element performs preliminary detection of load micro instructions destined for non-core resources before dispatch to execution units. By identifying these instructions in advance and preventing their dispatch, the system avoids the power-wasting replay cycle while maintaining throughput for instructions that won't require replay.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention extracts problematic load micro instructions from the normal dispatch stream by using a dedicated replay reducer element that monitors and filters out instructions accessing non-core resources. This separation allows the execution units to operate at full throughput on remaining instructions while the filtered-out instructions are handled separately to avoid replays.

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of energy

If younger dependent micro instructions are stalled until load completion, then replay reduction is achieved, but execution latency increases

Engineering Contradiction:
Improvereplay reductionVSAvoidexecution latency
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The system performs preliminary stalling of younger dependent micro instructions when a load instruction to non-core resources is detected. This proactive stalling prevents the need for later replays by ensuring dependent instructions wait for data availability before execution, thereby reducing energy loss from replay while managing latency through intelligent dependency tracking.

Inventive Principle:
Principle #10Preliminary action

3Speed

If execution units operate continuously without power management, then processing speed is maintained, but power consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The replay reducer implements periodic monitoring of load micro instructions to identify those accessing non-core resources. This periodic detection enables selective power management where execution units can be put into low-power states or have their clocks gated when no useful work is available, while maintaining full processing speed when instructions are actively being executed.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10108429B2Mechanism to preclude shared RAM-dependent load replays in an out-of-order processor
Publication Date: 2018.10.23 VIA ALLIANCE SEMICON CO LTD
  • US10108429B2 patent drawing
  • US10108429B2 patent drawing
  • US10108429B2 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 plurality of non-core resources includes a random access memory, configured to store microcode patches corresponding to the out-of-order processor which, upon initialization, accesses said random access memory to retrieve said microcode patches.