scispace - formally typeset
Open Access

Static cache simulation and its applications

Reads0
Chats0
TLDR
The technique of static cache simulation is shown to address the issue of predicting cache behavior, contrary to the belief that cache memories introduce unpredictability to real-time systems that cannot be efficiently analyzed.
Abstract
This work takes a fresh look at the simulation of cache memories. It introduces the technique of static cache simulation that statically predicts a large portion of cache references. To efficiently utilize this technique, a method to perform efficient on-the-fly analysis of programs in general is developed and proved correct. This method is combined with static cache simulation for a number of applications. The application of fast instruction cache analysis provides a new framework to evaluate instruction cache memories that outperforms even the fastest techniques published. Static cache simulation is shown to address the issue of predicting cache behavior, contrary to the belief that cache memories introduce unpredictability to real-time systems that cannot be efficiently analyzed. Static cache simulation for instruction caches provides a large degree of predictability for real-time systems. In addition, an architectural modification through bit-encoding is introduced that provides fully predictable caching behavior. Even for regular instruction caches without architectural modifications, tight bounds for the execution time of real-time programs can be derived from the information provided by the static cache simulator. Finally, the debugging of real-time applications can be enhanced by displaying the timing information of the debugged program at breakpoints. The timing information is determined by simulating the instruction cache behavior during program execution and can be used, for example, to detect missed deadlines and locate time-consuming code portions. Overall, the technique of static cache simulation provides a novel approach to analyze cache memories and has been shown to be very efficient for numerous applications.

read more

Citations
More filters
Proceedings ArticleDOI

Bounding worst-case instruction cache performance

TL;DR: This paper describes an approach for bounding the worst-case instruction cache performance of large code segments by using static cache simulation to analyze a program's control flow to statically categorize the caching behavior of each instruction.
Journal ArticleDOI

Efficient and Precise Cache Behavior Prediction for Real-TimeSystems

TL;DR: For interprocedural analysis, existing methods are examined and a new approach that is especially tailored for the cache analysis is presented, which allows for a static classification of the cache behavior of memory references of programs.
Journal ArticleDOI

Bounding pipeline and instruction cache performance

TL;DR: This paper describes an approach for bounding the worst and best case performance of large code segments on machines that exploit both pipelining and instruction caching and indicates that the timing analyzer efficiently produces tight predictions of best and best-case performance for pipelined and instruction cache.
Book

On The Move to meaningful Internet systems 2003 : OTM 2003 Workshops : OTM Confederated International Workshops : HCI-SWWA, IPW, JTRES, WORM, WMS, and WRSM 2003, Catania, Sicily, Italy, November 3-7, 2003 : proceedings

TL;DR: In this article, the authors exploit the experiences with Jironde, a flexible framework that extends the Fractal component model with transactions via a set of transactional controllers that manage transactions on behalf of a component, identifying several key architectural and technical issues related to enhancing component-based middleware with transactions.
Journal ArticleDOI

Timing Analysis for Instruction Caches

TL;DR: Results of incorporating instruction cache predictions within pipeline simulation show that timing predictions for set-associative caches remain just as tight as predictions for direct-mapped caches.
References
More filters
Book

Computer Architecture: A Quantitative Approach

TL;DR: This best-selling title, considered for over a decade to be essential reading for every serious student and practitioner of computer design, has been updated throughout to address the most important trends facing computer designers today.
Book

Compilers: Principles, Techniques, and Tools

TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
Proceedings ArticleDOI

Gprof: A call graph execution profiler

TL;DR: The gprof profiler accounts for the running time of called routines in therunning time of the routines that call them, and the design and use of this profiler is described.
Book

Graphs & Digraphs

TL;DR: Graphs & digraphs as mentioned in this paper is a popular text for graph theory courses and can be used as a starting point for a course or two-semester sequence on graph theory.