Processor Scheduler Queue Programmable Priority Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional scheduler queue operations in processors face bottlenecks due to fixed priority encoding, leading to inefficiencies and power consumption issues, particularly in maintaining age order and handling multi-pipeline execution units.

Innovation Solution

Implementing a programmable priority encoding system using an ancestry table to track the relative age order of operations, eliminating the need for shifting and collapsing, and allowing arbitrary priority allocation through a post wake unit and wake array.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fixed priority encoding is used in scheduler queue operations, then implementation is simple, but processing efficiency deteriorates due to bottlenecks in maintaining age order

Engineering Contradiction:
Improvescheduler queue implementation complexityVSAvoidprocessor processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic priority encoding where the priority of queue entries is not fixed but changes based on their age and readiness status. The system dynamically adjusts which entries are selected for execution by comparing age relationships and readiness states, allowing the scheduler to adapt to varying workloads and maintain optimal processing efficiency without requiring complex structural changes to the queue itself.

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If shifting and collapsing operations are performed to maintain age order, then age relationships are preserved, but power consumption increases and scheduling speed decreases

Engineering Contradiction:
Improveage order maintenanceVSAvoidpower consumption
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The patent extracts the age relationship information from the physical position of entries in the queue and stores it separately in an ancestry table. This allows the age order to be maintained through data structures rather than physical shifting operations, eliminating the need for continuous shifting and collapsing to preserve age relationships, thereby reducing power consumption and improving scheduling speed.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If dedicated pipeline queues are used for multi-pipeline execution units, then processing speed increases, but bottlenecking problems occur and scheduling flexibility is reduced

Engineering Contradiction:
Improveprocessor execution speedVSAvoidscheduling flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal scheduler queue that can service multiple pipeline types (EX pipelines for arithmetic logic and AG pipelines for address generation) through a single unified structure. The ancestry table and priority encoding mechanism work together to efficiently allocate operations to any available pipeline based on their specific requirements, providing both high processing speed and flexible scheduling capability without the bottlenecking problems of dedicated queues.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Ease of manufacture

If conventional fixed priority encoding is used, then implementation is straightforward, but operations cannot be efficiently prioritized based on readiness and age

Engineering Contradiction:
Improvescheduler implementation easeVSAvoidoperation scheduling efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent introduces an ancestry table as an intermediary data structure that stores age relationship information between queue entries. This intermediary allows the system to efficiently determine which operations are older than others without complex comparison logic, enabling prioritization based on both age and readiness status while maintaining relatively simple implementation through the use of this intermediate storage mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8656401B2Method and apparatus for prioritizing processor scheduler queue operations
Publication Date: 2014.02.18 ADVANCED MICRO DEVICES INC
  • US8656401B2 patent drawing
  • US8656401B2 patent drawing
  • US8656401B2 patent drawing

AI summary

A method and processor are described for implementing programmable priority encoding to track relative age order of operations in a scheduler queue. The processor may comprise a scheduler queue configured to maintain an ancestry table including a plurality of consecutively numbered row entries and a plurality of consecutively numbered columns. Each row entry includes one bit in each of the columns. Pickers are configured to pick an operation that is ready for execution based on the age of the operation as designated by the ancestry table. The column number of each bit having a select logic value indicates an operation that is older than the operation associated with the number of the row entry that the bit resides in.