An architecture for software-controlled data prefetching
- 1 April 1991
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 19 (3) , 43-53
- https://doi.org/10.1145/115953.115958
Abstract
This paper describes an architecture and related compiler support for software-controlled data prefetching, a technique to hide memory latency in high-performance processors. At compile-time, FETCH instructions are inserted into the instruction-stream by the compiler, based on anticipated data references and detailed information about the memory system. At run time, a separate functional unit in the CPU, the fetch unit, interprets these instructions and initiates appropriate memory reads, Prefetched data is kept in a small, fullyassociative cache, called the fetchbufler, to reduce contention with the conventional direct-mapped cache. We also introduce a prewriteback technique that can reduce the impact of stalls due to replacement writebacks in the cache. A detailed hardware model is presented and the required compiler support is developed. Simulations based on a MIPS processor model show that this technique can dramatically reduce on-chip cache miss ratios and average observed memory latency for scientific loops at only slight cost in total memory traffic.Keywords
This publication has 7 references indexed in Scilit:
- Compiler-directed data prefetching in multiprocessors with memory hierarchiesPublished by Association for Computing Machinery (ACM) ,1990
- Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffersPublished by Association for Computing Machinery (ACM) ,1990
- Techniques for efficient inline tracing on a shared-memory multiprocessorPublished by Association for Computing Machinery (ACM) ,1990
- Working set prefetching for cache memoriesACM SIGARCH Computer Architecture News, 1989
- TRAPEDS: producing traces for multicomputers via execution driven simulationPublished by Association for Computing Machinery (ACM) ,1989
- Strategies for cache and local memory management by global program transformationJournal of Parallel and Distributed Computing, 1988
- Cache MemoriesACM Computing Surveys, 1982