Principles of timing anomalies in superscalar processors

The counter-intuitive timing behavior of certain features in superscalar processors that cause severe problems for existing worst-case execution time analysis (WCET) methods is called timing anomalies. In this paper, we identify structural sources potentially causing timing anomalies in superscalar pipelines. We provide examples for cases where timing anomalies can arise in much simpler hardware architectures than commonly supposed (i.e., even in hardware containing only in-orderfunctional units). We elaborate the general principle behind timing anomalies and propose a general criterion (resource allocation criterion) that provides a necessary (but not sufficient) condition for the occurrence of timing anomalies in a processor. This principle allows to state the absence of timing anomalies for a specific combination of hardware and software and thus forms a solid theoretic foundation for the time-predictable execution of real-time software on complex processor hardware.

[1]  R. M. Tomasulo,et al.  An efficient algorithm for exploiting multiple arithmetic units , 1995 .

[2]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[3]  Frank D. Murgolo Anomalous behavior in bin packing algorithms , 1988, Discret. Appl. Math..

[4]  Alan C. Shaw,et al.  Reasoning About Time in Higher-Level Language Software , 1989, IEEE Trans. Software Eng..

[5]  Alan C. Shaw,et al.  Experiments with a program timing tool based on source-level timing schema , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[6]  M.J. Morgan Integrated modular avionics for next generation commercial airplanes , 1991, IEEE Aerospace and Electronic Systems Magazine.

[7]  M. J. Morgan Integrated modular avionics for next generation commercial airplanes , 1991 .

[8]  Hermann Kopetz,et al.  Real-time systems , 2011 .

[9]  David B. Whalley,et al.  Bounding worst-case instruction cache performance , 1994, 1994 Proceedings Real-Time Systems Symposium.

[10]  Sharad Malik,et al.  Efficient microarchitecture modeling and path analysis for real-time software , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[11]  Sang Lyul Min,et al.  An Accurate Worst Case Timing Analysis for RISC Processors , 1995, IEEE Trans. Software Eng..

[12]  Henrik Theiling,et al.  Combining abstract interpretation and ILP for microarchitecture modelling and program path analysis , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[13]  Sang Lyul Min,et al.  A worst case timing analysis technique for multiple-issue machines , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[14]  David B. Whalley,et al.  Bounding Pipeline and Instruction Cache Performance , 1999, IEEE Trans. Computers.

[15]  V. Stavridou,et al.  A model of noninterference for integrating mixed-criticality software components , 1999, Dependable Computing for Critical Applications 7.

[16]  Per Stenström,et al.  Timing anomalies in dynamically scheduled microprocessors , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[17]  Jakob Engblom Static properties of commercial embedded real-time programs, and their implication for worst-case execution time analysis , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[18]  Jörn Schneider Combined schedulability and WCET analysis for real-time operating systems , 2000 .

[19]  Jakob Engblom,et al.  Processor Pipelines and Static Worst-Case Execution Time Analysis , 2002 .

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

[21]  Reinhard Wilhelm,et al.  The influence of processor architecture on the design and the results of WCET tools , 2003, Proceedings of the IEEE.

[22]  Eric Rotenberg,et al.  Virtual simple architecture (VISA): exceeding the complexity limit in safe real-time systems , 2003, ISCA '03.

[23]  Peter P. Puschner,et al.  Computing Maximum Task Execution Times — A Graph-Based Approach , 2004, Real-Time Systems.

[24]  Peter P. Puschner,et al.  Calculating the maximum execution time of real-time programs , 1989, Real-Time Systems.

[25]  Raimund Kirner,et al.  Automatic timing model generation by CFG partitioning and model checking , 2005, Design, Automation and Test in Europe.