Banked L1 Cache Partial Store Writes for Load-Store Conflict Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern out-of-order processors face performance degradation due to delayed store operations conflicting with load operations, leading to increased hardware requirements, timing impacts, and power utilization, especially in multi-processor environments with weakly-ordered memory consistency models.
Innovation Solution
A processor pipeline with a load-store unit (LSU) that includes a level-one data cache and separate queues for loads and stores, allowing partial store operations to be written concurrently with loads, using a store mask to track written data and retrying unwritten portions in subsequent cycles, thereby optimizing store operations without stalling writes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If loads take precedence over stores in conflict resolution, then load operations are executed efficiently, but store operations are delayed and accumulate in the store queue
Solution Approach 1:
The patent segments the cache into multiple banks, allowing store operations to be divided into partial writes that can proceed concurrently with load operations in different banks. This segmentation enables the store queue to drain faster without blocking load operations, resolving the contradiction between load throughput and store latency.
2Quantity of substance
If the store queue size is increased to accommodate more stores, then store buffering capacity is improved, but hardware requirements and power utilization increase
Solution Approach 1:
The patent implements dynamic partial store writes where the store queue entries are processed in a dynamic manner based on cache bank availability. Instead of a static large queue, the system dynamically performs partial writes to multiple banks concurrently, reducing the effective queue depth needed while maintaining high store throughput.
3Reliability
If store operations wait for cache availability, then data consistency is maintained, but processor performance degrades due to stalling
Solution Approach 1:
The patent performs preliminary partial store writes to available cache banks before all stores are complete. By initiating store operations in advance to banks that are ready, the system maintains data consistency while preventing processor stalling, as stores proceed concurrently with loads rather than waiting for complete cache availability.
Data Source
AI summary
Systems, processors, and methods for efficiently handling concurrent store and load operations within a processor. A processor comprises a load-store unit (LSU) with a banked level-one (L1) data cache. When a store operation is ready to write data to the L1 data cache, the store operation will skip the write to any banks that have a conflict with a concurrent load operation. A partial write of the store operation will be performed to those banks of the L1 data cache that do not have a conflict with a concurrent load operation. For every attempt to write the store operation, a corresponding store mask will be updated to indicate which portions of the store operation were successfully written to the L1 data cache.


