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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
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
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
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
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
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
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
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
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
Sohi G (1990) Instruction issue logic for high-performance, interruptible, multiple functional unit, pipelined computers. In: IEEE Transactions on Computers 39(3):349–359
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
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
Zhang N, Burns A, Nicholson M (1993) Pipelined processors and worst case execution times. Real-Time Systems 5(4):319–343
Author information
Authors and Affiliations
Corresponding author
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
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-006-9205-5