Instruction Dispatch Routing via Dual Rotation Orders
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional processor cores face performance degradation due to sequential instruction dispatching, which leads to uneven workload distribution across issue queues, causing bottlenecks and delays, especially when resource-intensive instructions are not properly balanced.
Innovation Solution
Implementing a method where instructions are dispatched using two separate rotation orders, one for priority/resource-intensive instructions and another for non-priority/non-resource-intensive instructions, allowing for dynamic selection based on instruction type and historical data to ensure even distribution across issue queues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If sequential instruction dispatching is used, then implementation simplicity is maintained, but workload distribution across issue queues becomes uneven causing performance degradation
Solution Approach 1:
The patent segments the instruction dispatch mechanism into two separate rotation orders: one for resource-intensive instructions and another for non-resource-intensive instructions. This segmentation allows each rotation order to be optimized independently, preventing the bottleneck that occurs when all instructions are dispatched through a single sequential rotation mechanism.
Solution Approach 2:
The patent introduces dynamic selection of rotation orders based on instruction characteristics. The dispatch unit dynamically determines whether an instruction is resource-intensive and selects the appropriate rotation order accordingly. This dynamic adaptation enables the system to optimize workload distribution in real-time without requiring complex static reconfiguration.
2Ease of operation
If resource-intensive instructions are dispatched using the same rotation order as non-resource-intensive instructions, then dispatch uniformity is maintained, but bottlenecks occur when multiple resource-intensive instructions contend for the same issue queues
Solution Approach 1:
The patent divides the instruction stream into two categories (resource-intensive and non-resource-intensive) and assigns them to different rotation orders. This segmentation prevents resource-intensive instructions from contending for the same issue queues simultaneously, thereby eliminating bottlenecks while maintaining simple rotational dispatching within each category.
Solution Approach 2:
The patent applies different dispatch strategies (different rotation orders) to different types of instructions based on their local characteristics. Resource-intensive instructions receive specialized handling through one rotation order optimized for their needs, while non-resource-intensive instructions use another rotation order, allowing each group to be dispatched with appropriate quality rather than applying a uniform approach to all instructions.
3Reliability
If issue queues are skipped when full during rotation, then queue overflow is prevented, but performance degrades due to reactive rather than proactive load balancing
Solution Approach 1:
The patent performs preliminary classification of instructions into resource-intensive and non-resource-intensive categories before dispatch. This preliminary action allows the system to proactively route instructions to appropriate rotation orders, preventing queue overflow conditions rather than reacting to them after they occur. The load balancing is performed in advance based on instruction characteristics rather than reactively based on queue status.
Data Source
AI summary
A method of instruction dispatch routing comprises receiving an instruction for dispatch to one of a plurality of issue queues; determining a priority status of the instruction; selecting a rotation order based on the priority status, wherein a first rotation order is associated with priority instructions and a second rotation order, different from the first rotation order, is associated with non-priority instructions; selecting an issue queue of the plurality of issue queues based on the selected rotation order; and dispatching the instruction to the selected issue queue.


