Unified Pick Queue Dynamic Instruction Deallocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern microprocessors face inefficiencies in out-of-order dynamic deallocation of instructions from shared resources, leading to underutilization of processor resources and reduced peak system performance due to static partitioning of shared storage resources.

Innovation Solution

A processor with a unified pick queue that dynamically allocates entries for decoded and renamed instructions, storing age and dependency information, and uses control circuitry to determine when instructions can be deallocated based on speculative and fixed latency conditions, allowing for earlier release of resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If static partitioning of shared storage resources is used, then design simplicity is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvedesign simplicityVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic allocation of pick queue entries where the processor can flexibly assign and deallocate queue entries based on instruction readiness and resource availability. This dynamic approach allows the system to adapt to varying workload conditions, improving resource utilization efficiency while maintaining manageable design complexity through structured control logic.

Inventive Principle:
Principle #15Dynamics

2Reliability

If instructions are kept in the pick queue longer, then execution accuracy is improved, but resource availability deteriorates

Engineering Contradiction:
Improveexecution accuracyVSAvoidresource availability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent employs preliminary deallocation actions where instructions are deallocated from the pick queue before their actual execution is complete. By using latency information and dependency analysis, the system can safely remove instructions from the queue earlier than traditional methods, making resources available for other instructions while maintaining execution correctness through proper dependency tracking.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If dynamic deallocation is implemented, then throughput is improved, but control complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidcontrol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the processor automatically determines deallocation timing based on embedded latency information and dependency relationships in the instruction stream. The control circuitry monitors instruction progress and autonomously performs deallocation decisions without external intervention, improving throughput while containing control complexity through automated decision-making logic.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9286075B2Optimal deallocation of instructions from a unified pick queue
Publication Date: 2016.03.15 SUN MICROSYSTEMS INC
  • US9286075B2 patent drawing
  • US9286075B2 patent drawing
  • US9286075B2 patent drawing

AI summary

Systems and methods for efficient out-of-order dynamic deallocation of entries within a shared storage resource in a processor. A processor comprises a unified pick queue that includes an array configured to dynamically allocate any entry of a plurality of entries for a decoded and renamed instruction. This instruction may correspond to any available active threads supported by the processor. The processor includes circuitry configured to determine whether an instruction corresponding to an allocated entry of the plurality of entries is dependent on a speculative instruction and whether the instruction has a fixed instruction execution latency. In response to determining the instruction is not dependent on a speculative instruction, the instruction has a fixed instruction execution latency, and said latency has transpired, the circuitry may deallocate the instruction from the allocated entry.