diff options
author | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-01-29 20:29:24 -0800 |
---|---|---|
committer | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-01-29 20:29:24 -0800 |
commit | 502b8bd8a4f3b1998afbd3cf8e59e0bb4e153403 (patch) | |
tree | f77b7a0859d5864eedc6d66fadef8d8ba035fe08 /configs/ruby | |
parent | 70648cf6aa54a5f313b422c4bf6a6a1e4ad7c4ed (diff) | |
download | gem5-502b8bd8a4f3b1998afbd3cf8e59e0bb4e153403.tar.xz |
ruby: Memory size consistency check
Ruby's memory is now sized according to the size of M5 physical memory.
Diffstat (limited to 'configs/ruby')
-rw-r--r-- | configs/ruby/MOESI_hammer.py | 9 | ||||
-rw-r--r-- | configs/ruby/Ruby.py | 5 |
2 files changed, 12 insertions, 2 deletions
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)) |