Prefetching using Markov predictors
- 1 February 1999
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 48 (2) , 121-133
- https://doi.org/10.1109/12.752653
Abstract
Prefetching is one approach to reducing the latency of memory operations in modern computer systems. In this paper, we describe the Markov prefetcher. This prefetcher acts as an interface between the on-chip and off-chip cache and can be added to existing computer designs. The Markov prefetcher is distinguished by prefetching multiple reference predictions from the memory subsystem, and then prioritizing the delivery of those references to the processor. This design results in a prefetching system that provides good coverage, is accurate, and produces timely results that can be effectively used by the processor. We also explored a range of techniques that can be used to reduce the bandwidth demands of prefetching, leading to improved memory system performance. In our cycle-level simulations, the Markov Prefetcher reduces the overall execution stalls due to instruction and data memory operations by an average of 54 percent for various commercial benchmarks while only using two-thirds the memory of a demand-fetch cache organization.Keywords
This publication has 14 references indexed in Scilit:
- Characterization of Alpha AXP performance using TP and SPEC workloadsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Complexity/performance tradeoffs with non-blocking loadsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Evaluating stream buffers as a secondary cache replacementPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Speeding up irregular applications in shared-memory multiprocessors: memory binding and group prefetchingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Cache miss heuristics and preloading techniques for general-purpose programsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1995
- Contrasting characteristics and cache performance of technical and multi-user commercial workloadsPublished by Association for Computing Machinery (ACM) ,1994
- 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
- An architecture for software-controlled data prefetchingACM SIGARCH Computer Architecture News, 1991
- Dynamic Improvement of Locality in Virtual Memory SystemsIEEE Transactions on Software Engineering, 1976