Hierarchical Reservation Station for Processor Instruction Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges in efficiently scheduling instructions for execution due to data dependencies, instruction latencies, and the limitations of existing microarchitecture techniques, which can lead to increased execution time and reduced operating clock frequency.

Innovation Solution

A processor design that incorporates a hierarchical reservation station with a primary and secondary buffer, where instructions in the primary buffer have higher priority, and control logic determines which instructions to issue based on ready source operands and available execution units, allowing for efficient scheduling and issue width management across multiple clock cycles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the size of queues in the reservation station is increased to consider more candidate instructions for selection, then the number of instructions that can be processed per clock cycle is improved, but the number of levels of logic used to schedule instructions increases and the execution time of the circuit increases

Engineering Contradiction:
Improvenumber of instructions processed per clock cycleVSAvoidnumber of levels of logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The reservation station queues are divided into multiple segments or levels (e.g., first queue, second queue, third queue). Each queue manages a subset of candidate instructions, allowing the selection logic to operate on smaller, divided sets rather than a single large queue. This segmentation reduces the complexity of the scheduling logic while maintaining the ability to process multiple instructions per clock cycle.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the number of levels of logic used to schedule instructions for issue is increased, then more instructions can be selected for execution, but the execution time of the circuit increases and the operating clock frequency is reduced

Engineering Contradiction:
Improvenumber of instructions selected for executionVSAvoidoperating clock frequency
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The instruction selection process is segmented into multiple independent queue structures. Each queue can be evaluated in parallel or in a structured sequence that limits the critical path delay. This allows the system to consider more candidate instructions without proportionally increasing the logic depth, thereby maintaining higher clock frequencies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of increasing logic levels in a single dimension, the patent introduces a multi-dimensional queue structure with multiple queues at different levels. This transforms the problem from a single deep logic path to a broader, shallower structure with multiple parallel paths, reducing the critical path delay while increasing instruction selection capacity.

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

3Productivity

If more candidate instructions are considered for selection, then instruction throughput is improved, but the queue size and logic complexity increase leading to longer execution time

Engineering Contradiction:
Improveinstruction throughputVSAvoidexecution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The candidate instruction pool is segmented across multiple queues rather than stored in a single large queue. This allows the selection logic to efficiently scan and select instructions from distributed queues, reducing the time required to evaluate all candidates while maintaining high instruction throughput.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10452434B1Hierarchical reservation station
Publication Date: 2019.10.22 APPLE INC
  • US10452434B1 patent drawing
  • US10452434B1 patent drawing
  • US10452434B1 patent drawing

AI summary

Systems, apparatuses, and methods for efficiently scheduling processor instructions for execution. The reservation station in a processor stores instructions in each of a primary buffer and a secondary buffer. Control logic selects a first number of instructions with ready source operands in the primary buffer and a second number of instructions with ready source operands in the secondary buffer. If a third number of instructions to issue from the reservation station is greater than the first number of instructions, then the reservation station issues one or more instructions of the second number of instructions from the secondary buffer to the one or more execution units. Control logic selects a fourth number of instructions in the secondary buffer to transfer to the primary buffer, and cancels the transfer of a given instruction in response to determining the given instruction has issued to the one or more execution units.