diff options
author | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-01-29 20:29:20 -0800 |
---|---|---|
committer | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-01-29 20:29:20 -0800 |
commit | 2c9ca672dfe4a204ebe21c73b344d2939c0e0eff (patch) | |
tree | dce0fbc1d40e16ae7ed7f04db5c7e58bbd779698 /configs/example | |
parent | 2a0555470cfc66ab70544e97578c048822ec9282 (diff) | |
download | gem5-2c9ca672dfe4a204ebe21c73b344d2939c0e0eff.tar.xz |
ruby: Memory Controller Profiler with new config system
This patch includes a rather substantial change to the memory controller
profiler in order to work with the new configuration system. Most
noteably, the mem_cntrl_profiler no longer uses a string map, but instead
a vector. Eventually this support should be removed from the main
profiler and go into a separate object. Each memory controller should have
a pointer to that new mem_cntrl profile object.
Diffstat (limited to 'configs/example')
-rw-r--r-- | configs/example/memtest-ruby.py | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/configs/example/memtest-ruby.py b/configs/example/memtest-ruby.py index abc22a93b..c610a1c62 100644 --- a/configs/example/memtest-ruby.py +++ b/configs/example/memtest-ruby.py @@ -135,9 +135,11 @@ for (i, cpu) in enumerate(cpus): L1DcacheMemory = l1d_cache, L2cacheMemory = l2_cache) + mem_cntrl = RubyMemoryControl(version = i) + dir_cntrl = Directory_Controller(version = i, directory = RubyDirectoryMemory(), - memBuffer = RubyMemoryControl()) + memBuffer = mem_cntrl) dma_cntrl = DMA_Controller(version = i, dma_sequencer = DMASequencer()) @@ -167,13 +169,27 @@ network = SimpleNetwork(topology = makeCrossbar(l1_cntrl_nodes + \ mem_size_mb = sum([int(dir_cntrl.directory.size_mb) \ for dir_cntrl in dir_cntrl_nodes]) +# +# determine the number of memory controllers and other memory controller +# parameters for the profiler +# +mcCount = len(dir_cntrl_nodes) +banksPerRank = dir_cntrl_nodes[0].memBuffer.banks_per_rank +ranksPerDimm = dir_cntrl_nodes[0].memBuffer.ranks_per_dimm +dimmsPerChannel = dir_cntrl_nodes[0].memBuffer.dimms_per_channel + +ruby_profiler = RubyProfiler(mem_cntrl_count = mcCount, + banks_per_rank = banksPerRank, + ranks_per_dimm = ranksPerDimm, + dimms_per_channel = dimmsPerChannel) + system.ruby = RubySystem(clock = '1GHz', network = network, - profiler = RubyProfiler(), + profiler = ruby_profiler, tracer = RubyTracer(), - debug = RubyDebug(filter_string = 'qQin', - verbosity_string = 'high', - protocol_trace = True), + debug = RubyDebug(filter_string = 'none', + verbosity_string = 'none', + protocol_trace = False), mem_size_mb = mem_size_mb) |