next up previous
Next: Implementation Up: Static Cache Simulation Previous: Decomposition

Instruction Categorization

Static Cache Simulation calculates the abstract cache states associated with basic blocks. The calculation is performed by repeated traversal of the call graph's functions, their function instances, and the basic blocks of each function's control-flow graph.
definition52

definition55
The notion of an abstract cache state is a compromise between a feasible storage complexity of the proposed method and the alternative of an exhaustive set of all cache states which may occur at execution time with an exponential storage complexity.
definition58

For a given function instance, each instruction i within a basic block b is categorized based on its position in the corresponding program line tex2html_wrap_inline1013, on the corresponding abstract cache state s, and on the reaching state t. The program line l maps into cache line c, denoted by tex2html_wrap_inline1023.

always-miss:
A cache miss is predicted if

always-hit:
A cache hit is predicted if

first-miss:
A miss on the first reference and hits for consecutive references is predicted if

conflict:
A reference may result in either a cache hit or cache miss at execution time in all other cases.

The categorization can be used to statically infer non-trivial caching behavior as will be shown in the next subsection.


next up previous
Next: Implementation Up: Static Cache Simulation Previous: Decomposition

Robert Palmer
Mon May 19 10:08:14 EDT 1997