Skip to main content

WCET Analysis by Model Checking for a Processor with Dynamic Branch Prediction

  • Conference paper
  • First Online:
Book cover Verification and Evaluation of Computer and Communication Systems (VECoS 2017)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10466))

  • 431 Accesses

Abstract

In this paper, we investigate the case for model checking in the WCET analysis of pipelined processors with dynamic branch and target prediction. We consider a microarchitecture inspired by the e200z4 Power 32-bit architecture, with an instruction cache, a dynamic branch prediction mechanism, a branch target buffer (BTB) and an instruction prefetch buffer. The conjoint operation of all these components produce a very complex behaviour that is difficult to analyse with tight and sound static analysis techniques. We show that model checking techniques can actually be used to compute WCET bounds for this kind of architectures.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Metzner use dynamic analysis to designate techniques that analyze concrete paths in the system, as opposed to static analysis that consider abstract paths.

  2. 2.

    The main difference is that the e200z4 is actually a two issues statically scheduled superscalar processor, whereas we consider a single issue processor.

  3. 3.

    A bubble, or pipeline stall, is a delay cycle. When a bubble enters a stage, this stage has no activity during the current cycle.

  4. 4.

    The Advanced High-performance Bus is part of the open standard ARM-AMBA on-chip interconnect specification.

  5. 5.

    In the case where the instruction in the decode stage requires a result produced by an instruction ahead in the pipeline, bubbles are inserted until the availability of the result. This is a data hazard. Bypasses are used between stages to propagate results and limits these bubbles.

  6. 6.

    Available at https://github.com/TrampolineRTOS/BEST.

References

  1. Bate, I., Reutemann, R.D.: Worst-case execution time analysis for dynamic branch predictors. In: 16th Euromicro Conference on Real-Time Systems, ECRTS, pp. 215–222 (2004)

    Google Scholar 

  2. Cassez, F., Béchennec, J.: Timing analysis of binary programs with UPPAAL. In: 13th International Conference on Application of Concurrency to System Design, ACSD, pp. 41–50 (2013)

    Google Scholar 

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

    Article  Google Scholar 

  4. Dalsgaard, A.E., Olesen, M.C., Toft, M., Hansen, R.R., Larsen, K.G.: METAMOC: modular execution time analysis using model checking. In: 10th International Workshop on Worst-Case Execution Time Analysis, WCET, pp. 113–123 (2010)

    Google Scholar 

  5. Engblom, J.: Analysis of the execution time unpredictability caused by dynamic branch prediction. In: 9th IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS, pp. 152–159 (2003)

    Google Scholar 

  6. Freescale semiconductors/NXP: e200z4 Power ArchitectureTM Core Reference Manual, rev. 0 edn., October 2009

    Google Scholar 

  7. Freescale semiconductors/NXP: MPC5643L Microcontroller Reference Manual, rev, 10 edn., June 2013

    Google Scholar 

  8. Grund, D., Reineke, J., Gebhard, G.: Branch target buffers: WCET analysis framework and timing predictability. J. Syst. Architect. 57(6), 625–637 (2011)

    Article  Google Scholar 

  9. Gustafsson, J., Betts, A., Ermedahl, A., Lisper, B.: The Mälardalen WCET benchmarks - past, present and future. In: International Workshop on Worst-Case Execution Time Analysis (WCET) (2010)

    Google Scholar 

  10. Gustavsson, A., Ermedahl, A., Lisper, B., Pettersson, P.: Towards WCET analysis of multicore architectures using UPPAAL. In: 10th International Workshop on Worst-Case Execution Time Analysis, WCET, pp. 101–112 (2010)

    Google Scholar 

  11. Larsen, K.G., Pettersson, P., Yi, W.: UPPAAL in a nutshell. STTT 1(1–2), 134–152 (1997)

    Article  MATH  Google Scholar 

  12. Maiza, C., Rochange, C.: A framework for the timing analysis of dynamic branch predictors. In: 19th International Conference on Real-Time and Network Systems, RTNS, pp. 65–74 (2011)

    Google Scholar 

  13. Mangean, A., Béchennec, J.L., Briday, M., Faucou, S.: BEST: a binary executable slicing tool. In: 16th International Workshop on Worst-Case Execution Time Analysis, WCET, pp. 7:1–7:10 (2016)

    Google Scholar 

  14. Metzner, A.: Why model checking can improve WCET analysis. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 334–347. Springer, Heidelberg (2004). doi:10.1007/978-3-540-27813-9_26

    Chapter  Google Scholar 

  15. Puffitsch, W.: Efficient worst-case execution time analysis of dynamic branch prediction. In: 28th Euromicro Conference on Real-Time Systems, ECRTS, pp. 152–162 (2016)

    Google Scholar 

  16. Wilhelm, R.: Why AI + ILP Is Good for WCET, but MC Is Not, Nor ILP Alone. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 309–322. Springer, Heidelberg (2004). doi:10.1007/978-3-540-24622-0_25

    Chapter  Google Scholar 

  17. Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D.B., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P.P., Staschulat, J., Stenström, P.: The worst-case execution-time problem - overview of methods and survey of tools. ACM Trans. Embedded Comput. Syst. 7(3), 36:1–36:53 (2008)

    Google Scholar 

  18. Wilhelm, R., Grund, D., Reineke, J., Schlickling, M., Pister, M., Ferdinand, C.: Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systems. IEEE Trans. CAD Integr. Circuits Syst. 28(7), 966–978 (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jean-Luc Béchennec .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Mangean, A., Béchennec, JL., Briday, M., Faucou, S. (2017). WCET Analysis by Model Checking for a Processor with Dynamic Branch Prediction. In: Barkaoui, K., Boucheneb, H., Mili, A., Tahar, S. (eds) Verification and Evaluation of Computer and Communication Systems. VECoS 2017. Lecture Notes in Computer Science(), vol 10466. Springer, Cham. https://doi.org/10.1007/978-3-319-66176-6_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-66176-6_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-66175-9

  • Online ISBN: 978-3-319-66176-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics