Unified AMPM Prefetch Circuit for Multi-Level Cache Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current prefetching mechanisms in processors face challenges in improving memory latency and reducing power consumption, particularly in multi-level cache systems, where inaccurate prefetching can lead to performance degradation and increased energy usage, especially in portable devices.

Innovation Solution

Implementing an access map-pattern match (AMPM)-based prefetch circuit that centralizes prefetch generation and controls prefetches at different cache levels, using access patterns to determine which levels should receive prefetches, and adjusting prefetch granularity based on workload analysis to enhance accuracy and reduce power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If prefetching is implemented to reduce memory latency, then memory access performance is improved, but power consumption increases due to unnecessary prefetch operations

Engineering Contradiction:
Improvememory access performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements feedback mechanisms that monitor prefetch accuracy and cache utilization. The system uses feedback from cache hit/miss ratios and access patterns to dynamically adjust prefetching behavior, enabling the processor to learn which prefetch operations are beneficial and which consume energy without improving performance.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies dynamic adjustments to prefetching parameters based on runtime conditions. The system dynamically modifies prefetch distance, prefetch frequency, and cache level selection according to observed access patterns and workload characteristics, allowing optimal balance between performance improvement and power consumption.

Inventive Principle:
Principle #15Dynamics

2Productivity

If prefetching is used to improve processor performance, then instruction execution speed increases, but inaccurate prefetching causes performance degradation

Engineering Contradiction:
Improveprocessor performanceVSAvoidprefetch accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements self-service mechanisms where the prefetching system automatically learns from and adapts to actual access patterns. The system uses observed access behavior to refine its prediction models, enabling it to serve itself by continuously improving accuracy without external intervention.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes key parameters such as prefetch distance, prefetch timing, and cache level selection based on analyzed access patterns. By adjusting these parameters dynamically, the system optimizes prefetch accuracy for different workload types and access patterns, preventing performance degradation from inaccurate prefetches.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple levels of caching are implemented to reduce latency, then memory access speed improves, but determining the optimal cache level for prefetching becomes more complex

Engineering Contradiction:
Improvememory access speedVSAvoidprefetch control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the prefetch control function by cache level, with dedicated control logic for each cache level (L1, L2, L3). This segmentation allows independent optimization and control of prefetching at each level, reducing the overall complexity of managing multi-level cache prefetching through modular, level-specific strategies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies dynamic cache level selection based on access patterns and system state. The prefetching system dynamically determines which cache level to target based on observed access characteristics, workload type, and cache availability, simplifying control by making level selection adaptive rather than static or manual.

Inventive Principle:
Principle #15Dynamics

4Loss of time

If prefetch operations are executed to reduce effective memory latency, then data availability time decreases, but excess power consumption reduces battery life in portable devices

Engineering Contradiction:
Improveeffective memory latencyVSAvoidbattery life
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent uses feedback from power consumption monitoring and performance metrics to adjust prefetching intensity. The system learns from feedback about which prefetch operations actually improve latency and which merely consume battery power, enabling energy-aware prefetching that extends battery life in portable devices.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent dynamically changes prefetching parameters such as prefetch distance and frequency based on power availability and performance needs. In power-constrained portable devices, the system reduces prefetching intensity or adjusts parameters to minimize energy consumption while maintaining acceptable performance, thereby extending battery life.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10621100B1Unified prefetch circuit for multi-level caches
Publication Date: 2020.04.14 APPLE INC
  • US10621100B1 patent drawing
  • US10621100B1 patent drawing
  • US10621100B1 patent drawing

AI summary

In an embodiment, a processor may implement an access map-pattern match (AMPM)-based prefetch circuit for a multi-level cache system. The access patterns that are matched to the access maps may include prefetches for different cache levels. Centralizing the generation of prefetches into one prefetch circuit may provide better observability and controllability of prefetching at various levels of the cache hierarchy, in an embodiment. Prefetches at different levels may be controlled individually based on the accuracy of those prefetches, in an embodiment. Additionally, in an embodiment, access patterns that are longer that a given threshold may have the granularity of the prefetches change so that more data is prefetched and the prefetches occur farther in advance, in some embodiments.