Disambiguation-Free Load Store Queue for Asynchronous Cores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current processor architectures face inefficiencies in context switching and parallelism due to the overhead of duplicating architecture state elements for multiple threads, particularly in fine-grained parallelism scenarios, where context switches are frequent and complex, leading to increased power consumption and complexity.
Innovation Solution
Implementing a disambiguation-free out-of-order load store queue method that includes a memory resource accessible by asynchronous cores, a store retirement buffer, and a mechanism for forwarding data from the store retirement buffer to matching loads, ensuring correct data forwarding and reducing the need for explicit context switching.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If hardware duplicates all architecture state elements for each supported thread, then context switch overhead is reduced, but area, power consumption, and hardware complexity increase
Solution Approach 1:
The patent merges the state management of multiple threads into a unified load store queue structure that handles context switching without duplicating full architecture state. The load store queue maintains program-order stores and enables cross-thread forwarding, eliminating the need for separate state copies while reducing context switch overhead.
Solution Approach 2:
The load store queue is designed as a universal structure that serves multiple threads simultaneously, functioning as both a store buffer and a forwarding mechanism. This multi-functional design allows the same hardware structure to handle store operations and data forwarding for different threads without requiring thread-specific duplications.
2Loss of time
If hardware duplicates all architecture state elements for each supported thread, then context switch overhead is reduced, but area and power consumption increase
Solution Approach 1:
The patent merges the state management of multiple threads into a unified load store queue structure that handles context switching without duplicating full architecture state. The load store queue maintains program-order stores and enables cross-thread forwarding, eliminating the need for separate state copies while reducing context switch overhead.
3Productivity
If out of order execution is implemented, then processor efficiency is improved, but disambiguation complexity and power consumption increase
Solution Approach 1:
The patent performs preliminary actions by maintaining stores in program order within the load store queue before execution. This preliminary ordering simplifies subsequent disambiguation operations, as the structured sequence of stores enables efficient matching and forwarding without complex disambiguation logic.
Solution Approach 2:
The load store queue acts as an intermediary structure between out-of-order execution units and the memory system. It maintains program-order stores while enabling out-of-order forwarding to loads, mediating the complexity of disambiguation through its structured organization of store entries with tags and address information.
Data Source
AI summary
In a processor, a disambiguation-free out of order load store queue method. The method includes implementing a memory resource that can be accessed by a plurality of asynchronous cores; implementing a store retirement buffer, wherein stores from a store queue have entries in the store retirement buffer in original program order; and upon dispatch of a subsequent load from a load queue, searching the store retirement buffer for address matching. The method further includes in cases where there are a plurality of address matches, locating a correct forwarding entry by scanning for the store retirement buffer for a first match; and forwarding data from the first match to the subsequent load.


