CheckerCore: enhancing an FPGA soft core to capture worst-case execution times

Embedded processors have become increasingly complex, resulting in variable execution behavior and reduced timing predictability. On such processors, safe timing specifications expressed as bounds on the worst-case execution time (WCET) are generally too loose due to conservative assumptions about complex architectural features, timing anomalies and programmatic complexities. Hence, exploiting the latest architectures may not be an option for embedded systems with hard real-time constraints where deadline misses cannot be tolerated. This work addresses these shortcomings by contributing CheckerCore. CheckerCore is a mode-enhanced SPARC v8 soft core processor synthesized on an FPGA. During regular execution the core adheres to its original specifications. But when operating in a special time-checking configuration, CheckerCore executes programs irrespective of inputs and steers execution intentionally along selected control flow paths. Such execution allows systematic derivation of worst-case execution time (WCET) bounds. This paper presents the overall design and implementation of CheckerCore and also illustrates its use in deriving accurate WCET bounds for a set of embedded benchmarks. Overall, CheckerCore proposes a realistic processor core enhancement that encapsulate processor details without revealing them to users while supporting safe bounding of WCETs. To the best of our knowledge, this is the first contribution of a WCET-enhancing microarchitectural feature besides full processor encapsulations.

[1]  Alan Burns,et al.  Statistical analysis of WCET for scheduling , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[2]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[3]  Edwin Hsing-Mean Sha,et al.  Estimating probabilistic timing performance for real-time embedded systems , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[4]  Gustavo de Veciana,et al.  Hierarchical algorithms for assessing probabilistic constraints on system performance , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[5]  Thomas Lundqvist,et al.  A WCET Analysis Method for Pipelined Microprocessors with Cache Memories , 2002 .

[6]  Frank Mueller,et al.  Hybrid Timing Analysis of Modern Processor Pipelines via Hardware/Software Interactions , 2008, 2008 IEEE Real-Time and Embedded Technology and Applications Symposium.

[7]  Guillem Bernat,et al.  WCET analysis of probabilistic hard real-time systems , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[8]  Fredrik Larsson,et al.  Simics: A Full System Simulation Platform , 2002, Computer.

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

[10]  Jack Whitham,et al.  Real-time processor architectures for worst case execution time reduction , 2008 .

[11]  Eric Rotenberg,et al.  Enforcing safety of real-time schedules on contemporary processors using a virtual simple architecture (VISA) , 2004, 25th IEEE International Real-Time Systems Symposium.

[12]  Frank Mueller,et al.  Tightening the Bounds on Feasible Preemption Points , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[13]  Joachim Wegener,et al.  A Comparison of Static Analysis and Evolutionary Testing for the Verification of Timing Constraints , 2004, Real-Time Systems.

[14]  David B. Whalley,et al.  ParaScale: exploiting parametric timing analysis for real-time schedulers and dynamic voltage scaling , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[15]  Miguel Felder,et al.  Testing Timing Behavior of Real-Time Software , 1997 .

[16]  Per Stenström,et al.  An Integrated Path and Timing Analysis Method based on Cycle-Level Symbolic Execution , 1999, Real-Time Systems.

[17]  Gustavo de Veciana,et al.  Assessing Probabilistic Timing Constraints on System Performance , 2000, Des. Autom. Embed. Syst..

[18]  Frank Mueller,et al.  Merging State and Preserving Timing Anomalies in Pipelines of High-End Processors , 2008, 2008 Real-Time Systems Symposium.