Branch Misprediction-Aware Cache Prefetcher Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache prefetchers struggle to distinguish between correctly predicted and mispredicted instruction fetches, leading to unnecessary cache prefetches and pollution due to training on speculative memory accesses from mispredicted branches.

Innovation Solution

Implement a system that provides branch misprediction information to the cache prefetcher, allowing it to filter out speculative memory accesses and train only on non-speculative ones, thereby improving cache prefetching accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the cache prefetcher trains on all memory accesses including speculative ones, then the training data volume is maximized, but cache pollution increases and prefetching accuracy deteriorates

Engineering Contradiction:
Improvetraining data volumeVSAvoidprefetching accuracy
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent extracts and removes speculative memory accesses from the training data set. The cache prefetcher identifies speculative accesses through branch prediction information and excludes them from training, thereby preventing cache pollution while maintaining adequate training data volume from non-speculative accesses.

Inventive Principle:
Principle #2Taking out (Extraction)

2Object-generated harmful factors

If the cache prefetcher filters out speculative memory accesses, then cache pollution is reduced, but the complexity of distinguishing speculative from non-speculative accesses increases

Engineering Contradiction:
Improvecache pollutionVSAvoidfiltering mechanism complexity
Core Design Contradiction:
Object-generated harmful factorsVSDevice complexity

Solution Approach 1:

The patent introduces branch prediction information as an intermediary mechanism to identify speculative memory accesses. This mediator provides the cache prefetcher with the necessary information to distinguish speculative from non-speculative accesses without requiring complex analysis of each memory access pattern.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If branch misprediction information is integrated into the cache prefetcher, then prefetching accuracy is improved, but the system complexity increases

Engineering Contradiction:
Improveprefetching accuracyVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the branch prediction information with the cache prefetcher training mechanism. By combining these two previously separate functions, the system enables the cache prefetcher to use branch prediction outcomes to inform its training decisions, improving accuracy while leveraging existing hardware components.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250306943A1Systems and methods for branch misprediction aware cache prefetcher training
Publication Date: 2025.10.02 ADVANCED MICRO DEVICES INC
  • US20250306943A1 patent drawing
  • US20250306943A1 patent drawing
  • US20250306943A1 patent drawing

AI summary

The disclosed device uses a control circuit configured to (i) receive branch misprediction information corresponding to a mispredicted branch window of instructions and (ii) send a misprediction status of a memory access from the mispredicted branch window of instructions, and a cache prefetcher of a cache configured to train using a set of memory accesses that are updated in response to receiving the misprediction status from the control circuit.