From 502b8bd8a4f3b1998afbd3cf8e59e0bb4e153403 Mon Sep 17 00:00:00 2001 From: Brad Beckmann Date: Fri, 29 Jan 2010 20:29:24 -0800 Subject: ruby: Memory size consistency check Ruby's memory is now sized according to the size of M5 physical memory. --- configs/ruby/MOESI_hammer.py | 9 ++++++++- configs/ruby/Ruby.py | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'configs') diff --git a/configs/ruby/MOESI_hammer.py b/configs/ruby/MOESI_hammer.py index dba31b8b7..62d86a1e2 100644 --- a/configs/ruby/MOESI_hammer.py +++ b/configs/ruby/MOESI_hammer.py @@ -96,6 +96,9 @@ def create_system(options, phys_mem, piobus, dma_devices): 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 @@ def create_system(options, phys_mem, piobus, dma_devices): 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 --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py index 7003e6266..735adda27 100644 --- a/configs/ruby/Ruby.py +++ b/configs/ruby/Ruby.py @@ -55,11 +55,14 @@ def create_system(options, physmem, piobus = None, dma_devices = []): 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)) -- cgit v1.2.3