Skip to main content
Log in

Modeling out-of-order processors for WCET analysis

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

Estimating the Worst Case Execution Time (WCET) of a program on a given processor is important for the schedulability analysis of real-time systems. WCET analysis techniques typically model the timing effects of micro-architectural features in modern processors (such as pipeline, cache, branch prediction) to obtain safe and tight estimates. In this paper, we model out-of-order superscalar processor pipelines for WCET analysis. The analysis is, in general, difficult even for a basic block (a sequence of instructions with single-entry and single-exit points) if some of the instructions have variable latencies. This is because the WCET of a basic block on out-of-order pipelines cannot be obtained by assuming maximum latencies of the individual instructions. Our timing estimation technique for a basic block proceeds by a fixed-point analysis of the time intervals at which the instructions enter/leave a pipeline stage. To extend our estimation to whole programs, we use Integer Linear Programming (ILP) to combine the timing estimates for basic blocks. Timing effects of instruction cache and branch prediction are also modeled within our pipeline analysis framework. This forms a combined timing analysis framework that captures out-of-order pipeline, cache, branch prediction as well as the mutual interaction among these micro-architectural features. The accuracy of our analysis is demonstrated via tight estimates obtained for several benchmarks.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Arnold RD, Mueller F, Whalley DB, Harmon MG (1994) Bounding worst-case instruction cache performance. In: IEEE Real-Time Systems Symposium (RTSS), 172–181

  • Burger D, Austin T (1997) The SimpleScalar Tool Set, Version 2.0. Technical Report CS-TR-1997-1342, University of Wisconsin, Madison

  • Colin A, Puaut I (2000) Worst case execution time analysis for a processor with branch prediction. Real-Time Systems 18(2):249–274

    Article  Google Scholar 

  • CPLEX (2002) The ILOG CPLEX Optimizer v7.5, 2002. Commercial software, http://www.ilog.com

  • Engblom J (2002) Processor Pipelines and Static Worst-Case Execution Time Analysis. PhD thesis, Uppsala University, Sweden

  • Healy C, Arnold R, Mueller F, Whalley D, Harmon M (1999) Bounding pipeline and instruction cache performance. In: IEEE Transactions on Computers 48(1):53–70

    Article  Google Scholar 

  • Heckmann R, Langenbach M, Thesing S, Wilhelm R (2003) The Influence of Processor Architecture on the Design and the Results of WCET Tools. Proceedings of the IEEE 91(7):1038–1054

  • Hennessy JL, Patterson DA (1996) Computer Architecture- A Quantitative Approach. Morgan Kaufmann

  • Lim S-S, Bae YH, Jang GT, Rhee B.-D, Min SL, Park CY, Shin H, Park K, Kim CS (1995) An accurate worst-case timing analysis technique for RISC processors. In: IEEE Transactions on Software Engineering 21(7):593–604

    Google Scholar 

  • Lim S-S, Han JH, Kim J, Min SL (1998) A worst case timing analysis technique for multiple-issue machines. In: IEEE Real Time Systems Symposium (RTSS) 334–345

  • Li X, Mitra T, Roychoudhury A (2005) Modeling control speculation for timing analysis. Real-Time Systems 29(1):27–58

    Article  MATH  Google Scholar 

  • Li Y-T. S, Malik S, Wolfe A (1999) Performance estimation of embedded software with instruction cache modeling. ACM Transactions on Design Automation of Electronic Systems 4(3):257–279

    Article  Google Scholar 

  • Li X, Roychoudhury A, Mitra T (2004) Modeling out-of-order processors for software timing analysis. In: IEEE Real-Time Systems Symposium (RTSS) 92–103

  • Lundqvist T, Stenström P (1999a) An integrated path and timing analysis method based on cycle-level symbolic execution. Real-Time Systems 17(2–3):183–207

    Article  Google Scholar 

  • Lundqvist T, Stenström P (1999b) Timing anomalies in dynamically scheduled microprocessors. In IEEE Real-Time Systems Symposium (RTSS) 12–21

  • Lehoczky P, Sha L, Ding Y (1989) The rate monotonic scheduling algorithm: Exact characterization and average case behavior. In: IEEE Real-Time Systems Symposium

  • Langenbach M, Thesing S, Heckmann R (2002) Pipeline modeling for timing analysis. In: Static Analysis Symposium (SAS) 294–309. Springer

  • Malardalen Real-Time Research Centre (1994) WCET Benchmarks. http://www.mrtc.mdh.se/projects/wcet/benchmarks.html

  • McFarling S (1993) Combining branch predictors. Technical report, DEC Western Research Laboratory

  • McMillan K, Dill D (1992) Algorithms for interface timing verification. In: IEEE International Conference on Computer Design (ICCD) 48–51

  • Puschner P, Koza C (1989) Calculating the maximum execution time of real-time programs. Real-Time Systems 1(2):159–176

    Article  Google Scholar 

  • Real-Time Research Group at Seoul National University (1994) SNU Real-Time Benchmarks. http://archi.snu.ac.kr/RESEARCH/index.html

  • Schneider J, Ferdinand C (1999) Pipeline behavior prediction for superscalar processors by abstract interpretation. In: International Workshop on Languages, Compilers and Tools for Embedded System (LCTES) 35–44

  • Shaw AC (1989) Reasoning about time in higher-level language software. In: IEEE Transactions on Software Engineering 1(2):875–889

    Article  Google Scholar 

  • Sohi G (1990) Instruction issue logic for high-performance, interruptible, multiple functional unit, pipelined computers. In: IEEE Transactions on Computers 39(3):349–359

    Article  Google Scholar 

  • Theiling H, Ferdinand C, Wilhelm R (2000) Fast and precise WCET prediction by separated cache and path analysis. Real-Time Systems 18(2/3):157–179

    Article  Google Scholar 

  • Thesing S (2004) Safe and Precise Worst-Case Execution Time Prediction by Abstract Interpretation of Pipeline Models. PhD thesis, University of Saarland

  • Yeh TY, Patt YN (1992) Alternative implementations of two-level adaptive branch prediction. In: ACM International Symposium on Computer Architecture (ISCA) 124–134

  • Yen TY, Wolf W (1998) Performance estimation for real-time distributed embedded systems. In: IEEE Transactions on Parallel and Distributed Systems 9(11):1125–1136

    Article  Google Scholar 

  • Zhang N, Burns A, Nicholson M (1993) Pipelined processors and worst case execution times. Real-Time Systems 5(4):319–343

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xianfeng Li.

