Prefetcher Tracking Table for Accuracy and Coverage Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing prefetcher performance tuning methods are constrained by the fixed capacity of tracking mechanisms tied to cache size, limiting the accuracy and coverage metrics, which can lead to cache pollution and adverse processor performance.

Innovation Solution

A table indexed by addresses with counters to track demand and prefetch requests, allowing for dynamic calculation of prefetcher accuracy and coverage, independent of cache size, and resetting when a condition is met to maintain meaningful results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the tracking mechanism size is increased to improve accuracy and coverage metrics, then the prefetcher performance measurement is improved, but the hardware resource consumption and device complexity increase

Engineering Contradiction:
Improveprefetcher accuracy and coverage metricsVSAvoidtracking mechanism size
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the tracking mechanism into multiple tables, each responsible for tracking a specific portion of the address space. This allows the system to achieve comprehensive coverage without requiring a single large tracking structure, thereby reducing hardware complexity while maintaining measurement precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the tracking mechanism by organizing tables based on address space partitions rather than directly mapping to cache lines. This dimensional change allows efficient tracking of prefetcher metrics without requiring proportional hardware resources to cache size.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of manufacture

If the tracking mechanism is tied to cache size, then the implementation is simplified, but the accuracy and coverage measurement capability is constrained

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprefetcher accuracy and coverage
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The patent creates a universal tracking mechanism that can measure prefetcher performance across different cache configurations and address space sizes. The table-based structure with address indexing allows the same mechanism to adapt to various cache sizes without requiring redesign, achieving both implementation simplicity and measurement precision.

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

3Quantity of substance

If a fixed-size tracking mechanism is used, then the hardware resources are conserved, but the prefetcher performance tuning capability is limited

Engineering Contradiction:
Improvehardware resourcesVSAvoidprefetcher performance tuning
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic tracking mechanism where tables can be selectively activated or deactivated based on the current workload and address space requirements. This allows the system to conserve hardware resources when full tracking capability is not needed, while providing full adaptability for performance tuning when required.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9058278B2Tracking prefetcher accuracy and coverage
Publication Date: 2015.06.16 ADVANCED MICRO DEVICES INC
  • US9058278B2 patent drawing
  • US9058278B2 patent drawing
  • US9058278B2 patent drawing

AI summary

A method, an apparatus, and a non-transitory computer readable medium for tracking accuracy and coverage of a prefetcher in a processor are presented. A table is maintained and indexed by an address, wherein each entry in the table corresponds to one address. A number of demand requests that hit in the table on a prefetch, a total number of demand requests, and a number of prefetch requests are counted. The accuracy of the prefetcher is calculated by dividing the number of demand requests that hit in the table on a prefetch by the number of prefetch requests. The coverage of the prefetcher is calculated by dividing the number of demand requests that hit in the table on a prefetch by the total number of demand requests. The table and the counters are reset when a reset condition is reached.