Trace-based context-sensitive timing simulation considering execution path variations

We present a fast and accurate timing simulation of binary code execution on complex embedded processors. Underlying block timings are extracted from a preceding hardware execution and differentiated by execution context. Thereby, complex factors, such as caches, can be reflected accurately without explicit modeling. Based on timings observed in one hardware execution, timing of numerous other executions for different inputs can be simulated at an average error below 5% for complex applications on an ARM Cortex-A9 processor.

[1]  Atsushi Ike,et al.  Fast cycle estimation methodology for instruction-level emulator , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[2]  Wolfgang Rosenstiel,et al.  Parallel video-based traffic sign recognition on the Intel SCC many-core platform , 2012, Proceedings of the 2012 Conference on Design and Architectures for Signal and Image Processing.

[3]  Stijn Eyerman,et al.  An Evaluation of High-Level Mechanistic Core Models , 2014, ACM Trans. Archit. Code Optim..

[4]  Todd M. Austin,et al.  SimpleScalar: An Infrastructure for Computer System Modeling , 2002, Computer.

[5]  Brad Calder,et al.  Automatically characterizing large scale program behavior , 2002, ASPLOS X.

[6]  Andreas Gerstlauer,et al.  Automated, retargetable back-annotation for host compiled performance and power modeling , 2013, 2013 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[7]  Wolfgang Rosenstiel,et al.  Combining instruction set simulation and WCET analysis for embedded software performance estimation , 2012, 7th IEEE International Symposium on Industrial Embedded Systems (SIES'12).

[8]  Henrik Theiling,et al.  Control flow graphs for real-time systems analysis: reconstruction from binary executables and usage in ILP-based path analysis , 2002 .

[9]  Wolfgang Rosenstiel,et al.  Context-sensitive timing simulation of binary embedded software , 2014, 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES).

[10]  Jan Madsen,et al.  A Reactive and Cycle-True IP Emulator for MPSoC Exploration , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Wolfgang Rosenstiel,et al.  Fast and accurate source-level simulation of software timing considering complex code optimizations , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[12]  Ricardo Reis,et al.  Instruction-driven timing CPU model for efficient embedded software development using OVP , 2013, 2013 IEEE 20th International Conference on Electronics, Circuits, and Systems (ICECS).

[13]  Douglas M. Hawkins,et al.  Characterizing and comparing prevailing simulation techniques , 2005, 11th International Symposium on High-Performance Computer Architecture.

[14]  Andreas Herkersdorf,et al.  System-level software performance simulation considering out-of-order processor execution , 2012, 2012 International Symposium on System on Chip (SoC).

[15]  Andreas Herkersdorf,et al.  Context-aware compiled simulation of out-of-order processor behavior based on atomic traces , 2011, 2011 IEEE/IFIP 19th International Conference on VLSI and System-on-Chip.

[16]  Stefan Hauck-Stattelmann,et al.  On the Use of Context Information for Precise Measurement-Based Execution Time Estimation , 2010, WCET.