Analysis of DSP-kernel software by implicit cache simulation

We introduce a new approach to performance analysis of DSP-kernel software, based on high-level abstractions, called implicit cache simulation. The method can take into account any kind of instruction cache as well as code allocation effects. We show that no loss of estimation accuracy is implied by the proposed abstractions. Moreover the speed of the method is such that it can be efficiently used as a system-level design tool. We compare implicit cache simulation with the trace-driven simulation approach, commonly used in industry. Experimental results show that our method is 4 times faster in the average and up to 11 times faster than trace-driven simulation.

[1]  Luciano Lavagno System-level design models and implementation techniques , 1998, Proceedings 1998 International Conference on Application of Concurrency to System Design.

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

[3]  Patrick Cousot,et al.  Abstract interpretation , 1996, CSUR.

[4]  Rolf Ernst,et al.  Embedded program timing analysis based on path clustering and architecture classification , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[5]  Sharad Malik,et al.  Cache modeling for real-time software: beyond direct mapped instruction caches , 1996, 17th IEEE Real-Time Systems Symposium.

[6]  Trevor N. Mudge,et al.  Trace-driven memory simulation: a survey , 1997, CSUR.

[7]  S. Lorenzini,et al.  A fast procedure placement algorithm for optimal cache use , 1998, MELECON '98. 9th Mediterranean Electrotechnical Conference. Proceedings (Cat. No.98CH36056).

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

[9]  Luciano Lavagno,et al.  Hardware-software codesign of embedded systems , 1994, IEEE Micro.

[10]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .

[11]  David B. Whalley,et al.  Bounding Pipeline and Instruction Cache Performance , 1999, IEEE Trans. Computers.

[12]  A. Sangiovanni-Vincentelli,et al.  A software tool for the timing analysis of embedded software , 2000, 2000 10th Mediterranean Electrotechnical Conference. Information Technology and Electrotechnology for the Mediterranean Countries. Proceedings. MeleCon 2000 (Cat. No.00CH37099).

[13]  Sharad Malik,et al.  Performance estimation of embedded software with instruction cache modeling , 1999, TODE.

[14]  Luciano Lavagno,et al.  Hardware-Software Co-Design of Embedded Systems , 1997 .

[15]  Hiroyuki Tomiyama,et al.  Optimal code placement of embedded software for instruction caches , 1996, Proceedings ED&TC European Design and Test Conference.