Skip to main content

Integrating path and timing analysis using instruction-level simulation techniques

  • Refereed Papers
  • Conference paper
  • First Online:
Languages, Compilers, and Tools for Embedded Systems (LCTES 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1474))

Included in the following conference series:

Abstract

Previously published methods for estimation of the worst-case execution time on contemporary processors with complex pipelines and multi-level memory hierarchies result in overestimations owing to insufficient path and/or timing analysis. This paper presents a new method that integrates path and timing analysis to address these limitations. First, it is based on instruction-level architecture simulation techniques and thus has a potential to perform arbitrarily detailed timing analysis of hardware platforms. Second, by extending the simulation technique with the capability of handling unknown input data values, it is possible to exclude infeasible (or false) program paths in many cases, and also calculate path information, such as bounds on number of loop iterations, without the need for annotating the programs. Finally, in order to keep the number of program paths to be analyzed at a manageable level, we have extended the simulator with a path-merging strategy. This paper presents the method and particularly evaluates its capability to exclude infeasible paths based on seven benchmark programs.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P. Altenbernd. On the false path problem in hard real-time programs. In Proceedings of the 8th Euromicro Workshop on Real-Time Systems, pages 102–107, June 1996.

    Google Scholar 

  2. A. Cagney. PSIM, PowerPC simulator. ftp://ftp.ci.com.au/pub/psim/index.html

    Google Scholar 

  3. A. Ermedahl and J. Gustafsson. Deriving annotations for tight calculation of execution time. In Proceedings of EUROPAR’97, pages 1298–1307, August 1997.

    Google Scholar 

  4. C. Healy, M. Sjödin, V. Rustagi, and D. Whalley. Bounding Loop Iterations for Timing Analysis. In Proceedings of the 4th IEEE Real-Time Technology and Applications Symposium, June 1998. To appear.

    Google Scholar 

  5. C. A. Healy, D. B. Whalley, and M. G. Harmon. Integrating the timing analysis of pipelining and instruction caching. In Proceedings of the 16th IEEE Real-Time Systems Symposium, pages 288–297, December 1995.

    Google Scholar 

  6. J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach, 2ed. Morgan Kaufmann, 1996.

    Google Scholar 

  7. S.-K. Kim, S. L. Min, and R. Ha. Efficient worst case timing analysis of data caching. In Proceedings of the 2nd IEEE Real-Time Technology and Applications Symposium, pages 230–240, June 1996.

    Google Scholar 

  8. Y.-T. S. Li, S. Malik, and A. Wolfe. Efficient microarchitecture modeling and path analysis for real-time software. In Proceedings of the 16th IEEE Real-Time Systems Symposium, pages 298–307, December 1995.

    Google Scholar 

  9. Y.-T. S. Li, S. Malik, and A. Wolfe. Cache modeling for real-time software: Beyond direct mapped instruction caches. In Proceedings of the 17th IEEE Real-Time Systems Symposium, pages 254–263, December 1996.

    Google Scholar 

  10. S.-S. Lim, Y. H. Bae, G. T. Jang, B.-D. Rhee, S. L. Min, C. Y. Park, H. Shin, K. Park, and C. S. Kim. An accurate worst case timing analysis technique for RISC processors. In Proceedings of the 15th IEEE Real-Time Systems Symposium, pages 97–108, December 1994.

    Google Scholar 

  11. Y. A. Liu and G. Gomez. Automatic Accurate Time-Bound Analysis for High-Level Languages. Dept. of Computer Science, Indiana University, Technical Report TR-508, April 1998.

    Google Scholar 

  12. P. Magnusson, F. Dahlgren, H. Grahn, M. Karlsson, F. Larsson, A. Moestedt, J. Nilsson, P. Stenström, and B. Werner. Simics/sun4m: A virtual workstation. In Proceedings of USENIX98, 1998. To appear.

    Google Scholar 

  13. G. Ottosson and M. Sjödin. Worst-case execution time analysis for modern hardware architectures. In Proceedings of ACM SIGPLAN Workshop on Language, Compiler, and Tool Support for Real-Time Systems, June 1997.

    Google Scholar 

  14. P. Puschner and C. Koza. Calculating the maximum execution time of real-time programs. The Journal of Real-Time Systems, pages 159–176, 1989.

    Google Scholar 

  15. F. Stappert and P. Altenbernd. Complete Worst-Case Execution Time Analysis of Straight-line Hard Real-Time Programs. C-LAB Report 27/97, Paderborn, Germany, December 1997.

    Google Scholar 

  16. R. T. White, F. Mueller, C. A. Healy, D. B. Whalley, and M. G. Harmon. Timing analysis for data caches and set-associative caches. In Proceedings of the 3nd IEEE Real-Time Technology and Applications Symposium, pages 192–202, June 1997.

    Google Scholar 

  17. E. Witchel and M. Rosenblum. Embra: Fast and flexible machine simulation. In Proceedings of ACM SIGMETRICS’96, pages 68–79, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Frank Mueller Azer Bestavros

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lundqvist, T., Stenström, P. (1998). Integrating path and timing analysis using instruction-level simulation techniques. In: Mueller, F., Bestavros, A. (eds) Languages, Compilers, and Tools for Embedded Systems. LCTES 1998. Lecture Notes in Computer Science, vol 1474. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0057776

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65075-1

  • Online ISBN: 978-3-540-49673-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics