Fast instruction cache analysis via static cache simulation

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.

This publication has 13 references indexed in Scilit: