Skip to main content
Log in

Pipelined processors and worst case execution times

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

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%.

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.

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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Halang, W.A. and Stoyenko, A.D. 1991.Constructing Predictable Real-Time Systems. Boston: Kluwer Academic Publishers.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Kogge, P.M. 1981.The Architecture of Pipelined Computers. New York: McGraw-Hill.

    Google Scholar 

  • 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.

    Google Scholar 

  • Liu, C.L. and Layland, J.W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment.JACM 20(1): 46–61.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Shaw, A.C. 198?. Reasoning about time in higher-level language software.IEEE Transactions on Software Engineering 15(7): 875–889.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01088834

Keywords

Navigation