Additional information

Preliminary version of parts of this paper has previously been published as Li et al. (2004).

Abhik Roychoudhury received his B.E. in Computer Engineering from Jadavpur University (India) in 1995 and his M.S. / Ph.D. degrees (both in Computer Science) from the State University of New York at Stony Brook in 1997 and 2000 respectively. Since 2001 he has been an Assistant Professor at National University of Singapore. His research interests are in models and methods for reliable development of embedded software and systems, with specific focus on software validation, analysis and comprehension.

Xianfeng Li is a postdoctoral researcher in the Department of Computer Science and Technology at Peking University, China. He received his Ph.D. from National University of Singapore in 2005. His research interests include real-time systems, modeling and evaluation of computer architecture, and System-on-Chips.

Tulika Mitra is an Assistant Professor in School of Computing at National University of Singapore from January 2001. She received her PhD in Computer Science from SUNY at Stony Brook in December 2000. Tulika received M.E in Computer Science and Automation from Indian Institute of Science in 1997 and her B.E. in Computer Engineering from Jadavpur University, India in 1995. Her current research focuses on design and analysis of embedded and real-time systems.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Li, X., Roychoudhury, A. & Mitra, T. Modeling out-of-order processors for WCET analysis. Real-Time Syst 34, 195–227 (2006). https://doi.org/10.1007/s11241-006-9205-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-006-9205-5

Keywords

Navigation