skip to main content
10.1145/1289816.1289853acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Compile-time decided instruction cache locking using worst-case execution paths

Published:30 September 2007Publication History

ABSTRACT

Caches are notorious for their unpredictability. It is difficult or even impossible to predict if a memory access results in a definite cache hit or miss. This unpredictability is highly undesired for real-time systems. The Worst-Case Execution Time (WCET) of a software running on an embedded processor is one of the most important metrics during real-time system design. The WCET depends to a large extent on the total amount of time spent for memory accesses. In the presence of caches, WCET analysis must always assume a memory access to be a cache miss if it can not be guaranteed that it is a hit. Hence, WCETs for cached systems are imprecise due to the overestimation caused by the caches.

Modern caches can be controlled by software. The software can load parts of its code or of its data into the cache and lock the cache afterwards. Cache locking prevents the cache's contents from being flushed by deactivating the replacement. A locked cache is highly predictable and leads to very precise WCET estimates, because the uncertainty caused by the replacement strategy is eliminated completely.

This paper presents techniques exploring the lockdown of instruction caches at compile-time to minimize WCETs. In contrast to the current state of the art in the area of cache locking, our techniques explicitly take the worst-case execution path into account during each step of the optimization procedure. This way, we can make sure that always those parts of the code are locked in the I-cache that lead to the highest WCET reduction. The results demonstrate that WCET reductions from 54% up to 73% can be achieved with an acceptable amount of CPU seconds required for the optimization and WCET analyses themselves.

References

  1. AbsInt Angewandte Informatik GmbH. Worst-Case Execution Time Analyzer aiT for ARM. 2006.Google ScholarGoogle Scholar
  2. ARM920T Technical Reference Manual. Advanced RISC Machines Ltd., Literature Number ARM DDI 0151C, 2002.Google ScholarGoogle Scholar
  3. A. V. Aho, J. E. Hopcroft, and J. D. Ullman. Data Structures and Algorithms. Addison-Wesley, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. M. Campoy, I. Puaut, A. P. Ivars, et al. Cache contents selection for statically-locked instruction caches: An Algorithm Comparison. In Proc. of ECRTS, July 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. H. Falk and P. Lokuciejewski. Design of a WCET-Aware C Compiler. In Proc. of ESTIMedia, Oct. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. I. Puaut. WCET-centric Software-controlled Instruction Caches for Hard Real-Time Systems. In Proc. of ECRTS, July 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. I. Puaut and D. Decotigny. Low-Complexity Algorithms for Static Cache Locking in Multitasking Hard Real-Time Systems. In Proc. of RTSS, Dec. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. X. Vera, B. Lisper, and J. Xue. Data Cache Locking for Higher Program Predictability. In Proc. of SIGMETRICS, June 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. L. Wehmeyer and P. Marwedel. Influence of Onchip Scratchpad Memories on WCET Prediction. In Proc. of WCET, June 2004.Google ScholarGoogle Scholar
  10. L. Wehmeyer and P. Marwedel. Influence of Memory Hierarchies on Predictability for Time Constrained Embedded Software. In Proc. of DATE, Mar. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Compile-time decided instruction cache locking using worst-case execution paths

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          CODES+ISSS '07: Proceedings of the 5th IEEE/ACM international conference on Hardware/software codesign and system synthesis
          September 2007
          284 pages
          ISBN:9781595938244
          DOI:10.1145/1289816

          Copyright © 2007 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 30 September 2007

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate280of864submissions,32%

          Upcoming Conference

          ESWEEK '24
          Twentieth Embedded Systems Week
          September 29 - October 4, 2024
          Raleigh , NC , USA

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader