Real-Time Memory Management: Compile-Time Techniques and Run-Time Mechanisms that Enable the Use of Caches in Real-Time Systems
Bhattacharyya, Shuvra S.
"Real-time memory management: Compile-time techniques and run-time mechanisms that enable the use of caches in real-time systems." Bruce Jacob and Shuvra Bhattacharyya. University of Maryland Institute for Advanced Computer Studies (UMIACS) Technical Report UMIACS-TR-2000-60. September 2000.
This paper demonstrates the intractability of achieving statically predictable performance behavior with traditional cache organizations (i.e., the real-time cache problem) and describes a non-traditional organization—combined hardware and software techniques—that can solve the real-time cache problem. We show that the task of placing code and data in the memory system so as to eliminate conflicts in traditional direct-mapped and set-associative caches is NP-complete. We discuss alternatives in both software and hardware that can address the problem: using address translation with software support can eliminate non-predicted conflict misses, and explicit management of the cache contents can eliminate non-predicted capacity misses. We present a theoretical analysis of the performance benefits of managing the cache contents to extend the effective size of the cache.