config: Use shared cache config for regressions

This patch uses the common L1, L2 and IOCache configuration for the
regressions that all share the same cache parameters. There are a few
regressions that use a slightly different configuration (memtest,
o3-timing=mp, simple-atomic-mp and simple-timing-mp), and the latter
are not changed in this patch. They will be updated in a future patch.

The common cache configurations are changed to match the ones used in
the regressions, and are slightly changed with respect to what they
were. Hopefully this means we can converge on a common base
configuration, used both in the normal user configurations and
regressions.

As only regressions that shared the same cache configuration are
updated, no regressions are affected.
This commit is contained in:
Andreas Hansson 2012-10-25 04:32:44 -04:00
parent 1fdc4e850e
commit d22796c03c
19 changed files with 59 additions and 756 deletions

View file

@ -40,32 +40,29 @@
from m5.objects import * from m5.objects import *
class L1Cache(BaseCache): # Base implementations of L1, L2, IO and TLB-walker caches. There are
# used in the regressions and also as base components in the
# system-configuration scripts. The values are meant to serve as a
# starting point, and specific parameters can be overridden in the
# specific instantiations.
class L1(BaseCache):
assoc = 2 assoc = 2
block_size = 64
hit_latency = 2 hit_latency = 2
response_latency = 2 response_latency = 2
mshrs = 10 block_size = 64
mshrs = 4
tgts_per_mshr = 20 tgts_per_mshr = 20
is_top_level = True is_top_level = True
class L2Cache(BaseCache): class L2(BaseCache):
assoc = 8 assoc = 8
block_size = 64 block_size = 64
hit_latency = 20 hit_latency = 20
response_latency = 20 response_latency = 20
mshrs = 20 mshrs = 92
tgts_per_mshr = 12 tgts_per_mshr = 16
write_buffers = 8
class PageTableWalkerCache(BaseCache):
assoc = 2
block_size = 64
hit_latency = 2
response_latency = 2
mshrs = 10
size = '1kB'
tgts_per_mshr = 12
is_top_level = True
class IOCache(BaseCache): class IOCache(BaseCache):
assoc = 8 assoc = 8
@ -77,3 +74,14 @@ class IOCache(BaseCache):
tgts_per_mshr = 12 tgts_per_mshr = 12
forward_snoops = False forward_snoops = False
is_top_level = True is_top_level = True
class PageTableWalkerCache(BaseCache):
assoc = 2
block_size = 64
hit_latency = 2
response_latency = 2
mshrs = 10
size = '1kB'
tgts_per_mshr = 12
is_top_level = True

View file

@ -29,30 +29,7 @@
import m5 import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 20
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
nb_cores = 4 nb_cores = 4
cpus = [ DerivO3CPU(cpu_id=i) for i in xrange(nb_cores) ] cpus = [ DerivO3CPU(cpu_id=i) for i in xrange(nb_cores) ]

View file

