Store Queue Physical Address Proxies for Cache Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache memories in microprocessors face challenges in reducing access time and improving cache coherency, particularly in multi-processor systems, where cache coherency protocols like write-invalidate can be inefficient due to the need to manage extensive cache coherence-related information, leading to increased latency and processor performance bottlenecks.

Innovation Solution

Implementing a physically-indexed physically-tagged second-level set-associative cache with a store queue that uses store physical address proxies (PAPs) to efficiently manage cache coherence, allowing the load unit to forward store data based on PAPs during load instructions, thereby reducing the need for physical address comparisons and improving cache access times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache memories store extensive cache coherence-related information to maintain coherency in multi-processor systems, then cache coherency is maintained, but cache access time increases and processor performance decreases

Engineering Contradiction:
Improvecache coherencyVSAvoidcache access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the cache coherence management function from the main cache structure by introducing a separate store queue. This queue holds store instructions and their physical address proxies independently, allowing the cache to focus on fast data access while the queue handles coherence protocols, thereby reducing cache access time while maintaining coherency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The store queue acts as an intermediary between store instructions and the cache memory. It buffers store operations and uses physical address proxies to track cached data without requiring full cache line comparisons, enabling efficient coherence management that doesn't bottleneck cache access performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cache memories hold more information including tags, status, and replacement policy, then cache coherency and management are improved, but the physical size of the cache increases

Engineering Contradiction:
Improvecache coherency managementVSAvoidphysical size of cache
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent uses physical address proxies as simplified copies of full physical addresses in the store queue. These proxies contain only the essential information needed to identify cached data (set index and way number), eliminating the need to store extensive coherence information in the main cache structure, thus reducing physical size while maintaining management capability.

Inventive Principle:
Principle #26Copying

3Area of stationary object

If the cache memory capacity is reduced to decrease physical size, then the physical footprint is smaller, but the cache hit rate decreases

Engineering Contradiction:
Improvephysical size of cacheVSAvoidcache hit rate
Core Design Contradiction:
Area of stationary objectVSProductivity

Solution Approach 1:

The store queue serves multiple functions: it buffers store instructions, tracks cached data using physical address proxies, enables store-to-load forwarding, and manages cache coherence. This multi-functionality allows the system to maintain effective cache management with smaller capacity by efficiently utilizing the available space for high-impact operations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Measurement precision

If physical address comparisons are performed for store-to-load forwarding, then forwarding accuracy is improved, but the time required for address matching increases

Engineering Contradiction:
Improveforwarding accuracyVSAvoidaddress matching time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent changes the parameter used for address matching from full physical addresses to compressed physical address proxies. These proxies retain the critical set index and way number bits needed for accurate matching while reducing the total number of bits compared, enabling fast comparison that doesn't sacrifice forwarding accuracy.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11416406B1Store-to-load forwarding using physical address proxies stored in store queue entries
Publication Date: 2022.08.16 VENTANA MICRO SYSTEMS INC
  • US11416406B1 patent drawing
  • US11416406B1 patent drawing
  • US11416406B1 patent drawing

AI summary

A microprocessor includes a store queue (SQ) and a physically-indexed physically-tagged second-level set-associative cache. Each cache entry is uniquely identified by a set index and a way number. Each SQ entry holds information for a store instruction. The information includes store data to be written to a store physical address, a portion of which is a store physical line address. The information also includes a store physical address proxy (PAP) for the store physical line address. The store PAP specifies the set index and the way number of the cache entry into which a cache line specified by the store physical line address is allocated. A load unit, during execution of a load instruction, uses the store PAP held in a SQ entry in making a decision whether to forward to the load instruction the store data held in the SQ entry.