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