Context-Sensitive Timing Automata for Fast Source Level Simulation
Sebastian Ottlik1, Christoph Gerum2, Alexander Viehl1, Wolfgang Rosenstiel1,2 and Oliver Bringmann1,2
1FZI Research Center for Information Technology, Haid-und-Neu-Str. 1021514, D-76131 Karlsruhe, Germany
2University of Tübingen, Sand 13, D-72076 Tuebingen, Germany
ABSTRACT
We present a novel technique for efficient source level timing simulation of embedded software execution on a target platform. In contrast to existing approaches, the proposed technique can accurately approximate time without requiring a dynamic cache model. Thereby the dramatic reduction in simulation performance inherent to dynamic cache modeling is avoided. Consequently, our approach enables an exploitation of the performance potential of source level simulation for complex microarchitectures that include caches. Our approach is based on recent advances in context-sensitive binary level timing simulation. However, a direct application of the binary level approach to source level simulation reduces simulation performance similarly to dynamic cache modeling. To overcome this performance limitation, we contribute a novel pushdown automaton based simulation technique. The proposed contextsensitive timing automata enable an efficient evaluation of complex simulation logic with little overhead. Experimental results show that the proposed technique provides a speed up of an order of magnitude compared to existing context selection techniques and simple source level cache models. Simulation performance is similar to a state of the art accelerated cache simulation. The accelerated simulation is only applicable in specific circumstances, whereas the proposed approach does not suffer this limitation.