AMPM Prefetcher Wildcard Pattern Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current prefetching mechanisms in processors face challenges in improving accuracy and reducing power consumption, particularly in portable devices where energy is limited, as they often result in inaccurate predictions leading to reduced performance and increased power usage.
Innovation Solution
The implementation of an access map-pattern match (AMPM) based prefetcher that uses wildcards to filter out noise in access maps, supports out-of-order execution, and includes features for detecting irregular strides and patterns, along with a quality factor to control prefetch generation, and a chained access map for large streaming prefetches to manage memory efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional prefetching mechanisms are implemented to reduce memory latency, then memory access speed is improved, but prefetching accuracy deteriorates leading to inaccurate predictions
Solution Approach 1:
The access map is divided into multiple segments or regions, each tracked separately with its own pattern matcher. This segmentation allows the system to identify and prefetch data for specific access patterns while ignoring noise from other patterns, thereby improving prefetching accuracy without sacrificing memory access speed.
Solution Approach 2:
An access map data structure serves as an intermediary between the cache access requests and the prefetching mechanism. This intermediary structure organizes and filters access patterns, enabling accurate identification of prefetch candidates while reducing false predictions, thus resolving the contradiction between speed and accuracy.
2Speed
If aggressive prefetching is performed to reduce effective memory latency, then memory access performance is improved, but power consumption increases
Solution Approach 1:
The system performs partial prefetching by selectively initiating prefetch operations only for cache blocks that match identified access patterns in the access map. Rather than aggressively prefetching all potential data, the system applies prefetching action only where and when needed, reducing unnecessary power consumption while maintaining improved memory access performance for the targeted data.
3Measurement precision
If the access map tracks detailed cache access patterns to improve prefetching accuracy, then prediction quality is improved, but device complexity increases
Solution Approach 1:
The patent extracts only the essential and relevant access pattern information into the access map data structure, filtering out unnecessary details. By taking out only the critical pattern elements needed for accurate prefetching predictions, the system maintains high prediction quality while minimizing the complexity of the access map structure.
4Productivity
If prefetching is implemented to improve processor performance, then instruction execution speed is improved, but excess power consumption occurs that reduces battery life in portable devices
Solution Approach 1:
The access map data structure provides feedback mechanisms that monitor and evaluate the effectiveness of prefetching operations. By tracking access patterns and predicting future cache needs accurately, the system can adjust prefetching behavior to maximize performance benefits while minimizing unnecessary prefetch operations that would consume excess energy, thereby preserving battery life in portable devices.
Data Source
AI summary
In an embodiment, a processor may implement an access map-pattern match (AMPM)-based prefetcher in which patterns may include wild cards for some cache blocks. The wild card may match any access for the corresponding cache block (e.g. no access, demand access, prefetch, successful prefetch, etc.). Furthermore, patterns with irregular strides and/or irregular access patterns may be included in the matching patterns and may be detected for prefetch generation. In an embodiment, the AMPM prefetcher may implement a chained access map for large streaming prefetches. If a stream is detected, the AMPM prefetcher may allocate a pair of map entries for the stream and may reuse the pair for subsequent access map regions within the stream. In some embodiments, a quality factor may be associated with each access map and may control the rate of prefetch generation.


