Abstract
This paper describes a hardware controlled cache prefetching technique which uses the past behavior of misses to prefetch. We present a low cost prefetch-on-miss architecture for implementing the prefetcher. Its requirements are (1) less than 6.25% increase in the main memory size, and (2) a bidirectional address bus. We evaluate the performance of our prefetcher using trace driven simulations of ATUM and SPEC benchmark suits. For a 4-way set associative 32KB cache, with at most one prefetch on a miss, we obtain miss ratio improvements over a non-prefetching scheme in the range of 23 to 37%. This improvement is obtained at the cost of increasing the bus traffic up to 39% above the non-prefetching scheme. In comparison to the sequential method, the miss ratio improves up to 14% and the bus traffic reduces up to 17%. Similar improvements over the sequential technique are obtained for larger caches and direct mapped caches.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
T.F. Chen and J.L. Baer. Reducing memory latency via non-blocking and prefetching caches. ASPLOS-V, October 1992.
Tien-Fu Chen. Data Prefetching for High-Performance Processors. PhD thesis, University of Washington Department of Computer Science and Engineering, July 1993.
Edward G. Coffman and Peter J. Denning. Operating Systems Theory. Prentice-Hall, 1973.
K.M. Curewitz, P. Krishnan, and J.S. Vitter. Practical prefetching via data compression. In Proceedings of 1993 ACM SIGMOD, June 1993.
J.K. Flanagan, B. Nelson, J. Archibald, and K. Grimsrud. BACH: BYU address collection hardware; the collection of complete traces. In International Workshop on Modeling Techniques and Tools for Computer Performance Evaluation, September 1992.
J.W.C. Fu and J.H. Patel. Data prefetching in multiprocessor vector cache memories. In Proceedings of the 18th Annual Symposium on Computer Architecture, pages 54–63, 1991.
J.W.C. Fu and J.H. Patel. Stride directed prefetching in scalar processors. In Proceedings of the 25th International Symposium on Microarchitecture, pages 102–110, 1992.
James Griffioen and Randy Appleton. Reducing file system latency using a predictive approach. In Proceedings of the Summer 1994 USENIX Conference, June 1994.
I.J. Haikala. ARMA model of program behaviour. In Proceedings of Performance '86 and ACM SIGMETRICS 1986 Joint Conference on Computer Performance Modeling, Measurement and Evaluation, pages 170–179, May 1986.
J.L. Hennessy and N.P. Jouppi. Computer technology and architecture: An evolving interaction. IEEE Computer, 24, 1991.
John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufman, 1990.
N.P. Jouppi. Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers. In Proceedings of the 17th Annual Symposium on Computer Architecture, pages 364–373, May 1990.
A.C. Klaiber and H.M. Levy. An architecture for software-controlled data prefetching. In Proceedings of the 18th Annual Symposium on Computer Architecture, pages 43–53, 1991.
T.C. Mowry, M.S. Lam, and Anoop Gupta. Design and evaluation of a compiler algorithm for prefetching. ASPLOS-V, October 1992.
M. Palmer and S. Zdonik. Fido: A cache that learns to fetch. In Proceedings of 1991 International Conference on Very Large Databases, September 1991.
Vidyadhar Phalke and B. Gopinath. An inter-reference gap model for temporal locality in program behavior. In Proceedings of ACM SIGMETRICS 1995 Conference on Measurement and Modeling of Computer Systems, May 1995.
Thomas R. Puzak. Analysis of Cache Replacement Algorithms. PhD thesis, University of Massachusetts Department of Electrical and Computer Engineering, February 1985.
Anne Rogers and Kai Li. Software support for speculative loads. ASPLOS-V, October 1992.
I. Sklenar. Prefetch unit for vector operations on scalar computers. Computer Architecture News, 20(4), 1992.
A.J. Smith. Sequential program prefetching in memory hierarchies. IEEE Computer, 12, December 1978.
Insgik Song and Yookun Cho. Page prefetching based on fault history. In Proceedings of USENIX Mach III Symposium, 1993.
J.R. Spirn and P.J. Denning. Experiments with program locality. In Proceedings of AFIPS FJCC, volume 1, pages 611–621, 1972.
Dominique Thiebaut. On the fractal dimension of computer programs and it s application to the prediction of the cache miss ratio. IEEE Transactions on Computers, 38(7), July 1989.
J.S. Vitter and P. Krishnan. Optimal prefetching via data compression. In Proceedings of the 32nd Annual IEEE Symposium on Foundations of Computer Science, October 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag
About this paper
Cite this paper
Phalke, V., Gopinath, B. (1995). A miss history-based architecture for cache prefetching. In: Baler, H.G. (eds) Memory Management. IWMM 1995. Lecture Notes in Computer Science, vol 986. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60368-9_35
Download citation
DOI: https://doi.org/10.1007/3-540-60368-9_35
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60368-9
Online ISBN: 978-3-540-45511-0
eBook Packages: Springer Book Archive