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.
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 language | English |
---|---|
Title of host publication | Proceedings of the 24th International Conference on Real-Time Networks and Systems (RTNS'16) |
Publisher | Association for Computing Machinery |
Publication date | 2016 |
Pages | 319-326 |
ISBN (Print) | 978-1-4503-4787-7 |
DOIs | |
Publication status | Published - 2016 |
Event | 24th International Conference on Real-Time Networks and Systems - Brest, France Duration: 19 Oct 2016 → 21 Oct 2016 Conference number: 24 http://rtns16.univ-brest.fr/#page=home |
Conference
Conference | 24th International Conference on Real-Time Networks and Systems |
---|---|
Number | 24 |
Country/Territory | France |
City | Brest |
Period | 19/10/2016 → 21/10/2016 |
Internet address |
Keywords
- Real-time systems
- Stack caching
- WCET analysis
- Scratch-pad memory