Processor Instruction Scheduling via Source Parent Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional out-of-order instruction scheduling in microprocessors requires a large scheduler window and depth to minimize stalling, but this increases the number of comparisons quadratically, leading to performance loss and increased silicon area for comparison circuits.

Innovation Solution

The processor tracks operation source parent information to reduce the number of comparisons needed for instruction scheduling, allowing for a physically smaller and faster comparison circuit by focusing comparisons on specific source parents rather than all potential producers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the scheduler window depth and width are increased to minimize stalling, then the likelihood of finding ready instructions for execution is improved, but the number of comparisons grows quadratically causing performance loss and increased silicon area

Engineering Contradiction:
Improveinstruction execution throughputVSAvoidcomparison circuit size and complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the comparison operation into two distinct phases: (1) a quick parent instruction identification phase that uses pre-stored parent information to rapidly determine which producer instructions are relevant, and (2) a focused comparison phase that only compares consumer instructions against their identified parent producers. This segmentation avoids the quadratic growth of comparing all consumer instructions against all potential producers, thereby reducing comparison circuit complexity while maintaining scheduler depth and width for high throughput.

Inventive Principle:
Principle #1Segmentation

2Reliability

If conventional comparison methods are used to evaluate all fetched instructions, then complete dependency checking is achieved, but the comparison time and circuit area increase quadratically with scheduler depth and width

Engineering Contradiction:
Improvedependency resolution accuracyVSAvoidcomparison time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-storing parent instruction information (producer identification) with each consumer instruction in the scheduler window. When dependency checking is needed, the system has already prepared the relevant parent information, allowing for rapid identification and comparison only with the actual producer instructions. This eliminates the need for time-consuming exhaustive comparisons against all potential producers in the scheduler window, significantly reducing comparison time while maintaining complete dependency checking accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11934834B2Instruction scheduling in a processor using operation source parent tracking
Publication Date: 2024.03.19 AMPERE COMPUTING LLC
  • US11934834B2 patent drawing
  • US11934834B2 patent drawing
  • US11934834B2 patent drawing

AI summary

Instruction scheduling in a processor using operation source parent tracking. A source parent is a producer instruction whose execution generates a produced value consumed by a consumer instruction. The processor is configured to track identifying operation source parent information for instructions processed in a pipeline and providing such operation source parent information to a scheduling circuit along with the associated consumer instruction. The scheduling circuit is configured to perform instruction scheduling using operation source parent tracking on received instruction(s) to be scheduled for execution. The processor is configured to compare sources and destinations for each of the instructions to be scheduled based on the operation source parent information to determine instructions ready for scheduling for execution. Given availability of the operation source parent information for instructions to be scheduled, the processor can perform a reduced number of comparisons of the sources and destinations for instructions to be scheduled.