ACM Home Page
Please provide us with feedback. Feedback
Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers
Full text PdfPdf (1.20 MB)
Source ACM SIGARCH Computer Architecture News archive
Volume 18 ,  Issue 3a  (June 1990) table of contents
Special Issue: Proceedings of the 17th annual international symposium on Computer Architecture
Pages: 364 - 373  
Year of Publication: 1990
ISSN:0163-5964
Also published in ...
Author
Norman P. Jouppi  Digital Equipment Corporation Western Research Lab, 100 Hamilton Ave., Palo Alto, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 72,   Downloads (12 Months): 207,   Citation Count: 303
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/325096.325162
What is a DOI?

ABSTRACT

Projections of computer technology forecast processors with peak performance of 1,000 MIPS in the relatively near future. These processors could easily lose half or more of their performance in the memory hierarchy if the hierarchy design is based on conventional caching techniques. This paper presents hardware techniques to improve the performance of caches. Miss caching places a small fully-associative cache between a cache and its refill path. Misses in the cache that hit in the miss cache have only a one cycle miss penalty, as opposed to a many cycle miss penalty without the miss cache. Small miss caches of 2 to 5 entries are shown to be very effective in removing mapping conflict misses in first-level direct-mapped caches. Victim caching is an improvement to miss caching that loads the small fully-associative cache with the victim of a miss and not the requested line. Small victim caches of 1 to 5 entries are even more effective at removing conflict misses than miss caching. Stream buffers prefetch cache lines starting at a cache miss address. The prefetched data is placed in the buffer and not in the cache. Stream buffers are useful in removing capacity and compulsory cache misses, as well as some instruction cache conflict misses. Stream buffers are more effective than previously investigated prefetch techniques at using the next slower level in the memory hierarchy when it is pipelined. An extension to the basic stream buffer, called multi-way stream buffers, is introduced. Multi-way stream buffers are useful for prefetching along multiple intertwined data reference streams. Together, victim caches and stream buffers reduce the miss rate of the first level in the cache hierarchy by a factor of two to three on a set of six large benchmarks.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
Borg, Anita, Kessler, Rick E., Lazana, Georgia, and Wall, David W. Long Address Traces from RISC Machines: Generation and Analysis. Tech. Rept. 89114, Digital Equipment Corporation Western Research Laboratory, September, 1989.
 
3
Digital Equipment Corporation, Inc. VAX Hardware Handbook, volume I - 1984. Maynard, Massachusetts, 1984.
4
 
5
Eustace, Alan. Private communication.
6
 
7
8
9
 
10
Nielsen, Michael J. K. Titan System Manual. Tech. Rept. 86/l, Digital Equipment Corporation Western Research Laboratory, September, 1986.
 
11
Ousterhout, John. Why Aren't Operating Systems Getting Faster As Fast As Hardware? Tech. Rept. Technote 11, Digital Equipment Corporation Western Research Laboratory, October, 1989.
 
12
Smith, Alan J. "Sequential program prefetching in memory hierarchies. "IEEE Computer 11, 12 (December 1978), 7-21.
13

CITED BY  303