Control-Flow-Driven Source Level Timing Annotation for Embedded Software Models on Transaction Level

Instrumented software models feature a combination of software functionality as well as timing information to model execution times on embedded processors. They aim to replace instruction set simulators in virtual prototypes (VP) of embedded systems to improve simulation efficiency. In this work, a novel control flow mapping algorithm is presented to automatically generate timing annotations for instrumented software models. The method is based on the analysis of loop and control dependency properties of basic code blocks in the binary and source code control flow. With these properties, the method can find suitable positions to annotate the timing delay statements of binary code basic blocks into the source code. It shows high accuracy even in the case that the binary code is optimized during compilation. The paper also presents the novel idea of adding timing control statements into the source code to improve timing accuracy. The error in runtime estimation was found to be below 6\% for standard test programs. A case study for a VP shows a gain in simulation efficiency of three orders of magnitude compared to an ISS based model.

[1]  Wolfgang Rosenstiel,et al.  High-performance timing simulation of embedded software , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[2]  C. A. Lang Programming languages for writing system programs , 1974 .

[3]  Ren-Song Tsay,et al.  Source-level timing annotation for fast and accurate TLM computation model generation , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[4]  Jong-Yeol Lee,et al.  Timed compiled-code simulation of embedded software for performance analysis of SOC design , 2002, DAC '02.

[5]  Antonio Sánchez,et al.  SciSim: a software performance estimation framework using source code instrumentation , 2008, WOSP '08.

[6]  Eric Cheung,et al.  Fast and accurate performance simulation of embedded software for MPSoC , 2009, 2009 Asia and South Pacific Design Automation Conference.

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

[8]  Wolfgang Rosenstiel,et al.  Reconstructing Line References from Optimized Binary Code for Source-Level Annotation , 2010, FDL.

[9]  Frédéric Pétrot,et al.  Native MPSoC co-simulation environment for software performance estimation , 2009, CODES+ISSS '09.

[10]  Alberto L. Sangiovanni-Vincentelli,et al.  Source-Level Timing Annotation and Simulation for a Heterogeneous Multiprocessor , 2008, 2008 Design, Automation and Test in Europe.

[11]  Andreas Gerstlauer,et al.  Fast and accurate processor models for efficient MPSoC design , 2010, TODE.

[12]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[13]  Alberto L. Sangiovanni-Vincentelli,et al.  A compilation-based software estimation scheme for hardware/software co-simulation , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[14]  Donatella Sciuto,et al.  Source-level execution time estimation of C programs , 2001, Ninth International Symposium on Hardware/Software Codesign. CODES 2001 (IEEE Cat. No.01TH8571).

[15]  Ken Kennedy,et al.  AS imple, Fast Dominance Algorithm , 1999 .

[16]  Wolfgang Ecker,et al.  TLM+ modeling of embedded HW/SW systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[17]  Zhonglei Wang,et al.  An efficient approach for system-level timing simulation of compiler-optimized embedded software , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[18]  Flávio Rech Wagner,et al.  Applying neural networks to performance estimation of embedded software , 2008, J. Syst. Archit..

[19]  D. Gajski,et al.  Multi-metric and multi-entity characterization of applications for early system design exploration , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[20]  Timothy J. Harvey,et al.  AS imple, Fast Dominance Algorithm , 1999 .

[21]  FerranteJeanne,et al.  The program dependence graph and its use in optimization , 1987 .