Reach Matrix Scheduler Circuit for Processor Instruction Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional scheduler circuits in processors face challenges in achieving optimal performance due to increased circuit delays and power consumption as the instruction window size grows, particularly in out-of-order execution scenarios where dataflow processing is unpredictable, leading to inefficiencies in scheduling latency and power usage.

Innovation Solution

The implementation of a reach matrix scheduler circuit with N × R matrix wake-up circuits, where 'R' is less than 'N', reduces grant lines and complexity, allowing only 'R' instructions to be woken up by a producer instruction, thereby decreasing timing delays and enabling larger instruction windows without increasing overall scheduling latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the instruction window size is increased to improve instruction-level parallelism, then processor performance is improved, but circuit delays and power consumption increase

Engineering Contradiction:
Improveinstruction-level parallelismVSAvoidcircuit delays
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The wake-up circuit is segmented into multiple N×R matrix circuits, each handling a specific range of instructions. Each matrix has N rows for instructions and R columns for grant lines, where R < N. This segmentation reduces the complexity of each individual matrix while maintaining the overall functionality of tracking dependencies across a large instruction window.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a conventional N×N matrix wake-up circuit to an N×R matrix with R < N, effectively changing the dimensional structure. By reducing the number of columns from N to R, the circuit achieves the same functional coverage with reduced complexity and shorter critical paths, enabling larger instruction windows without proportional increases in delay.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If the instruction window size is increased to improve instruction-level parallelism, then processor performance is improved, but power consumption increases

Engineering Contradiction:
Improveinstruction-level parallelismVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The wake-up circuit is divided into multiple N×R matrix circuits, each processing a subset of instructions. This segmentation reduces the number of active circuit elements that need to be monitored and updated, thereby reducing power consumption while still supporting large instruction windows for high parallelism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of implementing a full N×N matrix where every instruction could potentially wake up every other instruction, the patent uses N×R matrices with R < N, implementing only the necessary partial connections. This partial action approach reduces the total number of circuit elements and their associated power consumption while maintaining sufficient functionality for typical dependency patterns.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If conventional N×N matrix wake-up circuits are used, then all instructions can be woken up, but scheduling latency increases

Engineering Contradiction:
Improvewake-up capabilityVSAvoidscheduling latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent changes the dimensional structure from N×N to N×R matrices with R < N. This dimensional change reduces the number of grant lines and the critical path length in the wake-up circuit, directly reducing scheduling latency. The reduced matrix size means fewer logic stages and shorter signal propagation paths while still providing adequate wake-up capability for practical workloads.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP4088181B1Reach matrix scheduler circuit for scheduling of instructions to be executed in a processor
Publication Date: 2024.06.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4088181B1 patent drawingFigure 1
  • EP4088181B1 patent drawingFigure 2
  • EP4088181B1 patent drawingFigure 3

AI summary

A reach matrix scheduler circuit for scheduling instructions to be executed in a processor is disclosed. The scheduler circuit includes an N x R matrix wake-up circuit, where 'N' is the instruction window size of the scheduler circuit, and 'R' is the "reach" with the instruction window of matrix wake-up circuit, with 'R' being less than 'N'. A grant line associated with each instruction request entry in the N x R matrix wake-up circuit is coupled to 'R' other instruction entries among the 'N' instruction entries. When a producer instruction in an instruction request entry is ready for issuance, the grant line associated with the instruction request entry is activated so that any other instruction entries coupled to the grant line (i.e., within the "reach" of the instruction request entry) that consume the produced value generated by the producer instruction are "woken-up" and subsequently indicated as ready to be issued.