• DocumentCode
    170692
  • 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
  • fYear
    2014
  • fDate
    12-17 Oct. 2014
  • Firstpage
    1
  • Lastpage
    10
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Compilers, Architecture and Synthesis for Embedded Systems (CASES), 2014 International Conference on
  • Conference_Location
    Jaypee Greens
  • Type

    conf

  • DOI
    10.1145/2656106.2656117
  • Filename
    6972467