Out-of-order Loop Execution via Static Time Counter

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current out-of-order superscalar microprocessors face challenges in efficiently executing loops due to excessive power consumption, complex design, and difficulty in tracking data dependencies, leading to performance degradation from dynamic scheduling.

Innovation Solution

A processor with a time counter that statically schedules instructions based on preset execution times, eliminating the need for dynamic scheduling and reducing resource arbitration, allowing for efficient out-of-order execution with lower power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dynamic scheduling is used for out-of-order execution, then instruction throughput is improved, but power consumption increases excessively

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

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing dispatch times for instructions during compilation. The time counter unit uses these pre-computed timestamps to schedule instruction dispatch without real-time dynamic scheduling, eliminating the need for complex runtime arbitration logic that consumes power while maintaining out-of-order execution capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical dynamic scheduling system (comparators, arbitration logic, and control units that continuously monitor and decide instruction dispatch) with a time-based scheduling mechanism. Instructions are dispatched based on pre-assigned timestamps from the time counter, substituting complex mechanical arbitration with simpler time-comparison logic.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If dynamic scheduling with reservation stations is used, then out-of-order execution capability is improved, but device complexity increases

Engineering Contradiction:
Improveout-of-order execution capabilityVSAvoidprocessor structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes the complex dynamic scheduling infrastructure including reservation stations, central windows, and large-scale arbitration logic. Instead, it implements a streamlined time-counter based dispatch mechanism that maintains out-of-order execution capability without requiring these complex intermediate structures.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses a simplified time stamp copying mechanism where pre-computed dispatch times are stored and replicated for instruction scheduling, replacing the need for complex real-time dependency tracking and arbitration copies that exist in traditional dynamic scheduling architectures.

Inventive Principle:
Principle #26Copying

3Productivity

If loop instructions are executed with traditional dynamic scheduling, then processing capability is improved, but performance degrades due to data cache misses

Engineering Contradiction:
Improveloop processing capabilityVSAvoidstall time from cache misses
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating dispatch times for loop instructions during compilation, allowing the time counter to advance and trigger subsequent loop iterations without stalling. This pre-scheduling approach enables the processor to continue fetching and dispatching loop instructions even when data dependencies or cache misses are present, overlapping memory operations with computation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12147812B2Out-of-order execution of loop instructions in a microprocessor
Publication Date: 2024.11.19 SIMPLEX MICRO INC
  • US12147812B2 patent drawing
  • US12147812B2 patent drawing
  • US12147812B2 patent drawing

AI summary

A processor includes a loop detection unit to detect an OOO-loop based on the reserved resources for execution of the OOO loop. The processor executes the OOO loop by reading source operand data on first iteration of the loop and write back data on the last iteration of the loop while allowing instructions after the loop to be concurrently executed.