Symbolic Cache Analysis for Real-Time Systems

  • Authors:
  • Johann Blieberger;Thomas Fahringer;Bernhard Scholz

  • Affiliations:
  • Department of Computer-Aided Automation, Technical University of Vienna, Treitlstr. 1, A-1040 Vienna, Austria;Institute for Software Technology and Parallel Systems, University of Vienna, Liechtensteinstr. 22, A-1090 Vienna, Austria;Institute for Software Technology and Parallel Systems, University of Vienna, Liechtensteinstr. 22, A-1090 Vienna, Austria

  • Venue:
  • Real-Time Systems - Special issue on worst-case execution-time analysis
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Cachesimpose a major problem for predicting execution times of real-timesystems since the cache behavior depends on the history of previousmemory references. Too pessimistic assumptions on cache hitscan obtain worst-case execution time estimates that are prohibitivefor real-time systems. This paper presents a novel approach forderiving a highly accurate analytical cache hit function forC-programs at compile-time based on the assumption that no externalcache interference (e.g. process dispatching or DMA activity)occurs. First, a symbolic tracefile of an instrumented C-programis generated based on symbolic evaluation, which is a statictechnique to determine the dynamic behavior of programs. Allmemory references of a program are described by symbolic expressionsand recurrences and stored in chronological order in the symbolictracefile. Second, a cache hit function for several cache architecturesis computed based on a cache evaluation technique. Our approachgoes beyond previous work by precisely modelling program controlflow and program unknowns, modelling large classes of cache architectures,and providing very accurate cache hit predictions. Examples forthe SPARC architecture are used to illustrate the accuracy andeffectiveness of our symbolic cache prediction.