Improving the First-Miss Computation in Set-Associative Instruction Caches

The methods for worst case execution time (WCET) computation need to analyse both the control flow of the task, and the architecture effects involved by the hosting architecture. An important architectural effect that needs to be predicted is the instruction cache behavior. This prediction is commonly performed by assigning to each program instruction a category that describes its behavior. One of these categories, first miss, means that the first reference is a cache miss, while the subsequent references give hits. Yet, there is variations in the meanings of this category according to the used methods, capturing overlapping but not equivalents sets of cache behaviors. In this paper, we have analysed the shortcomings of the First-Miss computation methods, and we have deduced an improved first miss computation approach which captures a maximum of cache behaviors while eliminating some of the most time-consuming processing. We have implemented our method in the frame of C. Ferdinand's categorization method, enhancing his approach for first miss handling, and compared it with the non-enhanced versions. The results shows a tighter WCET, and a greatly reduced computation time.

[1]  AbsInt Angewandte,et al.  Fast and Precise WCET Prediction by Separated Cache and Path Analyses , 1999 .

[2]  Sharad Malik,et al.  Performance analysis of embedded software using implicit path enumeration , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  Reinhard Wilhelm,et al.  Cache Behavior Prediction by Abstract Interpretation , 1996, Sci. Comput. Program..

[4]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[5]  Sharad Malik,et al.  Efficient microarchitecture modeling and path analysis for real-time software , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[6]  Jakob Engblom,et al.  Pipeline timing analysis using a trace-driven simulator , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[7]  Pascal Sainrat,et al.  OTAWA, a Framework for Experimenting WCET Computations , 2006 .

[8]  Jan Gustafsson,et al.  Towards Industry-Strength Worst-Case Execution Time Analysis , 1999 .

[9]  Frank Müller,et al.  Timing Analysis for Instruction Caches , 2000, Real-Time Systems.

[10]  Pascal Sainrat,et al.  An improved approach for set-associative instruction cache partial analysis , 2008, SAC '08.

[11]  Christian Ferdinand A fast and efficient cache persistence analysis , 2005 .

[12]  Patrick Cousot,et al.  Static determination of dynamic properties of programs , 1976 .

[13]  Reinhard Wilhelm,et al.  Applying Compiler Techniques to Cache Behavior Prediction , 2007 .

[14]  David B. Whalley,et al.  Fast instruction cache analysis via static cache simulation , 1995, Proceedings of Simulation Symposium.