Bounding worst-case instruction cache performance

The use of caches poses a difficult tradeoff for architects of real-time systems. While caches provide significant performance advantages, they have also been viewed as inherently unpredictable, since the behavior of a cache reference depends upon the history of the previous references. The use of caches is only suitable for real-time systems if a reasonably tight bound on the performance of programs using cache memory can be predicted. This paper describes an approach for bounding the worst-case instruction cache performance of large code segments. First, a new method called static cache simulation is used to analyze a program's control flow to statically categorize the caching behavior of each instruction. A timing analyzer, which uses the categorization information, then estimates the worst-case instruction cache performance for each loop and function in the program.<<ETX>>

[1]  Sang Lyul Min,et al.  A dual-mode instruction prefetch scheme for improved worst case and average case program execution times , 1993, 1993 Proceedings Real-Time Systems Symposium.

[2]  John A. Stankovic,et al.  Predictable Real-Time Caching in the Spring System , 1991 .

[3]  D. B. Kirk,et al.  SMART (strategic memory allocation for real-time) cache design , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[4]  David B. Whalley,et al.  A retargetable technique for predicting execution time , 1992, [1992] Proceedings Real-Time Systems Symposium.

[5]  Douglas Niehaus Program representation and translation for predictable real-time systems , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[6]  David B. Whalley,et al.  A design environment for addressing architecture and compiler interactions , 1992, Inf. Softw. Technol..

[7]  Frank Mueller,et al.  Static cache simulation and its applications , 1995 .

[8]  David Whalley,et al.  A Design Environment for Addressing Architecutre and Compiler Interactions , 1993 .

[9]  Mark D. Hill,et al.  A case for direct-mapped caches , 1988, Computer.

[10]  David B. Whalley,et al.  Efficient On-the-fly Analysis of Program Behavior and Static Cache Simulation , 1994, SAS.

[11]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[12]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .