Correlated Prefetcher History Table Offset Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Correlated prefetchers face limitations due to the large size of history tables required to store correlation information, which exceeds the cost and space constraints, especially in hardware implementations, leading to inefficiencies in cache hits and processor performance.
Innovation Solution
The techniques involve storing offset values related to detected patterns of addresses instead of absolute addresses, using functions like XOR to reduce the number of bits required for indexing into the history table, allowing for more correlation information to be stored without increasing the table size, and utilizing program counters to determine prefetch addresses based on access patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If absolute addresses are stored in the history table to enable accurate prefetching, then prefetch accuracy is improved, but the history table size increases excessively
Solution Approach 1:
The patent extracts only the necessary offset information from the full address space. Instead of storing complete absolute addresses in the history table, it stores only the offset values (difference between consecutive addresses) and the base address separately. This extraction reduces the storage requirement while maintaining the ability to accurately determine prefetch addresses through the relationship: prefetch_address = base_address + offset.
Solution Approach 2:
The patent segments the address storage into two components: a base address (stored once per pattern) and offset values (stored relative to base). This segmentation allows the history table to store correlation information more efficiently by breaking down the full address into meaningful components, reducing redundant storage while preserving prefetch accuracy.
2Adaptability or versatility
If more correlation information is stored in the history table to handle graph-structured applications, then prefetch capability is improved, but hardware cost and space requirements increase
Solution Approach 1:
The patent changes the parameter representation from absolute addresses to offset values. This parameter transformation allows the history table to store the same correlation information with reduced bit width, thereby decreasing hardware space requirements while maintaining the ability to handle complex graph-structured applications and various access patterns.
Solution Approach 2:
The patent introduces an intermediary representation (offset values) between the raw address data and the prefetch decision. This intermediary form allows correlation information to be stored more compactly and efficiently, enabling enhanced prefetch capability for complex data structures without proportionally increasing hardware resources.
3Ease of manufacture
If the history table size is reduced to meet cost constraints, then hardware implementation is improved, but the amount of correlation information that can be stored decreases
Solution Approach 1:
The patent uses offset values as a compressed copy of the address information. Instead of storing full addresses, it stores offset copies that preserve the relative relationships between addresses. This copying approach maintains the essential correlation information needed for accurate prefetching while significantly reducing the storage space required in the history table.
Data Source
AI summary
Memory prefetching in a processor comprises: identifying, in response to memory access instructions, a pattern of addresses; and determining, based on the pattern of addresses, an address to prefetch. Determining the address to prefetch comprises: determining, using the pattern of addresses, an index into a history table; retrieving, from the history table and using the index, an offset value, wherein the offset value is not the address to prefetch; and determining the address to prefetch using the offset value and at least one address of the pattern of addresses. The method further comprises prefetching the address to prefetch.


