WCET Analysis of Superscalar Processors Using Simulation With Coloured Petri Nets

Determining a tight WCET of a block of code to be executed on a modern superscalar processor architecture is becoming ever more difficult due to the dynamic behaviour exhibited by current processors, which include dynamic scheduling features such as speculative and out-of-order execution in the context of multiple execution units with deep pipelines. We describe the use of Coloured Petri Nets (CP-nets) in a simulation based approach to this problem. A complex model of a generic processor architecture is described, with emphasis on the modelling strategy for obtaining the WCET and an analysis of the results.

[1]  Sang Lyul Min,et al.  An accurate worst case timing analysis technique for RISC processors , 1994, 1994 Proceedings Real-Time Systems Symposium.

[2]  Jörn Schneider,et al.  Pipeline behavior prediction for superscalar processors by abstract interpretation , 1999, LCTES '99.

[3]  Trung A. Diep,et al.  VMW: A Visualization-Based Microarchitecture Workbench , 1995, Computer.

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

[5]  Lars Michael Kristensen,et al.  Design/CPN - A Computer Tool for Coloured Petri Nets , 1997, TACAS.

[6]  Jin-Young Choi,et al.  Timing analysis of superscalar processor programs using ACSR , 1994, Proceedings of 11th IEEE Workshop on Real-Time Operating Systems and Software.

[7]  Sharad Malik,et al.  Performance estimation of embedded software with instruction cache modeling , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[8]  Kurt Jensen,et al.  Coloured Petri nets (2nd ed.): basic concepts, analysis methods and practical use: volume 1 , 1996 .

[9]  David B. Whalley,et al.  Integrating the timing analysis of pipelining and instruction caching , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[10]  Mike Johnson,et al.  Superscalar microprocessor design , 1991, Prentice Hall series in innovative technology.

[11]  Kurt Jensen,et al.  Coloured Petri Nets , 1997, Monographs in Theoretical Computer Science An EATCS Series.

[12]  Alexandre Yakovlev,et al.  Analysing superscalar processor architectures with coloured Petri nets , 1998, International Journal on Software Tools for Technology Transfer.

[13]  Kelvin D. Nilsen,et al.  Portable Execution Time Analysis for RISC Processors , 1994 .

[14]  Trung A. Diep,et al.  A Visualization-Based Microarchitecture , 1995 .

[15]  Andrew W. Appel,et al.  Standard ML of New Jersey , 1991, PLILP.

[16]  Kurt Jensen,et al.  Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 1, Basic Concepts , 1992 .

[17]  Frank Mueller,et al.  Languages, Compilers, and Tools for Embedded Systems , 1998, Lecture Notes in Computer Science.

[18]  Alan Burns,et al.  Pipelined processors and worst case execution times , 1993, Real-Time Systems.

[19]  Chang Yun Park,et al.  Predicting program execution times by analyzing static and dynamic program paths , 1993, Real-Time Systems.

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

[21]  Rami R. Razouk The use of Petri nets for modeling pipelined processors , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[22]  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).

[23]  D. K. Arvind,et al.  Instruction-Level Parallelism in Asynchronous Processor Architectures , 1995 .