A Stack Cache for Real-Time Systems

Martin Schoeberl, Carsten Nielsen

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Abstract

Real-time systems need time-predictable computing platforms to allowfor static analysis of the worst-case execution time. Caches are important for good performance, but data caches arehard to analyze for the worst-case execution time. Stack allocated data has different properties related to locality, lifetime, and static analyzability of access addresses comparedto static or heap allocated data. Therefore, caching of stack allocateddata benefits from having its own cache.

In this paper we present a cache architecture optimized for stack allocateddata. This cache is additional to the normal data cache. As stack allocated datahas a high locality, even a small stack cache gives a high hit rate. A stack cache added to a write-through data cache considerablyimproves the performance, while a stack cache compared tothe harder to analyze write-back cache has about the sameaverage case performance.
Original languageEnglish
Title of host publicationProceedings of the 19th International Symposium on Real-Time Distributed Computing (ISORC 2016)
PublisherIEEE
Publication date2016
Pages150-157
ISBN (Print)978-1-4673-9032-3
DOIs
Publication statusPublished - 2016
Event19th International Symposium on Real-Time Distributed Computing for Novel Applications and Systems - York, United Kingdom
Duration: 17 May 201620 May 2016
Conference number: 19
http://isorc2016.org/

Conference

Conference19th International Symposium on Real-Time Distributed Computing for Novel Applications and Systems
Number19
CountryUnited Kingdom
CityYork
Period17/05/201620/05/2016
Internet address

Cite this

Schoeberl, M., & Nielsen, C. (2016). A Stack Cache for Real-Time Systems. In Proceedings of the 19th International Symposium on Real-Time Distributed Computing (ISORC 2016) (pp. 150-157). IEEE. https://doi.org/10.1109/ISORC.2016.29