Prefetch Generation Circuitry for Irregular Data Access Patterns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Prefetching in data processing systems faces challenges with irregular and non-repeating data access patterns, particularly in producer-consumer load relationships, where variability in data values leads to unpredictable access patterns, making it difficult to identify and schedule effective prefetches.

Innovation Solution

A data processing apparatus with a producer pattern history table and prefetch generation circuitry that stores producer-consumer relationships and uses usefulness metrics to initiate producer prefetches and issue corresponding consumer prefetches, based on criteria such as confidence and timeliness values, to manage and optimize data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If prefetching is used to reduce memory access latency, then data access speed is improved, but it becomes difficult to identify and schedule prefetches when dealing with irregular access patterns from producer-consumer load relationships

Engineering Contradiction:
Improvedata access speedVSAvoiddifficulty of identifying prefetch patterns
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback mechanisms by monitoring actual memory access patterns and using this information to dynamically adjust prefetch decisions. The system observes producer-consumer load relationships and uses this feedback to identify when prefetching is appropriate, even in irregular access patterns. This allows the system to adapt to varying access patterns and improve prefetch accuracy over time.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary analysis of load instructions to identify potential producer-consumer relationships before actual memory access occurs. By detecting these relationships in advance and predicting future access patterns, the system can schedule prefetch operations proactively rather than reactively, reducing latency for anticipated memory accesses.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If prefetch operations are initiated for producer loads, then data access efficiency is improved, but the complexity of managing producer-consumer relationships increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidcomplexity of managing producer-consumer relationships
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the complex task of managing producer-consumer relationships into distinct components: identifying producer loads, tracking consumer loads, analyzing access patterns, and generating prefetch requests. By dividing this complex function into manageable segments, the system can handle each aspect separately using dedicated hardware structures and algorithms, reducing overall system complexity while maintaining high data access efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces intermediary data structures and control logic that mediate between producer loads and consumer loads. These intermediaries track relationships and coordinate prefetch operations without requiring direct complex interactions between all producer-consumer pairs, simplifying the management of relationships while maintaining productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If consumer prefetches are issued based on producer prefetch data, then latency is reduced, but the requirement for usefulness metrics and criteria increases system complexity

Engineering Contradiction:
Improvememory access latencyVSAvoidcomplexity of usefulness metrics evaluation
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent employs parameter changes by using configurable thresholds and metrics for evaluating prefetch usefulness. Instead of complex qualitative analysis, the system uses quantitative parameters such as access frequency, temporal patterns, and spatial relationships to determine whether prefetching is beneficial. These parameters can be adjusted based on workload characteristics, allowing the system to reduce latency through simple, efficient metric evaluation rather than complex decision-making.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11442863B2Data processing apparatus and method for generating prefetches
Publication Date: 2022.09.13 ARM LTD
  • US11442863B2 patent drawing
  • US11442863B2 patent drawing
  • US11442863B2 patent drawing

AI summary

Data processing apparatuses and methods of processing data are disclosed. The operations comprise: storing copies of data items; and storing, in a producer pattern history table, a plurality of producer-consumer relationships, each defining an association between producer load indicator and a plurality of consumer load entries, each consumer load entry comprising a consumer load indicator and one or more usefulness metrics. Further steps comprise: initiating, in response to a data load from an address corresponding to the producer load indicator in the producer pattern history table and when at least one of the corresponding one or more usefulness meets a criterion, a producer prefetch of data to be prefetched for storing as a local copy; and issuing, when the data is returned, one or more consumer prefetches to return consumer data from a consumer address generated from the data returned by the producer prefetch and a consumer load indicator of a consumer load entry.