skip to main content
research-article

Analyzing the worst-case execution time for instruction caches with prefetching

Authors Info & Claims
Published:04 January 2009Publication History
Skip Abstract Section

Abstract

Time predictability is one of the most important design considerations for real-time systems. In this article, we study the impact of instruction prefetching on the worst-case performance of instruction caches. We extend the static cache simulation technique to model and compute the worst-case instruction cache performance with prefetching. The evaluation results show that instruction prefetching can benefit both the average-case and worst-case performance; however, the degree of the worst-case performance improvement due to instruction prefetching is less than that of the average-case performance. As a result, the time variation of computing is increased by instruction prefetching. Also, our experimental results indicate that the prefetching distance can significantly impact the worst-case performance of instruction caches with instruction prefetching. Specifically, when the prefetching distance is equal to the L1 miss penalty, the worst-case execution time with instruction prefetching is minimized.

References

  1. Arnold, R., Muller, F., Whalley, D., and Harmon, M. 1994. Bounding worst-case instruction cache performance. In 15th Proceedings of the Real-Time Systems Symposium (RTSS'95). IEEE, Los Alamitos, CA, 172--181.Google ScholarGoogle Scholar
  2. Batcher, K. and Walker, R. 2006. Interrupt triggered software prefetching for embedded CPU instruction cache. In Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium. IEEE, Los Alamitos, CA, 91--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Chen, K., Malik, S., and August, D. 2001. Retargetable static timing analysis for embedded software. In Proceedings of the 45th International Symposium on System Synthesis (ISSS'01). ACM, New York, NY, 126--131. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Chow, P., Hammarlund, P., Aamodt, T., Marcuello, P., and Wang, H. 2004. Hardware support for prescient instruction prefetch. In Proceedings of the 10th International Symposium on High Performance Computer Architecture (HPCA'04). IEEE, Los Alamitos, CA, 84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Engblom, J. and Wilhelm, R. 2004. Requirements for and design of a processor with predictable timing. In Proceedings of the Dagstuhl Perspectives Workshop on Design of Systems with Predictable Behavior.Google ScholarGoogle Scholar
  6. Healy, C., Whalley, D., and Harmon, M. 1995. Integrating the timing analysis of pipelining and instruction caching. In Proceedings of the 16th Real-Time Systems Symposium (RTSS'95). IEEE, Los Alamitos, CA, 288. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Joseph, D. and Grunwald, D. 1997. Prefetching using markov predictors. In Proceedings of the 24th International Symposium on Computer Architecture (ISCA'97). IEEE, Los Alamitos, CA, 121--133. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kathail, V., Schlansker, M., and Rau, B. 2000. Hpl-pd architecture specification: version 1.1. HPL Tech. rep.Google ScholarGoogle Scholar
  9. Kim, H. 2001. Region-based register allocation for epic architecture. Ph.D. Thesis, NYU. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Langenbach, M., Thesing, S., and Heckmann, R. 2002. Pipeline modeling for timing analysis. In Proceedings of the 9th International Symposium on Static Analysis (SAS'02). Springer, Berlin, Germany, 294--309. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lee, M., Min, S., and Kim, C. 1994. A worst case timing analysis technique for instruction prefetch buffers. Microprocess. Microprogram. 40, 10--12, 681--684. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Li, Y., Malik, S., and Wolfe, A. 1996. Cache modeling for real-time software: beyond direct mapped instruction caches. In Proceedings of the 17th IEEE Real-Time Systems Symposium (RTSS'96). IEEE, Los Alamitos, CA, 254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Lim, S., Bae, Y., Jang, G., Rhee, B., Min, S., Park, C., Shin, H., Park, K., and Kim, C. 1994. An accurate worst case timing analysis technique for risc processors. In Proceedings of the 15th IEEE Real-Time Systems Symposium (RTSS'94). IEEE, Los Alamitos, CA, 595--604.Google ScholarGoogle Scholar
  14. Liu, J. and Lee, H. 1994. Deterministic upperbounds of the worst-case execution times of cached programs. In Proceedings of the 15th IEEE Real-Time Systems Symposium (RTSS'94). IEEE, Los Alamitos, CA, 182--191.Google ScholarGoogle Scholar
  15. Luk, C. and Mowry, T. C. 1998. Cooperative prefetching: compiler and hardware support for effective instruction prefetching in modern processors. In Proceedings of the 31st annual ACM/IEEE International Symposium on Microarchitecture (MICRO'98). IEEE, Los Alamitos, CA, 182--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Maynard, A., Donnelly, C., and Olszewski, B. 1994. Contrasting characteristics and cache performance of technical and multi-user commercial workloads. In Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-VI'94). ACM, New York, NY, 145--156. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Pierce, J. and Mudge, T. 1996. Wrong-path prefetching. In Proceedings of the 6th Annual ACM/IEEE International Symposium on Microarchitecture (MICRO'96). IEEE, Los Alamitos, CA, 165--175. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Puaut, I. 2006. Wcet-centric software-controlled instruction caches for hard real-time systems. In Proceedings of the 18th Euromicro Conference on Real-Time Systems (ECRTS'06). IEEE, Los Alamitos, CA, 217--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Reinman, G., Calder, B., and Austin, T. 1999. Fetch directed instruction prefetching. In Proceedings of the 32nd International Symposium on Microarchitecture (MICRO'99). IEEE, Los Alamitos, CA, 16--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Rochange, C. and Sainrat, P. 2002. Difficulties in computing the WCET for processors with speculative execution. In Proceedings of the 2nd Wireless Communications Engineering Technologies (WCET'02). IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar
  21. Simpson, D. 1989. Real-time RISC. In Proceedings of the International Conference on System Integration, 38.Google ScholarGoogle Scholar
  22. Smith, A. 1978. Sequential program prefetching in memory hiearchies. IEEE Compu. 11, 2, 7--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Smith, A. 1982. Cache memories. ACM Comput. Surv. 14, 3, 473--530. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Smith, J. and Hsu, W. C. 1992. Prefetching in supercomputer instruction caches. In Proceedings of the 6th ACM/IEEE conference on Supercomputing (ICS'92). IEEE, Los Alamitos, CA, 588--597. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Srinivasan, V., Davidson, E., Tyson, G., Charney, M., and Puzak, T. 2001. Branch history guided instruction prefetching. In Proceedings of the 7th International Conference on High Performance Computer Architecture (HPCA'01). IEEE, Los Alamitos, CA, 291. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Suhendra, V., Mitra, T., Roychoudhury, A., and Chen, T. 2005. WCET centric data allocation to scratchpad memory. In Proceedings of the 26th IEEE Real-Time Systems Symposium (RTSS'05). IEEE, Los Alamitos, CA, 223--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Thesing, S. 2004. Safe and precise worst-case execution time prediction by abstract interpretation of pipeline models. PhD thesis, Saarland University.Google ScholarGoogle Scholar
  28. Trimaran. An infrastructure for research in backend compilation and architecture exploration. http://www.trimaran.org.Google ScholarGoogle Scholar
  29. Wu, G. and Yao, L. 2004. A new WCET estimation algorithm based on instruction cache and prefetching combined model. In Proceedings of the 9th International Conference on Embedded Software and Systems (ICESS'04). Springer, Berlin, Germany, 557--562, Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Xia, C. and Torrellas, J. 1996. Instruction prefetching of systems codes with layout optimized for reduced cache misses. In Proceedings of the 23rd International Symposium on Computer Architecture (ISCA'96). IEEE, Los Alamitos, CA, 271--282. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Analyzing the worst-case execution time for instruction caches with prefetching

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!