A Software Managed Stack Cache for Real-Time Systems

Alexander Jordan, Sahar Abbaspourseyedi, Martin Schoeberl

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

Abstract

In a real-time system, the use of a scratchpad memory can mitigate the difficulties related to analyzing data caches, whose behavior is inherently hard to predict. We propose to use a scratchpad memory for stack allocated data. While statically allocating stack frames for individual functions to scratchpad memory regions aids predictability, it is limited to non-recursive programs and static allocation has to take different calling contexts into account. Using a stack cache that dynamically spills data to and fills data from external memory avoids these problems, while its simple design allows for efficiently deriving worst-case bounds through static analysis.

In this paper we present the design and implementation of software managed caching of stack allocated data in a scratchpad memory. We demonstrate a compiler-aided implementation of a stack cache using the LLVM compiler framework and report on its efficiency. Our evaluation encompasses stack management overhead and impact on worst-case execution time analysis. The state-of-the-art worst-case execution time analysis tool aiT is able to correctly classify all stack cache accesses as accesses to the scratchpad memory.
Original languageEnglish
Title of host publicationProceedings of the 24th International Conference on Real-Time Networks and Systems (RTNS'16)
PublisherAssociation for Computing Machinery
Publication date2016
Pages319-326
ISBN (Print)978-1-4503-4787-7
DOIs
Publication statusPublished - 2016
Event24th International Conference on Real-Time Networks and Systems - Brest, France
Duration: 19 Oct 201621 Oct 2016
Conference number: 24
http://rtns16.univ-brest.fr/#page=home

Conference

Conference24th International Conference on Real-Time Networks and Systems
Number24
Country/TerritoryFrance
CityBrest
Period19/10/201621/10/2016
Internet address

Keywords

  • Real-time systems
  • Stack caching
  • WCET analysis
  • Scratch-pad memory

Fingerprint

Dive into the research topics of 'A Software Managed Stack Cache for Real-Time Systems'. Together they form a unique fingerprint.

Cite this