Run-time Cache Hierarchy Management via Reference Analysis (PostScript version, PDF version)
T. L. Johnson and W. W. Hwu
IMPACT Technical Report, IMPACT-96-01, University of Illinois, Urbana, IL, 1996.
Improvements in memory speeds have not kept pace with increasing
processor clock frequency and improved exploitation of instruction-level
parallelism. Consequently, the gap between processor and memory speeds
is expected to grow. The increased memory latency seen by the processor
not only increases the number of execution cycles spent waiting for
memory accesses to complete, but can also degrade the compiler-generated
instruction schedule. One solution to this growing problem is to reduce
the number of cache missed by increasing the effectiveness of the cache
hierarchy. In this paper we present a technique for dynamic analysis of
program data access behavior, which is then used to proactively guide the
placement of data within the cache hierarchy in a location-sensitive
manner. We introduce the concept of a macroblock, which allows us to
feasibly characterize the memory locations accessed by a program, and
a Memory Address Table (MAT), which performs the dynamic reference analysis.
Our technique is fully compatible with existing Instruction Set Architectures.
Results from detailed simulations of several integer programs show significant
speedups.
[ IMPACT Main Page |
Team Members |
Publications |
Software |
FAQ ]