Static analysis of worst-case stack cache behavior

Alexander Jordan, Florian Brandner, Martin Schoeberl

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Utilizing a stack cache in a real-time system can aid predictability by avoiding interference that heap memory traffic causes on the data cache. While loads and stores are guaranteed cache hits, explicit operations are responsible for managing the stack cache. The behavior of these operations can be analyzed statically. We present algorithms that derive worst-case bounds on the latency-inducing operations of the stack cache. Their results can be used by a static WCET tool. By breaking the analysis down into subproblems that solve intra-procedural data-flow analysis and path searches on the call-graph, the worst-case bounds can be efficiently yet precisely determined. Our evaluation using the MiBench benchmark suite shows that only 37% and 21% of potential stack cache operations actually store to and load from memory, respectively. Analysis times are modest, on average running between 0.46s and 1.30s per benchmark, depending on the size of the stack cache.

Original languageEnglish
Title of host publicationRTNS 2013 - Proceedings of the 21st International Conference on Real-Time Networks and Systems
Pages55-64
Number of pages10
DOIs
Publication statusPublished - 1 Dec 2013
Externally publishedYes
Event21st International Conference on Real-Time Networks and Systems, RTNS 2013 - Sophia Antipolis, France
Duration: 16 Oct 201318 Oct 2013

Publication series

NameACM International Conference Proceeding Series

Conference

Conference21st International Conference on Real-Time Networks and Systems, RTNS 2013
Country/TerritoryFrance
CitySophia Antipolis
Period16/10/1318/10/13

Keywords

  • program analysis
  • real-time systems
  • stack cache

Fingerprint

Dive into the research topics of 'Static analysis of worst-case stack cache behavior'. Together they form a unique fingerprint.

Cite this