Stall Dependent Instructions to Reduce I/O Load Replays

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 L2 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

A mechanism is introduced that includes reservation stations to detect specified load micro instructions directed to non-core resources, stalling younger dependent micro instructions until the load is resolved, thereby reducing replays and enabling power management in execution units, specifically utilizing a replay reducer element within each core to detect loads from uncore resources and stall dependent instructions until the load completes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load instructions to non-core resources are dispatched with aggressive replay mechanisms, then throughput is improved, but power consumption increases significantly

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

Solution Approach 1:

The reservation station performs preliminary detection of load instructions targeting non-core resources before dispatch. By identifying these instructions in advance and applying selective stalling, the system prepares for potential replays without immediately executing all dependent instructions, thereby reducing unnecessary power consumption while maintaining throughput when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the dispatch behavior of dependent instructions based on the detected load instruction type. For loads to non-core resources, the system applies dynamic stalling in reservation stations, allowing flexible control over when dependent instructions are executed, thus optimizing the balance between throughput and power consumption.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If all load instructions are treated uniformly with standard replay mechanisms, then implementation simplicity is maintained, but power wastage increases due to unnecessary executions

Engineering Contradiction:
Improveimplementation simplicityVSAvoidpower wastage
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The system applies different handling qualities to different load instructions based on their destination. Loads to non-core resources receive special treatment with enhanced detection and selective stalling, while other loads maintain standard replay mechanisms. This localized differentiation reduces power wastage without significantly complicating the overall implementation.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The reservation station acts as an intermediary between the fetch unit and execution units, providing a detection and control layer for load instructions. This intermediary structure enables selective stalling and replay control, reducing power wastage from unnecessary executions while maintaining implementation simplicity through a modular approach.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If dependent instructions are stalled until load completion, then replay reduction is achieved, but instruction execution time increases

Engineering Contradiction:
Improvereplay reductionVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial stalling only to dependent instructions that are likely to cause replays, rather than stalling all instructions universally. By selectively applying the stall mechanism only where necessary (for loads to non-core resources), the system reduces replays while minimizing the overall time penalty.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The reservation station autonomously detects load instructions to non-core resources and automatically applies appropriate stalling without external intervention. This self-service mechanism enables the system to manage its own replay reduction needs efficiently, balancing reliability improvement with time loss minimization through intelligent autonomous control.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3049956B1Mechanism to preclude i/o-dependent load replays in out-of-order processor
Publication Date: 2018.10.10 VIA ALLIANCE SEMICON CO LTD
  • EP3049956B1 patent drawingFigure 1
  • EP3049956B1 patent drawingFigure 2
  • EP3049956B1 patent drawingFigure 3

AI summary

An apparatus includes first and second reservation stations. The first reservation station (421.L) dispatches a load micro instruction, and indicates on a hold bus (444) 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 (421.1-421.N) is coupled to the hold bus (444), 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 (444) that the load micro instruction is the specified load micro instruction, the second reservation station (421.1-421.N) 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 an input/output (I/O) unit, configured to perform I/O operations via an I/O bus coupling an out-of-order processor to I/O resources.