MOESI_hammer.py (7662:b4d3a30575a1) | MOESI_hammer.py (7904:6f5299ff8260) |
---|---|
1# Copyright (c) 2006-2007 The Regents of The University of Michigan 2# Copyright (c) 2009 Advanced Micro Devices, Inc. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 41 unchanged lines hidden (view full) --- 50class ProbeFilter(RubyCache): 51 latency = 1 52 53def define_options(parser): 54 parser.add_option("--allow-atomic-migration", action="store_true", 55 help="allow migratory sharing for atomic only accessed blocks") 56 parser.add_option("--pf-on", action="store_true", 57 help="Hammer: enable Probe Filter") | 1# Copyright (c) 2006-2007 The Regents of The University of Michigan 2# Copyright (c) 2009 Advanced Micro Devices, Inc. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 41 unchanged lines hidden (view full) --- 50class ProbeFilter(RubyCache): 51 latency = 1 52 53def define_options(parser): 54 parser.add_option("--allow-atomic-migration", action="store_true", 55 help="allow migratory sharing for atomic only accessed blocks") 56 parser.add_option("--pf-on", action="store_true", 57 help="Hammer: enable Probe Filter") |
58 | 58 parser.add_option("--dir-on", action="store_true", 59 help="Hammer: enable Full-bit Directory") 60 |
59def create_system(options, system, piobus, dma_devices): 60 61 if buildEnv['PROTOCOL'] != 'MOESI_hammer': 62 panic("This script requires the MOESI_hammer protocol to be built.") 63 64 cpu_sequencers = [] 65 66 # --- 93 unchanged lines hidden (view full) --- 160 RubyDirectoryMemory( \ 161 version = i, 162 size = dir_size, 163 use_map = options.use_map, 164 map_levels = \ 165 options.map_levels), 166 probeFilter = pf, 167 memBuffer = mem_cntrl, | 61def create_system(options, system, piobus, dma_devices): 62 63 if buildEnv['PROTOCOL'] != 'MOESI_hammer': 64 panic("This script requires the MOESI_hammer protocol to be built.") 65 66 cpu_sequencers = [] 67 68 # --- 93 unchanged lines hidden (view full) --- 162 RubyDirectoryMemory( \ 163 version = i, 164 size = dir_size, 165 use_map = options.use_map, 166 map_levels = \ 167 options.map_levels), 168 probeFilter = pf, 169 memBuffer = mem_cntrl, |
168 probe_filter_enabled = options.pf_on) | 170 probe_filter_enabled = options.pf_on, 171 full_bit_dir_enabled = options.dir_on) |
169 170 if options.recycle_latency: 171 dir_cntrl.recycle_latency = options.recycle_latency 172 173 exec("system.dir_cntrl%d = dir_cntrl" % i) 174 dir_cntrl_nodes.append(dir_cntrl) 175 176 for i, dma_device in enumerate(dma_devices): --- 23 unchanged lines hidden --- | 172 173 if options.recycle_latency: 174 dir_cntrl.recycle_latency = options.recycle_latency 175 176 exec("system.dir_cntrl%d = dir_cntrl" % i) 177 dir_cntrl_nodes.append(dir_cntrl) 178 179 for i, dma_device in enumerate(dma_devices): --- 23 unchanged lines hidden --- |