Two-Level Load Queue for Processor Replay and Ordering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large load and store queues in processors limit out-of-order execution and performance due to the need for replaying load operations, which can exceed clock cycle time and restrict queue size.
Innovation Solution
Implementing a two-level load queue system, where a smaller load execution queue manages replay and a larger load retirement queue enforces ordering constraints, allowing for more pending load operations and wider out-of-order execution windows.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the load queue is made large to support more out-of-order execution, then the processor performance is improved, but the time required to scan for load operations needing replay exceeds the available clock cycle time
Solution Approach 1:
The patent divides the load queue into two separate queues: a load retirement queue (LRQ) that tracks loads from initial execution to retirement and enforces ordering constraints, and a load execution queue (LEQ) that tracks loads from initial execution to forwarding of data and manages replay. This segmentation allows the LEQ to be kept small for fast replay scanning while the LRQ can be large to support extensive out-of-order execution, thereby resolving the contradiction between queue size and replay scanning time.
2Adaptability or versatility
If the load queue size is increased to widen the out-of-order execution window, then more load operations can be pending, but the complexity of managing replay within clock cycle time increases
Solution Approach 1:
By segmenting the load queue into LRQ and LEQ with distinct responsibilities, the patent simplifies replay management. The LEQ, being smaller and dedicated to execution tracking, requires less complex scanning logic while the LRQ handles retirement and ordering without involvement in replay management, thus reducing overall system complexity despite supporting a larger out-of-order execution window.
Solution Approach 2:
The patent extracts the replay management function from the overall load queue system and concentrates it in the LEQ. This extraction allows replay operations to be handled independently in a dedicated, smaller structure, reducing the complexity burden on the entire load queue system while maintaining large out-of-order execution capability in the LRQ.
3Reliability
If a single large load queue is used to track loads from initial execution to retirement, then ordering constraints can be enforced, but the queue size must be limited to allow replay scanning within clock cycle time
Solution Approach 1:
The patent segments the load tracking function into two queues: the LRQ maintains ordering constraints from initial execution to retirement, while the LEQ manages execution tracking to forwarding. This segmentation allows the LRQ to be sized for reliable ordering enforcement without being constrained by replay scanning requirements, as replay management is handled separately in the LEQ.
Data Source
AI summary
In an embodiment, a processor includes a load/store unit that executes load/store operations. The load/store unit may implement a two-level load queue. One of the load queues, referred to as a load retirement queue (LRQ), may track load operations from initial execution to retirement. Ordering constraints may be enforced using the LRQ. The other load queue, referred to as a load execution queue (LEQ), may track loads from initial execution to forwarding of data. Replay may be managed by the LEQ. In an embodiment, the LEQ may be smaller than the LRQ, which may permit the management of replay while still meeting timing requirements. Additionally, the larger LRQ may permit more load operations to be pending (not retired) in the processor, widening the window for out of order execution and supporting potentially higher processor performance.