@ -31,59 +31,10 @@ from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
from Benchmarks import SysConfig from Benchmarks import SysConfig
import FSConfig import FSConfig
from Caches import *
mem_size = '128MB' mem_size = '128MB'
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 20
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# Page table walker cache
# ---------------------
class PageTableWalkerCache(BaseCache):
assoc = 2
block_size = 64
hit_latency = 2
response_latency = 2
mshrs = 10
size = '1kB'
tgts_per_mshr = 12
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size=mem_size)]
forward_snoops = False
#cpu #cpu
cpu = DerivO3CPU(cpu_id=0) cpu = DerivO3CPU(cpu_id=0)
#the system #the system
@ -94,7 +45,7 @@ system.kernel = FSConfig.binary('x86_64-vmlinux-2.6.22.9')
system.cpu = cpu system.cpu = cpu
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange(mem_size)])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -31,61 +31,10 @@ from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
from Benchmarks import SysConfig from Benchmarks import SysConfig
import FSConfig import FSConfig
from Caches import *
mem_size = '128MB' mem_size = '128MB'
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# Page table walker cache
# ---------------------
class PageTableWalkerCache(BaseCache):
assoc = 2
block_size = 64
hit_latency = 2
response_latency = 2
mshrs = 10
size = '1kB'
tgts_per_mshr = 12
is_top_level = True
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size=mem_size)]
forward_snoops = False
is_top_level = True
#cpu #cpu
cpu = AtomicSimpleCPU(cpu_id=0) cpu = AtomicSimpleCPU(cpu_id=0)
#the system #the system
@ -96,7 +45,7 @@ system.kernel = FSConfig.binary('x86_64-vmlinux-2.6.22.9')
system.cpu = cpu system.cpu = cpu
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange(mem_size)])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -31,60 +31,10 @@ from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
from Benchmarks import SysConfig from Benchmarks import SysConfig
import FSConfig import FSConfig
from Caches import *
mem_size = '128MB' mem_size = '128MB'
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# Page table walker cache
# ---------------------
class PageTableWalkerCache(BaseCache):
assoc = 2
block_size = 64
hit_latency = 2
response_latency = 2
mshrs = 10
size = '1kB'
tgts_per_mshr = 12
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size=mem_size)]
forward_snoops = False
#cpu #cpu
cpu = TimingSimpleCPU(cpu_id=0) cpu = TimingSimpleCPU(cpu_id=0)
#the system #the system
@ -95,7 +45,7 @@ system.kernel = FSConfig.binary('x86_64-vmlinux-2.6.22.9')
system.cpu = cpu system.cpu = cpu
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange(mem_size)])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -39,45 +39,7 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 20
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='256MB')]
forward_snoops = False
#cpu #cpu
cpu = DerivO3CPU(cpu_id=0) cpu = DerivO3CPU(cpu_id=0)
@ -89,7 +51,7 @@ system.cpu = cpu
cpu.addCheckerCpu() cpu.addCheckerCpu()
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('256MB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -31,50 +31,13 @@ from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Benchmarks import * from Benchmarks import *
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 20
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='256MB')]
forward_snoops = False
#cpu #cpu
cpus = [DerivO3CPU(cpu_id=i) for i in xrange(2) ] cpus = [DerivO3CPU(cpu_id=i) for i in xrange(2) ]
#the system #the system
system = FSConfig.makeArmSystem('timing', "RealView_PBX", None, False) system = FSConfig.makeArmSystem('timing', "RealView_PBX", None, False)
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('256MB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -30,45 +30,7 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 20
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='256MB')]
forward_snoops = False
#cpu #cpu
cpu = DerivO3CPU(cpu_id=0) cpu = DerivO3CPU(cpu_id=0)
@ -78,7 +40,7 @@ system = FSConfig.makeArmSystem('timing', "RealView_PBX", None, False)
system.cpu = cpu system.cpu = cpu
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('256MB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -31,50 +31,13 @@ from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Benchmarks import * from Benchmarks import *
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='256MB')]
forward_snoops = False
#cpu #cpu
cpus = [AtomicSimpleCPU(cpu_id=i) for i in xrange(2) ] cpus = [AtomicSimpleCPU(cpu_id=i) for i in xrange(2) ]
#the system #the system
system = FSConfig.makeArmSystem('atomic', "RealView_PBX", None, False) system = FSConfig.makeArmSystem('atomic', "RealView_PBX", None, False)
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('256MB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -30,44 +30,7 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='256MB')]
forward_snoops = False
#cpu #cpu
cpu = AtomicSimpleCPU(cpu_id=0) cpu = AtomicSimpleCPU(cpu_id=0)
@ -77,7 +40,7 @@ system = FSConfig.makeArmSystem('atomic', "RealView_PBX", None, False)
system.cpu = cpu system.cpu = cpu
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('256MB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -31,50 +31,13 @@ from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Benchmarks import * from Benchmarks import *
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='256MB')]
forward_snoops = False
#cpu #cpu
cpus = [TimingSimpleCPU(cpu_id=i) for i in xrange(2) ] cpus = [TimingSimpleCPU(cpu_id=i) for i in xrange(2) ]
#the system #the system
system = FSConfig.makeArmSystem('timing', "RealView_PBX", None, False) system = FSConfig.makeArmSystem('timing', "RealView_PBX", None, False)
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('256MB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -30,45 +30,7 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='256MB')]
forward_snoops = False
#cpu #cpu
cpu = TimingSimpleCPU(cpu_id=0) cpu = TimingSimpleCPU(cpu_id=0)
@ -78,7 +40,7 @@ system = FSConfig.makeArmSystem('timing', "RealView_PBX", None, False)
system.cpu = cpu system.cpu = cpu
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('256MB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -30,46 +30,7 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='8GB')]
forward_snoops = False
is_top_level = True
#cpu #cpu
cpu = InOrderCPU(cpu_id=0) cpu = InOrderCPU(cpu_id=0)
@ -82,7 +43,7 @@ system = FSConfig.makeLinuxAlphaSystem('timing')
system.cpu = cpu system.cpu = cpu
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('8GB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -30,46 +30,7 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 20
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='8GB')]
forward_snoops = False
is_top_level = True
#cpu #cpu
cpus = [ DerivO3CPU(cpu_id=i) for i in xrange(2) ] cpus = [ DerivO3CPU(cpu_id=i) for i in xrange(2) ]
@ -79,7 +40,7 @@ system = FSConfig.makeLinuxAlphaSystem('timing')
system.cpu = cpus system.cpu = cpus
#create the l1/l2 bus #create the l1/l2 bus
system.toL2Bus = CoherentBus(clock = '2GHz') system.toL2Bus = CoherentBus(clock = '2GHz')
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('8GB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -30,46 +30,7 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 20
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='8GB')]
forward_snoops = False
is_top_level = True
#cpu #cpu
cpu = DerivO3CPU(cpu_id=0) cpu = DerivO3CPU(cpu_id=0)
@ -79,7 +40,7 @@ system = FSConfig.makeLinuxAlphaSystem('timing')
system.cpu = cpu system.cpu = cpu
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('8GB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -30,51 +30,13 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='8GB')]
forward_snoops = False
is_top_level = True
#cpu #cpu
cpus = [ AtomicSimpleCPU(cpu_id=i) for i in xrange(2) ] cpus = [ AtomicSimpleCPU(cpu_id=i) for i in xrange(2) ]
#the system #the system
system = FSConfig.makeLinuxAlphaSystem('atomic') system = FSConfig.makeLinuxAlphaSystem('atomic')
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('8GB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -30,45 +30,7 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='8GB')]
forward_snoops = False
is_top_level = True
#cpu #cpu
cpu = AtomicSimpleCPU(cpu_id=0) cpu = AtomicSimpleCPU(cpu_id=0)
@ -78,7 +40,7 @@ system = FSConfig.makeLinuxAlphaSystem('atomic')
system.cpu = cpu system.cpu = cpu
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('8GB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -30,51 +30,13 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='8GB')]
forward_snoops = False
is_top_level = True
#cpu #cpu
cpus = [ TimingSimpleCPU(cpu_id=i) for i in xrange(2) ] cpus = [ TimingSimpleCPU(cpu_id=i) for i in xrange(2) ]
#the system #the system
system = FSConfig.makeLinuxAlphaSystem('timing') system = FSConfig.makeLinuxAlphaSystem('timing')
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('8GB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave

View file

@ -30,46 +30,7 @@ import m5
from m5.objects import * from m5.objects import *
m5.util.addToPath('../configs/common') m5.util.addToPath('../configs/common')
import FSConfig import FSConfig
from Caches import *
# --------------------
# Base L1 Cache
# ====================
class L1(BaseCache):
hit_latency = 2
response_latency = 2
block_size = 64
mshrs = 4
tgts_per_mshr = 8
is_top_level = True
# ----------------------
# Base L2 Cache
# ----------------------
class L2(BaseCache):
block_size = 64
hit_latency = 20
response_latency = 20
mshrs = 92
tgts_per_mshr = 16
write_buffers = 8
# ---------------------
# I/O Cache
# ---------------------
class IOCache(BaseCache):
assoc = 8
block_size = 64
hit_latency = 50
response_latency = 50
mshrs = 20
size = '1kB'
tgts_per_mshr = 12
addr_ranges = [AddrRange(0, size='8GB')]
forward_snoops = False
is_top_level = True
#cpu #cpu
cpu = TimingSimpleCPU(cpu_id=0) cpu = TimingSimpleCPU(cpu_id=0)
@ -79,7 +40,7 @@ system = FSConfig.makeLinuxAlphaSystem('timing')
system.cpu = cpu system.cpu = cpu
#create the iocache #create the iocache
system.iocache = IOCache(clock = '1GHz') system.iocache = IOCache(clock = '1GHz', addr_ranges = [AddrRange('8GB')])
system.iocache.cpu_side = system.iobus.master system.iocache.cpu_side = system.iobus.master
system.iocache.mem_side = system.membus.slave system.iocache.mem_side = system.membus.slave