Title :
Context-sensitive timing simulation of binary embedded software
Author :
Ottlik, Sebastian ; Stattelmann, Stefan ; Viehl, Alexander ; Rosenstiel, Wolfgang ; Bringmann, Oliver
Author_Institution :
FZI Res. Center for Inf. Technol., Karlsruhe, Germany
Abstract :
We present an approach to accurately simulate the temporal behavior of binary embedded software based on timing data generated using static analysis. As the timing of an instruction sequence is significantly influenced by the microarchitecture state prior to its execution, which highly depends on the preceding control flow, a sequence must be separately considered for different control flow paths instead of estimating the influence of basic blocks or single instructions in isolation. We handle the thereby arising issue of an excessive or even infinite number of different paths by considering different execution contexts instead of control flow paths. Related approaches using context-sensitive cycle counts during simulation are limited to simulating the control flow that could be considered during analysis. We eliminate this limitation by selecting contexts dynamically, picking a suitable one when no predetermined choice is available, thereby enabling a context-sensitive simulation of unmodified binary code of concurrent programs, including asynchronous events such as interrupts. In contrast to other approximate binary simulation techniques, estimates are conservative, yet tight, making our approach reliable when evaluating performance goals. For a multi-threaded application the simulation deviates only by 0.24% from hardware measurements while the average overhead is only 50% compared to a purely functional simulation.
Keywords :
concurrency control; embedded systems; program diagnostics; software architecture; binary embedded software; concurrent programs; context-sensitive timing simulation; control flow paths; instruction sequence timing; microarchitecture state; static analysis; Analytical models; Context; Context modeling; Data models; Databases; Software; Timing; Binary Level Simulation; Instruction Set Simulation; Software Timing Simulation; System Level Design; Virtual Prototyping;
Conference_Titel :
Compilers, Architecture and Synthesis for Embedded Systems (CASES), 2014 International Conference on
Conference_Location :
Jaypee Greens
DOI :
10.1145/2656106.2656117