# HG changeset patch
# User Brad Beckmann <[email protected]>
# Date 1263536247 28800
# Node ID d1afc64b72dfd2451c0f1acf0addc7ac8aebd8e1
# Parent 69b0eb267a9b14f0b02e7114561e4c7de72c2785
ruby: Memory size consistency check
Ruby's memory is now sized according to the size of M5 physical memory.
diff -r 69b0eb267a9b -r d1afc64b72df configs/ruby/MOESI_hammer.py
--- a/configs/ruby/MOESI_hammer.py Thu Jan 14 22:17:27 2010 -0800
+++ b/configs/ruby/MOESI_hammer.py Thu Jan 14 22:17:27 2010 -0800
@@ -96,6 +96,9 @@
cpu_sequencers.append(cpu_seq)
l1_cntrl_nodes.append(l1_cntrl)
+ phys_mem_size = long(phys_mem.range.second) - long(phys_mem.range.first) +
1
+ mem_module_size = phys_mem_size / options.num_dirs
+
for i in xrange(options.num_dirs):
#
# Create the Ruby objects associated with the directory controller
@@ -103,9 +106,13 @@
mem_cntrl = RubyMemoryControl(version = i)
+ dir_size = MemorySize('0B')
+ dir_size.value = mem_module_size
+
dir_cntrl = Directory_Controller(version = i,
directory = \
- RubyDirectoryMemory(version = i),
+ RubyDirectoryMemory(version = i,
+ size = dir_size),
memBuffer = mem_cntrl)
dir_cntrl_nodes.append(dir_cntrl)
diff -r 69b0eb267a9b -r d1afc64b72df configs/ruby/Ruby.py
--- a/configs/ruby/Ruby.py Thu Jan 14 22:17:27 2010 -0800
+++ b/configs/ruby/Ruby.py Thu Jan 14 22:17:27 2010 -0800
@@ -55,11 +55,14 @@
network = SimpleNetwork(topology = makeCrossbar(all_cntrls))
#
- # determine the total memory size of the ruby system
+ # determine the total memory size of the ruby system and verify it is equal
+ # to physmem
#
total_mem_size = MemorySize('0B')
for dir_cntrl in dir_cntrls:
total_mem_size.value += dir_cntrl.directory.size.value
+ physmem_size = long(physmem.range.second) - long(physmem.range.first) + 1
+ assert(total_mem_size.value == physmem_size)
ruby_profiler = RubyProfiler(num_of_sequencers = len(cpu_sequencers))
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev