Skip to main content
Log in

Timing Analysis for Data and Wrap-Around Fill Caches

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

Abstract

The contributions of this paper are twofold. First, an automatic tool-based approach is described to bound worst-case data cache performance. The approach works on fully optimized code, performs the analysis over the entire control flow of a program, detects and exploits both spatial and temporal locality within data references, and produces results typically within a few seconds. Results obtained by running the system on representative programs are presented and indicate that timing analysis of data cache behavior usually results in significantly tighter worst-case performance predictions. Second, a method to deal with realistic cache filling approaches, namely wrap-around-filling for cache misses, is presented as an extension to pipeline analysis. Results indicate that worst-case timing predictions become significantly tighter when wrap-around-fill analysis is performed. Overall, the contribution of this paper is a comprehensive report on methods and results of worst-case timing analysis for data caches and wrap-around caches. The approach taken is unique and provides a considerable step toward realistic worst-case execution time prediction of contemporary architectures and its use in schedulability analysis for hard real-time systems.

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

  • Aho, A. V., Sethi, R., and Ullman, J. D. 1986. Compilers — Principles, Techniques, and Tools. Addison-Wesley.

  • Arnold, R., Mueller, F., Whalley, D. B., and Harmon, M. 1994. Bounding worst-case instruction cache performance. IEEE Real-Time Systems Symposium, pp. 172–181.

  • Audsley, N., Burns, A., Davis, R., Tindell, K., and Wellings, A. J. 1995. Fixed priority pre-emptive scheduling: An historical perspective. J.Real-Time Systems 8: 173–198.

    Google Scholar 

  • Benitez, M. E., and Davidson, J. W. 1988. A portable global optimizer and linker. ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 329–338.

  • Chapman, B., Mehrotra, P., and Zima, H. 1992. Programming in vienna fortran. Contractor Report 189623, NASA Langley Research Center.

  • Chapman, B., Mehrotra, P., and Zima, H. 1993. High performance fortran without templates. Contractor Report 191451, NASA Langley Research Center.

  • Chapman, B., Mehrotra, P., and Zima, H. 1994. Extending hpf for advanced data parallel applications. Contractor Report 194913, NASA Langley Research Center.

  • Davidson, J. W., and Whalley, D. B. 1991. A design environment for addressing architecture and compiler interactions. Microprocessors and Microsystems 15(9): 459–472.

    Google Scholar 

  • Harmon, M., Baker, T. P., and Whalley, D. B. 1992. A retargetable technique for predicting execution time. IEEE Real-Time Systems Symposium, pp. 68–77.

  • Healy, C. A., Arnold, R. D., Mueller, R., Whalley, D., and Harmon, M. G. 1999. Bounding pipeline and instruction cache performance. IEEE Transactions on Computers 48(1): 53–70.

    Google Scholar 

  • Healy, C. A., Whalley, D. B., and Harmon, M. G. 1995. Integrating the timing analysis of pipelining and instruction caching. IEEE Real-Time Systems Symposium, pp. 288–297.

  • Hennessy, J., and Patterson, D. 1996. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 2nd edition.

  • Hur, Y., Bae, Y. H., Lim, S.-S., Rhee, B.-D., Min, S. L., Park, C. Y., Lee, M., Shin, H., and Kim, C. S. 1995. Worst case timing analysis of RISC processors: R3000/R3010 case study. IEEE Real-Time Systems Symposium, pp. 308–319.

  • Kim, S., Min, S., and Ha, R. 1996. Efficient worst case timing analysis of data caching. IEEE Real-Time Technology and Applications Symposium.

  • Li, Y.-T. S., Malik, S., and Wolfe, A. 1995. Efficient microarchitecture modeling and path analysis for real-time software. IEEE Real-Time Systems Symposium, pp. 298–397.

  • Li, Y.-T. S., Malik, S., and Wolfe, A. 1996. Cache modeling for real-time software: Beyond direct mapped instruction caches. IEEE Real-Time Systems Symposium, pp. 254–263.

  • Lim, S.-S., Bae, Y. H., Jang, G. T., Rhee, B.-D., Min, S. L., Park, C. Y., Shin, H., and Kim, C. S. 1994. An accurate worst case timing analysis for RISC processors. IEEE Real-Time Systems Symposium, pp. 97–108.

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

    Google Scholar 

  • Mueller, F. 1994. Static cache simulation and its applications. PhD thesis, Dept. of CS, Florida State University.

  • Park, C. Y. 1993. Predicting program execution times by analyzing static and dynamic program paths. Real-Time Systems 5(1): 31–61.

    Google Scholar 

  • Polychronopoulos, C. D. 1988. Parallel Programming and Compilers. Kluwer.

  • Puschner, P. 1993. Zeitanalyse von Echtzeitprogrammen. PhD thesis, Dept. of CS, Technical University Vienna.

  • Puschner, P., and Koza, C. 1989. Calculating the maximum execution time of real-time programs. Real-Time Systems 1(2): 159–176.

    Google Scholar 

  • Rawat, J. 1995. Static analysis of cache analysis for real-time programming. Master's thesis, Iowa State University.

  • Texas Instruments. 1993. TMS390S10 Integrated SPARC Processor.

  • White, R. 1997. Bounding worst-case data cache performance. PhD thesis, Dept. of Computer Science, Florida State University.

  • White, R., Mueller, F., Healy, C., Whalley, D., and Harmon, M. 1997. Timing analysis for data caches and set-associative caches. IEEE Real-Time Technology and Applications Symposium, pp. 192–202.

  • Wolfe, M. 1989. Optimizing Supercompilers for Supercomputers. MIT Press.

  • Wolfe, M. 1996. High Performance Compilers for Parallel Computing. Addison-Wesley.

  • Zhang, N., Burns, A., and Nicholson, M. 1993. Pipelined processors and worst case execution times. Real-Time Systems 5(4): 319–343.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

White, R.T., Mueller, F., Healy, C. et al. Timing Analysis for Data and Wrap-Around Fill Caches. Real-Time Systems 17, 209–233 (1999). https://doi.org/10.1023/A:1008190423977

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008190423977

Navigation