Skip to main content

A miss history-based architecture for cache prefetching

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 986))

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.

Unable to display preview. Download preview PDF.

References

  1. T.F. Chen and J.L. Baer. Reducing memory latency via non-blocking and prefetching caches. ASPLOS-V, October 1992.

    Google Scholar 

  2. Tien-Fu Chen. Data Prefetching for High-Performance Processors. PhD thesis, University of Washington Department of Computer Science and Engineering, July 1993.

    Google Scholar 

  3. Edward G. Coffman and Peter J. Denning. Operating Systems Theory. Prentice-Hall, 1973.

    Google Scholar 

  4. K.M. Curewitz, P. Krishnan, and J.S. Vitter. Practical prefetching via data compression. In Proceedings of 1993 ACM SIGMOD, June 1993.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. James Griffioen and Randy Appleton. Reducing file system latency using a predictive approach. In Proceedings of the Summer 1994 USENIX Conference, June 1994.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. J.L. Hennessy and N.P. Jouppi. Computer technology and architecture: An evolving interaction. IEEE Computer, 24, 1991.

    Google Scholar 

  11. John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufman, 1990.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. T.C. Mowry, M.S. Lam, and Anoop Gupta. Design and evaluation of a compiler algorithm for prefetching. ASPLOS-V, October 1992.

    Google Scholar 

  15. M. Palmer and S. Zdonik. Fido: A cache that learns to fetch. In Proceedings of 1991 International Conference on Very Large Databases, September 1991.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. Thomas R. Puzak. Analysis of Cache Replacement Algorithms. PhD thesis, University of Massachusetts Department of Electrical and Computer Engineering, February 1985.

    Google Scholar 

  18. Anne Rogers and Kai Li. Software support for speculative loads. ASPLOS-V, October 1992.

    Google Scholar 

  19. I. Sklenar. Prefetch unit for vector operations on scalar computers. Computer Architecture News, 20(4), 1992.

    Google Scholar 

  20. A.J. Smith. Sequential program prefetching in memory hierarchies. IEEE Computer, 12, December 1978.

    Google Scholar 

  21. Insgik Song and Yookun Cho. Page prefetching based on fault history. In Proceedings of USENIX Mach III Symposium, 1993.

    Google Scholar 

  22. J.R. Spirn and P.J. Denning. Experiments with program locality. In Proceedings of AFIPS FJCC, volume 1, pages 611–621, 1972.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Henry G. Baler

Rights and permissions

Reprints 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

Publish with us

Policies and ethics