Reservation Station Hold Bus for Off-Core Load Replay Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In out-of-order processors, the power wastage due to frequent load replays from off-core resources is significant, as these replays are often unnecessary and consume substantial energy, impacting battery life and thermal profiles.

Innovation Solution

A mechanism is introduced that includes reservation stations to detect specified load micro instructions directed to off-core resources, stalling younger dependent micro instructions until the load is completed, thereby reducing unnecessary replays and conserving power.

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 unnecessary replays occur when the load takes longer than expected

Engineering Contradiction:
Improveinstruction throughputVSAvoidexecution correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by detecting the load micro instruction type before dispatching younger dependent instructions. The system identifies loads to slow resources (fuse array, off-core cache, shared RAM) in advance and prevents premature dispatch of dependent instructions, avoiding unnecessary replays while maintaining throughput for safe instructions.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If load micro instructions to slow resources are executed with standard replay mechanisms, then execution flexibility is maintained, but power consumption increases significantly

Engineering Contradiction:
Improveexecution flexibilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by implementing resource-specific detection and handling for different slow resources (fuse array, off-core cache, shared RAM). Each resource type is identified and handled with appropriate stall logic, optimizing power consumption locally for each resource while maintaining overall execution flexibility.

Inventive Principle:
Principle #3Local quality

3Loss of energy

If younger dependent instructions are stalled until load completion, then replay frequency is reduced, but instruction execution latency increases

Engineering Contradiction:
Improvereplay energy wasteVSAvoidinstruction execution latency
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent applies partial action by stalling younger dependent instructions only for detected load micro instructions to slow resources, while allowing immediate dispatch for loads to fast on-core cache. This selective stalling reduces replays for problematic cases without unnecessarily delaying instructions that would complete quickly anyway.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10146547B2Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor
Publication Date: 2018.12.04 VIA ALLIANCE SEMICON CO LTD
  • US10146547B2 patent drawing
  • US10146547B2 patent drawing
  • US10146547B2 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 an off-core cache memory, configured to store memory operands which may have been cached from a system memory that are not present in one or more on-core cache memories.