Nothing Special   »   [go: up one dir, main page]

Skip to main content
Log in

Threaded Prefetching: A New Instruction Memory Hierarchy for Real-Time Systems

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

Abstract

Cache memories have been extensively used to bridge the speed gap between high speed processors and relatively slow main memory. However, they are not widely used in real-time systems due to their unpredictable performance. This paper proposes an instruction prefetching scheme called threaded prefetching as an alternative to instruction caching in real-time systems. In the proposed threaded prefetching, an instruction block pointer called a thread is assigned to each instruction memory block and is made to point to the next block on the worst case execution path that is determined by a compile-time analysis. Also, the thread is not updated throughout the entire program execution to guarantee predictability. This paper also compares the worst case performances of various previous instruction prefetching schemes with that of the proposed threaded prefetching. By analyzing several benchmark programs, we show that the worst case performance of the proposed scheme is significantly better than those of previous instruction prefetching schemes. The results also show that when the block size is large enough the worst case performance of the proposed threaded prefetching scheme is almost as good as that of an instruction cache with 100 % hit ratio.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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. Compilers Principles, Techniques, and Tools. Addison-Wesley Publishing Company, Reading, MA, 1988.

    Google Scholar 

  • Arnold, R., Mueller, F., Whalley, D. and Harmon, M. Bounding worst-case instruction cache performance. In Proceedings of the 15th Real-Time Systems Symposium, pages 172–181, 1994.

  • Callahan, D., Kennedy, K. and Porterfield, A. Software prefetching. In Proceedings of the Fourth International Conference on Architectural Support on Programming Languages and Operating Systems, pages 40–52, 1991.

  • Chen, T.-F. and Baer, J.-L. Reducing memory latency via non-blocking and prefetching caches. In Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 51–61, 1992.

  • Fischer, C.N. and LeBlanc, R.J. Crafting a Compiler with C. The Benjamin/Cummings Publishing Company, Inc., Redwood City, CA, 1991.

    Google Scholar 

  • Fraser, C.W. and Hanson, D.R. A code generation interface for ANSI C. Technical Report CSL-TR-270-90, Dept. of Computer Science, Princeton University, July 1990.

  • Hennessy, J.L. and Patterson, D.A. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, San Mateo, CA, 1990.

    Google Scholar 

  • Hilf, W. and Nausch, A. The M68000 Family Volum 1, page 48. Prentice Hall, Englewood Cliffs, NJ, 1989.

    Google Scholar 

  • Hill, M.D. Aspects of Cache Memory and Instruction Buffer Performance. PhD thesis, University of California, Berkeley, Nov. 1987.

    Google Scholar 

  • Intel. Microprocessors Handbook. Intel Corporation, 1990.

  • Jouppi, N.P. Improving directed-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers. In Proceedings of the 17th Annual International Symposium on Computer Architecture, pages 364–373, 1990.

  • Kane, G. and Heinrich, J. MIPS RISC Architecture. Prentice Hall, Englewood Cliffs, NJ, 1992.

    Google Scholar 

  • Karp, R.M. A characterization of the minimum cycle mean in a digraph. Discrete Mathematics, 23:309–311, 1978.

    Google Scholar 

  • Kirk, D.B. SMART (Strategic Memory Allocation for Real-Time) cache design. In Proceedings of the 10th Real-Time Systems Symposium, pages 229–237, 1989.

  • Klaiber, A.C. and Levy, H.M. Architecture for software-controlled data prefetching. In Proceedings of the 18th Annual International Symposium on Computer Architecture, pages 43–63, 1991.

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

  • Liu, J.-C. and Lee, H.-J. Deterministic upperbounds of the worst-case execution times of cached programs. In Proceedings of the 15th Real-Time Systems Symposium, pages 182–191, 1994.

  • Rau, B.R. and Rossman, G.E. The effect of instruction fetch strategies upon the performance of pipelined instruction units. In Proceedings of the 4th Annual International Symposium on Computer Architecture, pages 80–89, 1977.

  • Rawat, J. Static Analysis of Cache Performance for Real-Time Programming. Master's thesis, Iowa State University, 1993.

  • Shaw, R.C. Reasoning about time in higher-level language software. IEEE Transactions On Software Engineering, 15(7):875–889, July 1989.

    Google Scholar 

  • Smith, A.J. Cache memories. ACM Computing Surveys, 14(3):473–530, 1982.

    Google Scholar 

  • Smith, A.J. Sequential program prefetching in memory hierarchies. IEEE Computer, pages 7–21, Dec. 1978.

  • Wolfe, A. Software-based cache partitioning for real-time applications. In Proceedings of the Third Workshop on Responsive Computer Systems, Sept. 1993.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lee, M., Min, S.L., Shin, H. et al. Threaded Prefetching: A New Instruction Memory Hierarchy for Real-Time Systems. Real-Time Systems 13, 47–65 (1997). https://doi.org/10.1023/A:1007952919024

Download citation

  • Issue Date:

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

Navigation