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.
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Kathail, V., Schlansker, M., and Rau, B. 2000. Hpl-pd architecture specification: version 1.1. HPL Tech. rep.Google Scholar
- Kim, H. 2001. Region-based register allocation for epic architecture. Ph.D. Thesis, NYU. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Simpson, D. 1989. Real-time RISC. In Proceedings of the International Conference on System Integration, 38.Google Scholar
- Smith, A. 1978. Sequential program prefetching in memory hiearchies. IEEE Compu. 11, 2, 7--21. Google Scholar
Digital Library
- Smith, A. 1982. Cache memories. ACM Comput. Surv. 14, 3, 473--530. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Thesing, S. 2004. Safe and precise worst-case execution time prediction by abstract interpretation of pipeline models. PhD thesis, Saarland University.Google Scholar
- Trimaran. An infrastructure for research in backend compilation and architecture exploration. http://www.trimaran.org.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Analyzing the worst-case execution time for instruction caches with prefetching
Recommendations
WCET analysis of instruction caches with prefetching
Proceedings of the 2007 LCTES conferenceInstruction prefetching is an effective technique to reduce the instruction cache miss latency for improving the average-case performance. For real-time systems, however, the use of instruction prefetching will only besuitable if a reasonably tight ...
WCET analysis of instruction caches with prefetching
LCTES '07: Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systemsInstruction prefetching is an effective technique to reduce the instruction cache miss latency for improving the average-case performance. For real-time systems, however, the use of instruction prefetching will only besuitable if a reasonably tight ...
Execution History Guided Instruction Prefetching
The increasing gap in performance between processors and main memory has made effective instructions prefetching techniques more important than ever. A major deficiency of existing prefetching methods is that most of them require an extra port to I-...






Comments