Improving the WCET computation in the presence of a lockable instruction cache in multitasking real-time systems

  • Authors:
  • Luis C. Aparicio;Juan Segarra;Clemente Rodríguez;Víctor Viñals

  • Affiliations:
  • DIIS, Universidad de Zaragoza, 50018 Zaragoza, Spain and European Network of Excellence on High Performance and Embedded, Architecture and Compilation (HiPEAC)1http://www.hipeac.net/1;DIIS, Universidad de Zaragoza, 50018 Zaragoza, Spain and Instituto de Investigación en Ingeniería de Aragón (I3A), 50018 Zaragoza, Spain and European Network of Excellence on High P ...;DATC, Universidad del País Vasco, 20018 San Sebastián, Spain and European Network of Excellence on High Performance and Embedded, Architecture and Compilation (HiPEAC)1http://www.hipeac. ...;DIIS, Universidad de Zaragoza, 50018 Zaragoza, Spain and Instituto de Investigación en Ingeniería de Aragón (I3A), 50018 Zaragoza, Spain and European Network of Excellence on High P ...

  • Venue:
  • Journal of Systems Architecture: the EUROMICRO Journal
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

In multitasking real-time systems it is required to compute the WCET of each task and also the effects of interferences between tasks in the worst case. This is very complex with variable latency hardware, such as instruction cache memories, or, to a lesser extent, the line buffers usually found in the fetch path of commercial processors. Some methods disable cache replacement so that it is easier to model the cache behavior. The difficulty in these cache-locking methods lies in obtaining a good selection of the memory lines to be locked into cache. In this paper, we propose an ILP-based method to select the best lines to be loaded and locked into the instruction cache at each context switch (dynamic locking), taking into account both intra-task and inter-task interferences, and we compare it with static locking. Our results show that, without cache, the spatial locality captured by a line buffer doubles the performance of the processor. When adding a lockable instruction cache, dynamic locking systems are schedulable with a cache size between 12.5% and 50% of the cache size required by static locking. Additionally, the computation time of our analysis method is not dependent on the number of possible paths in the task. This allows us to analyze large codes in a relatively short time (100KB with 10^6^5 paths in less than 3min).