Fast instruction cache analysis via static cache simulation
- 19 November 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Introduces a new method for instruction cache analysis that outperforms conventional trace-driven methods. The new method, static cache simulation, analyzes a program for a given cache configuration and determines prior to execution time if an instruction reference will always result in a cache hit or miss. At run time, counters are incremented to provide the execution frequency of portions of code. In addition, the cache behavior is simulated for references that could not be predicted statically. The dynamic simulation employs a novel view of the cache by updating local state information associated with code portions. The total number of cache hits and misses can be inferred from the frequency counters at program exit. Measurements taken from a variety of programs show that this new method speeds up cache analysis over conventional trace-driven methods by almost an order of a magnitude. Thus, cache analysis with static cache simulation makes it possible do analyze the instruction cache behavior of longer and more realistic program executions.Keywords
This publication has 13 references indexed in Scilit:
- Generation and analysis of very long address tracesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Efficient on-the-fly analysis of program behavior and static cache simulationLecture Notes in Computer Science, 1994
- Techniques for fast instruction cache performance evaluationSoftware: Practice and Experience, 1993
- Fast instruction cache performance evaluation using compile-time analysisPublished by Association for Computing Machinery (ACM) ,1992
- Optimally profiling and tracing programsPublished by Association for Computing Machinery (ACM) ,1992
- Abstract execution: A technique for efficiently tracing programsSoftware: Practice and Experience, 1990
- Techniques for efficient inline tracing on a shared-memory multiprocessorPublished by Association for Computing Machinery (ACM) ,1990
- A portable global optimizer and linkerPublished by Association for Computing Machinery (ACM) ,1988
- A case study of VAX-11 instruction set usage for compiler executionPublished by Association for Computing Machinery (ACM) ,1982
- An instruction timing model of CPU performancePublished by Association for Computing Machinery (ACM) ,1977