ABSTRACT
Instruction 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 worst-case performance of programs using instruction prefetching can be predicted. This paper presents an approach to modeling and computing the worst-case instruction cache performance with prefetching. Our experimental results indicate 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, thus leading to increased time variation for real-time computing. Also, we find that the prefetching distance can significantly impact the worst-case performance analysis with instruction prefetching. Particularly, when the prefetching distance is equal to the L1 miss penalty, the worst-case execution time with instruction prefetching is minimized (i.e., optimal).
- C. Luk and T. C. Mowry. Cooperative prefetching: compiler and hardware support for effective instruction prefetching in modern processors. In Proc. of MICRO, 1998. Google Scholar
Digital Library
- C. Berg, J. Engblom and R. Wilhelm. Requirements for and design of a processor with predictable timing. In Proc. of the Dagstuhl Perspectives Workshop on Design of Systems with Predictable Behavior, 2004.Google Scholar
- R. Arnold, F. Muller, D. Whalley, and M. Harmon. Bounding worst-case instruction cache performance. In Proc. of the Real-Time Systems Symposium, 1994.Google Scholar
Cross Ref
- C. A. Healy, D. B. Whalley, and M. G. Harmon. Integrating the timing analysis of pipelining and instruction caching. In Proc. of the Real-Time Systems Symposium, 1995. Google Scholar
Digital Library
- A. Maynard, C. Donnelly, and B. Olszewski. Contrasting characteristics and cache performance of technical and multi-user commercial workloads. In Proc. of ASPLOS-VI, 1994. Google Scholar
Digital Library
- A. Smith. Sequential program prefetching in memory hiearchies. IEEE Computer, 11(2):7--21, 1978.Google Scholar
Digital Library
- A. Smith. Cache memories. Computing surveys, 1493):473--530, September 1982. Google Scholar
Digital Library
- J. Smith, and W. C. Hsu. Prefetching in supercomputer instruction caches. In Supercomputing'92, pp. 588--597, 1992. Google Scholar
Digital Library
- J. Pierce and T. Mudge. Wrong-path prefetching. In Proc. of MICRO, Dec. 1996. Google Scholar
Digital Library
- D. Joseph and D. Grunwald. Prefetching using markov predictors. In Proc. of ISCA, June 1997. Google Scholar
Digital Library
- D. Simpson. Real-time RISC. In System Integration, pp. 35--38, July 1989.Google Scholar
- M. Lee, S. L. Min, and C. S. Kim. A worst case timing analysis technique for instruction prefetch buffers. In Micro-processing and Microprogramming, 1994. Google Scholar
Digital Library
- K. Chen, S. Malik, and D.I. August. Retargetable static timing analysis for embedded software, In Proc. of ISSS, pp. 39--44, 2001. Google Scholar
Digital Library
- V. Kathail, M. Schlansker, and B. R. Rau. HPL-PD architecture specification: version 1.1. HPL Technical Report, 2000.Google Scholar
- Trimaran homepage, http://www.trimaran.org.Google Scholar
- http://archi.snu.ac.kr/realtime/benchmark/.Google Scholar
- H. Kim. Region-based register allocation for EPIC architec ture. Ph.D. Thesis, NYU, 2001. Google Scholar
Digital Library
- S. S. Lim, Y. H. Bae, G. T. Jang, B. D. Rhee, S. L. Min, C. Y. Park, H. Shin, K. Park, and C. S. Kim. An accurate worst case timing analysis technique for RISC processors. In Proc. of the 15th IEEE Real-Time Systems Symposium, 1994.Google Scholar
- J. C. Liu and H. J. Lee. Deterministic upperbounds of the worst-case execution times of cached programs. In Proc. of the 15th IEEE Real-Time Systems Symposium, 1994.Google Scholar
- Y. S. Li, S. Malik and A. Wolfe. Cache modeling for real-time software: beyond direct mapped instruction caches. In Proc. of 17th IEEE Real-Time Systems Symposium, 1996. Google Scholar
Digital Library
- G. Wu and L. Yao. A new WCET estimation algorithm based on instruction cache and prefetching combined model. In Proc. of ICESS, 2004. Google Scholar
Digital Library
- X. Vera, B. Lisper and J. Xue. Data cache locking for higher program predictability. In 2003 ACM International Conference on Measurement and Modeling of Computer Systems, 2003. Google Scholar
Digital Library
- V. Suhendra, T. Mitra, A. Roychoudhury, and T. Chen. WCET centric data allocation to scratchpad memory. In Proc. of the 26th IEEE Real-Time Systems Symposium, 2005. Google Scholar
Digital Library
- I. Puaut. WCET-Centric Software-controlled Instruction Caches for Hard Real-Time Systems. In Proc. of the 18th Euromicro Conference on Real-Time Systems, Dresden, Germany, July 2006. Google Scholar
Digital Library
- C. Rochange and P. Sainrat: Difficulties in computing the WCET for processors with speculative execution. In Proc. of WCET, 2002.Google Scholar
- M. Langenbach, S. Thesing, R. Heckmann. Pipeline modeling for timing analysis. In Proc. of SAS 2002. Google Scholar
Digital Library
- S. Thesing. Safe and precise worst-case execution time prediction by abstract interpretation of pipeline models. PhD thesis, Saarland University, 2004.Google Scholar
Index Terms
WCET analysis of 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 ...
Analyzing the worst-case execution time for instruction caches with prefetching
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 ...
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