diff options
author | Lisa Hsu <Lisa.Hsu@amd.com> | 2010-02-23 09:34:22 -0800 |
---|---|---|
committer | Lisa Hsu <Lisa.Hsu@amd.com> | 2010-02-23 09:34:22 -0800 |
commit | 1d3228481f3c5f9a4ad041cd21d57139f5f8f331 (patch) | |
tree | 7006a0d99e1f278df5ff88b70c4940230fe9e768 /tests | |
parent | be4cf50c5a6a5761f6474fb9f85a9c241101f3ce (diff) | |
download | gem5-1d3228481f3c5f9a4ad041cd21d57139f5f8f331.tar.xz |
cache: Make caches sharing aware and add occupancy stats.
On the config end, if a shared L2 is created for the system, it is
parameterized to have n sharers as defined by option.num_cpus. In addition to
making the cache sharing aware so that discriminating tag policies can make use
of context_ids to make decisions, I added an occupancy AverageStat and an occ %
stat to each cache so that you could know which contexts are occupying how much
cache on average, both in terms of blocks and percentage. Note that since
devices have context_id -1, having an array of occ stats that correspond to
each context_id will break here, so in FS mode I add an extra bucket for device
blocks. This bucket is explicitly not added in SE mode in order to not only
avoid ugliness in the stats.txt file, but to avoid broken stats (some formulas
break when a bucket is 0).
Diffstat (limited to 'tests')
-rw-r--r-- | tests/configs/memtest.py | 1 | ||||
-rw-r--r-- | tests/configs/o3-timing-mp.py | 1 | ||||
-rw-r--r-- | tests/configs/simple-atomic-mp.py | 1 | ||||
-rw-r--r-- | tests/configs/simple-timing-mp.py | 1 | ||||
-rw-r--r-- | tests/configs/tsunami-o3-dual.py | 1 | ||||
-rw-r--r-- | tests/configs/tsunami-simple-atomic-dual.py | 1 | ||||
-rw-r--r-- | tests/configs/tsunami-simple-timing-dual.py | 1 |
7 files changed, 7 insertions, 0 deletions
diff --git a/tests/configs/memtest.py b/tests/configs/memtest.py index 93ea4cc0e..d75bd3d8c 100644 --- a/tests/configs/memtest.py +++ b/tests/configs/memtest.py @@ -63,6 +63,7 @@ system = System(cpu = cpus, funcmem = PhysicalMemory(), system.toL2Bus = Bus(clock="500GHz", width=16) system.l2c = L2(size='64kB', assoc=8) system.l2c.cpu_side = system.toL2Bus.port +system.l2c.num_cpus = nb_cores # connect l2c to membus system.l2c.mem_side = system.membus.port diff --git a/tests/configs/o3-timing-mp.py b/tests/configs/o3-timing-mp.py index 59776d5c3..b5c720dda 100644 --- a/tests/configs/o3-timing-mp.py +++ b/tests/configs/o3-timing-mp.py @@ -62,6 +62,7 @@ Bus()) system.toL2Bus = Bus() system.l2c = L2(size='4MB', assoc=8) system.l2c.cpu_side = system.toL2Bus.port +system.l2c.num_cpus = nb_cores # connect l2c to membus system.l2c.mem_side = system.membus.port diff --git a/tests/configs/simple-atomic-mp.py b/tests/configs/simple-atomic-mp.py index bc0ced250..75ffefd08 100644 --- a/tests/configs/simple-atomic-mp.py +++ b/tests/configs/simple-atomic-mp.py @@ -61,6 +61,7 @@ Bus()) system.toL2Bus = Bus() system.l2c = L2(size='4MB', assoc=8) system.l2c.cpu_side = system.toL2Bus.port +system.l2c.num_cpus = nb_cores # connect l2c to membus system.l2c.mem_side = system.membus.port diff --git a/tests/configs/simple-timing-mp.py b/tests/configs/simple-timing-mp.py index 0b400e6b7..7a8da70bb 100644 --- a/tests/configs/simple-timing-mp.py +++ b/tests/configs/simple-timing-mp.py @@ -61,6 +61,7 @@ Bus()) system.toL2Bus = Bus() system.l2c = L2(size='4MB', assoc=8) system.l2c.cpu_side = system.toL2Bus.port +system.l2c.num_cpus = nb_cores # connect l2c to membus system.l2c.mem_side = system.membus.port diff --git a/tests/configs/tsunami-o3-dual.py b/tests/configs/tsunami-o3-dual.py index 76aca3806..d19dc9c26 100644 --- a/tests/configs/tsunami-o3-dual.py +++ b/tests/configs/tsunami-o3-dual.py @@ -85,6 +85,7 @@ system.iocache.mem_side = system.membus.port system.l2c = L2(size='4MB', assoc=8) system.l2c.cpu_side = system.toL2Bus.port system.l2c.mem_side = system.membus.port +system.l2c.num_cpus = 2 #connect up the cpu and l1s for c in cpus: diff --git a/tests/configs/tsunami-simple-atomic-dual.py b/tests/configs/tsunami-simple-atomic-dual.py index dfbdd101d..d78a09db4 100644 --- a/tests/configs/tsunami-simple-atomic-dual.py +++ b/tests/configs/tsunami-simple-atomic-dual.py @@ -83,6 +83,7 @@ system.toL2Bus = Bus() system.l2c = L2(size='4MB', assoc=8) system.l2c.cpu_side = system.toL2Bus.port system.l2c.mem_side = system.membus.port +system.l2c.num_cpus = 2 #connect up the cpu and l1s for c in cpus: diff --git a/tests/configs/tsunami-simple-timing-dual.py b/tests/configs/tsunami-simple-timing-dual.py index ce17475e3..13b7bf32e 100644 --- a/tests/configs/tsunami-simple-timing-dual.py +++ b/tests/configs/tsunami-simple-timing-dual.py @@ -83,6 +83,7 @@ system.toL2Bus = Bus() system.l2c = L2(size='4MB', assoc=8) system.l2c.cpu_side = system.toL2Bus.port system.l2c.mem_side = system.membus.port +system.l2c.num_cpus = 2 #connect up the cpu and l1s for c in cpus: |