Load Instruction Replay Scheduling in Out-of-Order Microprocessors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microprocessors face challenges with high power consumption and complex design due to dynamic scheduling of instructions, particularly with load instructions having long latencies and requiring speculative execution, which complicates the execution pipeline.

Innovation Solution

A microprocessor design employing a time counter for static scheduling of instructions, allowing for out-of-order execution based on a time count, with mechanisms for replaying instructions when source operands become invalid, using a time-resource matrix to manage resource availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dynamic scheduling of instructions is used in out-of-order superscalar microprocessors, then instruction execution flexibility and performance are improved, but power consumption and design complexity increase significantly

Engineering Contradiction:
Improveinstruction execution performanceVSAvoidprocessor design complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor is divided into in-order and out-of-order execution domains. The in-order execution unit handles simple instructions sequentially, while the out-of-order execution unit handles complex instructions with dependencies. This segmentation allows each unit to be optimized independently, reducing overall complexity while maintaining high performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instructions are pre-scheduled with static timing information before execution. The scheduler determines the execution order in advance based on instruction dependencies and resource availability, allowing the execution units to operate more predictably and reducing the complexity of dynamic scheduling decisions during runtime.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If load instructions are executed with high priority to handle long latency, then instruction throughput is improved, but power consumption increases due to frequent replaying

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

Solution Approach 1:

The processor implements a load instruction replay mechanism with feedback control. When a load instruction completes (either hit or miss), the status is fed back to the scheduler, which then determines whether dependent instructions should be replayed. This feedback mechanism allows the system to minimize replaying by only replaying when necessary, reducing power consumption while maintaining throughput.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The processor dynamically adjusts the replay threshold parameter based on cache hit rate and workload characteristics. When cache performance is good, the replay threshold is raised to reduce replay frequency. When cache performance degrades, the threshold is lowered to maintain throughput. This parameter adaptation optimizes the balance between throughput and power consumption.

Inventive Principle:
Principle #35Parameter changes

3Speed

If speculative execution is implemented to handle load latencies, then execution speed is improved, but design complexity and power consumption increase

Engineering Contradiction:
Improveexecution speedVSAvoidexecution pipeline complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The processor implements dynamic speculative execution where the level of speculation is adjusted based on runtime conditions. When cache hit rates are high, speculative execution is minimized. When dependencies would otherwise cause stalls, speculation is enabled. This dynamic approach maintains high execution speed while avoiding the constant overhead of full speculative execution, reducing complexity.

Inventive Principle:
Principle #15Dynamics

4Reliability

If data cache miss handling is implemented with full replay mechanism, then correctness is maintained, but performance degradation occurs due to execution stalls

Engineering Contradiction:
Improveinstruction execution correctnessVSAvoidinstruction execution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of replaying all instructions after a cache miss, the processor implements partial replay by identifying and replaying only the subset of instructions that are dependent on the missed load. This selective replay approach maintains execution correctness while minimizing performance degradation from stalls.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12566610B2Microprocessor with apparatus and method for replaying load instructions
Publication Date: 2026.03.03 SIMPLEX MICRO INC
  • US12566610B2 patent drawing
  • US12566610B2 patent drawing
  • US12566610B2 patent drawing

AI summary

A processor includes a time counter and a time-resource matrix and provides a method for statically dispatching load/store instructions if the required resources are available based on data stored in the time-resource matrix, and wherein execution times for the load/store instructions use a time count from the time counter to specify when the load/store instructions may be provided to a load-store unit pipeline. The execution times of the load instruction is based on the data cache hit latency time. A delay of the load/store instruction causes the load/store instruction to be replayed with known or estimated time. A load-store unit employs multiple bank queues to access multiple data banks of a data cache.