Hold Bus Mechanism for Stalling Load Replays in Out-of-Order Processors

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 cores and access times are longer compared to on-core caches.

Innovation Solution

A mechanism is introduced that includes reservation stations and a hold bus system to detect specified load micro instructions directed to non-core resources, stalling younger dependent micro instructions until the load is completed, thereby reducing replays and enabling power management in execution units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If younger dependent micro instructions are dispatched immediately after a load micro instruction to non-core resources, 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 mechanism performs preliminary detection of load micro instructions targeting non-core resources before dispatching younger dependent instructions. By identifying these instructions in advance and stalling their dispatch until load completion, the system prevents wasteful replays and reduces power consumption while maintaining throughput for non-affected instructions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The hold bus provides feedback signaling between the load unit and reservation stations. When a load micro instruction targets non-core resources, the hold bus signals reservation stations to stall dispatch of younger dependent instructions until the load completes. This feedback mechanism dynamically controls instruction dispatch based on actual load status, preventing unnecessary replays and reducing power consumption.

Inventive Principle:
Principle #23Feedback

2Reliability

If load micro instructions to non-core resources are allowed to complete before dispatching younger instructions, then replay frequency is reduced, but execution latency increases

Engineering Contradiction:
Improvereplay frequencyVSAvoidexecution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The mechanism applies selective stalling only to younger dependent micro instructions that specifically depend on load micro instructions targeting non-core resources. Other independent instructions continue to execute without stalls, maintaining overall throughput. This localized approach minimizes latency impact while effectively reducing replay frequency for affected instructions.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system segments the instruction stream into dependent and independent instructions relative to load operations. Reservation stations monitor dependency relationships and apply stalling selectively only to dependent instructions waiting on non-core resource loads, while allowing independent instructions to proceed. This segmentation prevents unnecessary delays and maintains execution efficiency.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If a hold bus system is implemented to stall younger instructions, then power savings are achieved, but device complexity increases

Engineering Contradiction:
Improvepower savingsVSAvoiddevice complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The hold bus serves multiple functions within the processor architecture: it signals load completion status, controls dispatch timing of younger instructions, and coordinates between the load unit and reservation stations. This multi-functional signaling mechanism achieves power savings through replay reduction while minimizing the addition of separate control structures, thereby limiting complexity increase.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The hold bus acts as an intermediary communication channel between the load unit and reservation stations. Rather than requiring complex direct control logic between these components, the hold bus provides a simple signaling mechanism that coordinates instruction dispatch based on load status. This intermediary approach simplifies the control architecture while achieving the desired power savings through replay prevention.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10120689B2Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor
Publication Date: 2018.11.06 VIA ALLIANCE SEMICON CO LTD
  • US10120689B2 patent drawing
  • US10120689B2 patent drawing
  • US10120689B2 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 control element, coupled to the out-of order processor via a control bus.