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
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)
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))