Abstract
The calculation of worst case execution time (WCET) is a fundamental requirement of almost all scheduling approaches for hard real-time systems. Due to their unpredictability, hardware enhancements such as cache and pipelining are often ignored in attempts to find WCET of programs. This results in estimations that are excessively pessimistic. In this article a simple instruction pipeline is modeled so that more accurate estimations are obtained. The model presented can be used with any schedulability analysis that allows sections of nonpreemptable code to be included. Our results indicate the WCET overestimates at basic block level can be reduced from over 20% to less than 2%, and that the overestimates for typical structured real-time programs can be reduced by 17%–40%.
Similar content being viewed by others
References
Audsley, N.C., Burns, A., Richardson, M.F., and Wellings, A.J. 1991. Hard real-time scheduling: the deadline monotonic approach.Proceedings 8th IEEE Workshop on Real-Time Operating Systems and Software. Atlanta, Ga, 15–17.
Burns, A. 1991. Scheduling hard real-time systems: a review.Software Engineering Journal. 6(3): 116–128.
Earnest, C.P., Balke, K.G., and Anderson, J. 1972. Analysis of graphs by ordering of nodes.Journal of the Association for Computing Machines. 19(1): 23–42.
Halang, W.A. 1989. A priori execution time analysis for parallel processes.Proceedings of the Euromicro Workshop on Real-Time. Washington: IEEE Computer Society Press.
Halang, W.A. and Stoyenko, A.D. 1991.Constructing Predictable Real-Time Systems. Boston: Kluwer Academic Publishers.
Intel,16/32 Bit Embedded Processors, 1991.
Kirk, D.B. 1989. SMART (strategic memory allocation for real-time) cache design.Proceedings Real-Time Systems Symposium. Santa Monica, CA: IEEE Computer Society Press. pp. 229–237.
Kirk, D.B., and Strosnider, J.K. 1990. SMART (strategic memory allocation for real-time) cache design using the MIPS R3000.Proceedings Real-Time Systems Symposium, Lake Buena Vista, FL: IEEE Computer Society Press. pp. 332–330.
Kogge, P.M. 1981.The Architecture of Pipelined Computers. New York: McGraw-Hill.
Leung, J.Y.T. and Whitehead, J. 1982. On the complexity of fixed-priority scheduling of periodic, real-time tasks.Performance Evaluation (Netherlands) 2(4): 237–250.
Liu, C.L. and Layland, J.W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment.JACM 20(1): 46–61.
Mok, A.K. 1989. Evaluating tight execution time bounds of programs by annotations.Proceedings of 6th IEEE Workshop on Real-Time Operating Systems and Software, 74–80.
Niehaus, D. 1991. Program representation and translation for predicable real-time systems.Proceedings of IEEE Real-Time Symposium.
Park, C.Y. and Shaw, A.C. 1989. A source-level tool for predicting deterministic execution times of programs. #89-09-12, Department of Computer Science and Engineering, University of Washington, Seattle.
Park, C.Y. and Shaw, A.C. 1990. Experiments with a program timing tool based on source-level timing schema.Proceedings Real-Time Systems Symposium. pp. 72–81, IEEE Computer Society Press.
Park, C.Y. 1993. Predicting program execution times by analyzing static and dynamic program paths.The International Journal of Real-Time Systems 5(1): 31–62.
Puchner, P. and Koza, C. 1989. Calculating the maximum execution time of real-time programs.The Journal of Real-Time Systems 1(2): 159–176.
Sarkar, V. 1989. Determining average program execution times and their variance.ACM SIGNPLAN Notices (Proceedings of SIGNPLAN '89 Conference on Programming Language Design and Implementation) 24(7): 298–312.
Sha, L., Rajkumar, R. and Lechoczky, J.P. 1990. Priority inheritance protocols: an approach to real-time synchronisation.IEEE Transactions on Computers 39(9): 1175–1185.
Shaw, A.C. 198?. Reasoning about time in higher-level language software.IEEE Transactions on Software Engineering 15(7): 875–889.
Stoyenko, A.D. 1987. A Real-Time Language with a Schedulability Analyser. Phd Thesis University of Toronto.
Stoyenko, A.D. 1987. A schedulability analyzer for real-time euclid.Proceedings 8th IEEE Real Time Systems Symposium. San Jose, CA pp. 218–227.
Stoyenko, A.D., Hamacher, V.C., and Holt, R.C. 1991. Analyzing hard real-time programs for guaranteed scheduability.IEEE Transactions on Software Engineering 17(8): 737–750.
Vrchoticky, A. and Puschner, P. 1991.On The Feasibility of Response Time Predictions—An Experimental Evaluation. PDCS Project (Esprit BRA Project 3092), Second Year Report.
Woodbury, M.H. 1986. Analysis of the execution time of real-time tasks.Proceedings IEEE Real-Time Systems Symposium. New Orleans, LA pp. 89–96.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Zhang, N., Burns, A. & Nicholson, M. Pipelined processors and worst case execution times. Real-Time Syst 5, 319–343 (1993). https://doi.org/10.1007/BF01088834
Issue Date:
DOI: https://doi.org/10.1007/BF01088834