Unified Store Queue Linear Address Comparison
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional store queue operations in processing systems lead to delays and linear aliasing issues, which can result in incorrect data forwarding and performance degradation due to buffering and reordering of store instructions.
Innovation Solution
A unified store queue (USQ) system is implemented, which uses a pointer to determine the order of stores and compares linear addresses to reduce linear aliasing effects by blocking data from matching stores with physical address mismatches, thereby preventing incorrect data forwarding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If store instructions are buffered in a store queue to enable reordering and in-order commit, then store instruction throughput and memory ordering are improved, but linear aliasing errors may occur causing incorrect data forwarding to loads
Solution Approach 1:
The patent applies preliminary action by comparing linear address subsets of store instructions with those of load instructions before data forwarding occurs. The store queue proactively identifies potential linear aliasing conflicts by performing subset comparisons on address bits, and only forwards data when no conflicts are detected, preventing incorrect forwarding before it can happen.
Solution Approach 2:
The patent introduces an intermediary mechanism in the form of a linear address subset comparison unit that acts as a mediator between the store queue and load instructions. This intermediary filters out potentially conflicting address pairs before data forwarding, using address subset matching to identify and block incorrect forwarding paths while allowing correct ones to proceed.
2Loss of time
If store-to-load forwarding is implemented to provide data directly from the store queue to requesting loads, then load latency is reduced, but linear aliasing may cause incorrect data to be forwarded
Solution Approach 1:
The system performs preliminary linear address subset comparison between store and load instructions before executing store-to-load forwarding. By checking address subsets in advance, the system identifies potential linear aliasing conflicts and blocks incorrect forwarding paths, ensuring that only valid data forwarding operations are performed while maintaining low latency for correct operations.
Solution Approach 2:
An address comparison intermediary is introduced that sits between the store queue and load instructions. This intermediary performs subset matching on linear addresses to verify forwarding validity, acting as a gatekeeper that allows fast forwarding when addresses match correctly while blocking forwarding when linear aliasing is detected, thus maintaining both speed and accuracy.
3Device complexity
If conventional store queue allocation policies are used to manage store entries, then store instruction buffering is simplified, but delays occur degrading system performance
Solution Approach 1:
The patent segments the address comparison process by comparing only subsets of linear addresses (specific bits) rather than full addresses. This segmentation allows the store queue to efficiently manage entries by focusing comparisons on critical address bits that determine forwarding validity, reducing the complexity of address matching while improving the speed of store-to-load forwarding operations.
Data Source
AI summary
Embodiments herein provide for improved store-to-load-forwarding (STLF) logic and linear aliasing effect reduction logic. In one embodiment, a load instruction to be executed is selected. Whether a first linear address associated with said load instruction matches a linear address of a store instruction of a plurality of store instructions in a queue is determined. Data associated with said store instruction for executing said load instruction is forwarded, in response to determining that the first linear address matches the linear address of the store instruction.


