AMPM Prefetcher Wildcard Pattern Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvememory access speedVSAvoidprefetching accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If aggressive prefetching is performed to reduce effective memory latency, then memory access performance is improved, but power consumption increases

Engineering Contradiction:
Improveeffective memory latencyVSAvoidprocessor power consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

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.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If the access map tracks detailed cache access patterns to improve prefetching accuracy, then prediction quality is improved, but device complexity increases

Engineering Contradiction:
Improveprediction qualityVSAvoidaccess map structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improveprocessor performanceVSAvoidbattery life
Core Design Contradiction:
ProductivityVSLoss of energy

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9015422B2Access map-pattern match based prefetch unit for a processor
Publication Date: 2015.04.21 APPLE INC
  • US9015422B2 patent drawing
  • US9015422B2 patent drawing
  • US9015422B2 patent drawing

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.