Experimental approach

1.     For a fixed L1 cache size (64kB), the following parameters were varied: block-size, replacement-policy and associativity. 5 SPEC2000 benchmarks were used for experimentation, namely: bzip00, gzip00, art00, parser00 and vortex00. These PISA binaries (WATTCH can only run binaries in PISA format) were obtained from the SimpleScalar website:

http://www.eecs.umich.edu/mirv/benchmarks/benchmarks.html

2.     The power values for the different functional units and the # of simulation cycles needed were obtained by executing the binaries using WATTCH (in 180nm technology). HOTSPOT is an architectural level thermal simulator that intakes a power-trace and floorplan file and outputs the steady-state temperature values for the different functional units (block-level granularity). We used the default Alpha EV6 floorplan (area addition to I-Cache due to filter-cache was considered to be negligible) and used the power traces obtained from WATTCH (for each of the benchmarks) to run HOTSPOT. The corresponding temperature values were stored in a database along with the energy and delay values obtained previously.

3.     To implement the HotSpot cache, the following modules of WATTCH were modified: bred.c, bpred.h, cache.c, cache.h, sim-outorder.c and power.c. The flexibility provided in the architecture was similar to what was implemented in the Filter Cache i.e. L0 cache size of 128/256 bytes, block size of 8/16/32 bytes and direct-mapped/fully associative blocks. Power values for the benchmarks were obtained (by running WATTCH) and used to generate the power-trace file for HOTSPOT. The same floorplan as the one used for Filter Cache was used (area addition due to additional registers considered to be negligible) and temperature values were obtained for I-Cache. An energy and temperature database akin to the one created for Filter Cache was developed for the HotSpot cache.

4.     A web-based tool was developed to perform energy and temperature comparison of the 3 cache configurations: traditional 2-level, filter and HotSpot.

Benchmark -->      L0 Cache Size -->