Instruction cache locking for multi-task real-time embedded systems

Research output: Journal Publications and Reviews (RGC: 21, 22, 62)21_Publication in refereed journalpeer-review

22 Scopus Citations
View graph of relations


Related Research Unit(s)


Original languageEnglish
Pages (from-to)166-197
Journal / PublicationReal-Time Systems
Issue number2
Publication statusPublished - Mar 2012


In a multi-task embedded system, a cache is shared by different tasks, which increases the complexity of cache management and the unpredictability of cache behavior. This unpredictability in turn brings an overestimation of application's worst-case execution time (WCET) and worst-case CPU utilization (WCU) which are two of the most important criteria for real-time embedded systems. Modern processors often provide cache locking capability, which can be applied statically and dynamically to manage cache in a predictable manner. The selection of instructions to be locked in the instruction cache (I-Cache) has dramatic influence on the system performance. This paper focuses on applying cache locking techniques to the shared I-Cache to minimize WCU for multi-task embedded systems.We analyze and compare three different strategies to perform I-Cache locking: static locking, semidynamic locking, and dynamic locking. Different algorithms are proposed utilizing the foreknown information of embedded applications. Experimental results show that the proposed algorithms can reduce WCU compared to previous techniques. © Springer Science+Business Media, LLC 2011.

Research Area(s)

  • Cache memories, Real-time and embedded systems, Worst-case analysis