Hardware-driven prefetching for pointer data references
- 13 July 1998
- proceedings article
- Published by Association for Computing Machinery (ACM)
- p. 377-384
- https://doi.org/10.1145/277830.277924
Abstract
Effectiveness of a data prefetch mechanism lies in the exploration of regular access patterns found in the memory reference address sequence. Previous research shows that selective prefetch schemes are effective for linearly accessed memory references, including instructions and data array accesses with constant strides. Extending them to pointer accesses limits their effectiveness because such linear function nor highly accurate probabilistic model is difficult to find. In this paper, a fresh look into data access regularity and predictability from the runtime selfmodification of register values is proposed. Then, a hardware driven prefetch scheme, called the Reference Value Prediction Caching (RVPC), is proposed to realize this predictability model. This RVPC scheme is based on the detection of self-modifying instructions in loops and the use of self-modifying registers in data references. Simulation result shows that significant reduction in memory latency can be obtained, especially in non-pointer data structures including linked lists and trees.Keywords
This publication has 12 references indexed in Scilit:
- Compiler-based prefetching for recursive data structuresPublished by Association for Computing Machinery (ACM) ,1996
- Evaluation of hardware-based stride and sequential prefetching in shared-memory multiprocessorsIEEE Transactions on Parallel and Distributed Systems, 1996
- Effective hardware-based data prefetching for high-performance processorsIEEE Transactions on Computers, 1995
- Design and evaluation of a compiler algorithm for prefetchingPublished by Association for Computing Machinery (ACM) ,1992
- Reducing memory latency via non-blocking and prefetching cachesPublished by Association for Computing Machinery (ACM) ,1992
- Tolerating latency through software-controlled prefetching in shared-memory multiprocessorsJournal of Parallel and Distributed Computing, 1991
- Data prefetching in multiprocessor vector cache memoriesPublished by Association for Computing Machinery (ACM) ,1991
- Software prefetchingPublished by Association for Computing Machinery (ACM) ,1991
- Compiler-directed data prefetching in multiprocessors with memory hierarchiesPublished by Association for Computing Machinery (ACM) ,1990
- Cache MemoriesACM Computing Surveys, 1982