Prefetch Cache Invalidation for Microprocessor Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing prefetching mechanisms in microprocessors place additional load on limited resources, such as the external bus and cache memories, due to the generation of prefetch requests, leading to inefficiencies and potential latency in data access.

Innovation Solution

A memory subsystem with a first-level cache, a second-level cache, and a prefetch cache that allows the same cache line to be simultaneously present in both the second-level and prefetch caches, with the prefetch cache invalidating its copy if a request hits in both, ensuring efficient resource utilization and reducing redundant bus transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If prefetch requests are generated to improve data access performance, then data access latency is reduced, but the load on external bus and cache resources increases

Engineering Contradiction:
Improvedata access latencyVSAvoidresource utilization efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The prefetch cache speculatively prefetches cache lines from external memory into the cache hierarchy before they are actually needed by the processor. This preliminary action brings data into the cache system in advance, reducing future data access latency while the speculative nature allows for efficient resource management through validation mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The prefetch cache acts as an intermediary component between the external memory and the main cache hierarchy. It receives prefetch requests, fetches data from external memory, and provides it to the second-level cache or directly to the first-level cache, thereby mediating the data flow and reducing the load on the external bus for subsequent accesses.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the same cache line is allowed in both second-level cache and prefetch cache, then resource utilization is improved, but cache coherence management becomes more complex

Engineering Contradiction:
Improvecache resource utilizationVSAvoidcache coherence management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the functionality of the prefetch cache with the existing second-level cache by allowing them to share the same physical cache lines. This consolidation improves resource utilization by eliminating redundant storage of the same data in separate cache structures, while the unified management approach simplifies coherence protocols compared to completely separate cache systems.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The prefetch cache creates copies of cache lines from external memory that can simultaneously exist in both the prefetch cache and the second-level cache. This copying mechanism enables parallel access paths while the invalidation logic ensures that when a cache line is present in both caches, the second-level cache provides the authoritative copy to the first-level cache, maintaining coherence.

Inventive Principle:
Principle #26Copying

3Reliability

If prefetch cache invalidates its copy when hit in both caches, then cache coherence is maintained, but additional validation logic is required

Engineering Contradiction:
Improvecache coherenceVSAvoidvalidation logic
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where the prefetch cache monitors hits in both the prefetch cache and second-level cache. When a cache line is found in both caches, the prefetch cache receives feedback to invalidate its copy, ensuring that the second-level cache provides the authoritative data to the first-level cache. This feedback-driven invalidation logic maintains coherence with minimal additional complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8543765B2Efficient data prefetching in the presence of load hits
Publication Date: 2013.09.24 VIA TECH INC
  • US8543765B2 patent drawing
  • US8543765B2 patent drawing
  • US8543765B2 patent drawing

AI summary

A memory subsystem in a microprocessor includes a first-level cache, a second-level cache, and a prefetch cache configured to speculatively prefetch cache lines from a memory external to the microprocessor. The second-level cache and the prefetch cache are configured to allow the same cache line to be simultaneously present in both. If a request by the first-level cache for a cache line hits in both the second-level cache and in the prefetch cache, the prefetch cache invalidates its copy of the cache line and the second-level cache provides the cache line to the first-level cache.