Lines Matching refs:self

74     def create(self, size, assoc, options):
75 self.size = MemorySize(size)
76 self.assoc = assoc
77 self.replacement_policy = PseudoLRUReplacementPolicy()
84 def create(self, size, assoc, options):
85 self.size = MemorySize(size)
86 self.assoc = assoc
87 self.replacement_policy = PseudoLRUReplacementPolicy()
91 def create(self, options, ruby_system, system):
92 self.version = self.versionCount()
94 self.L1Icache = L1Cache()
95 self.L1Icache.create(options.l1i_size, options.l1i_assoc, options)
96 self.L1D0cache = L1Cache()
97 self.L1D0cache.create(options.l1d_size, options.l1d_assoc, options)
98 self.L1D1cache = L1Cache()
99 self.L1D1cache.create(options.l1d_size, options.l1d_assoc, options)
100 self.L2cache = L2Cache()
101 self.L2cache.create(options.l2_size, options.l2_assoc, options)
103 self.sequencer = RubySequencer()
104 self.sequencer.version = self.seqCount()
105 self.sequencer.icache = self.L1Icache
106 self.sequencer.dcache = self.L1D0cache
107 self.sequencer.ruby_system = ruby_system
108 self.sequencer.coreid = 0
109 self.sequencer.is_cpu_sequencer = True
111 self.sequencer1 = RubySequencer()
112 self.sequencer1.version = self.seqCount()
113 self.sequencer1.icache = self.L1Icache
114 self.sequencer1.dcache = self.L1D1cache
115 self.sequencer1.ruby_system = ruby_system
116 self.sequencer1.coreid = 1
117 self.sequencer1.is_cpu_sequencer = True
119 self.issue_latency = options.cpu_to_dir_latency
120 self.send_evictions = send_evicts(options)
122 self.ruby_system = ruby_system
125 self.recycle_latency = options.recycle_latency
134 def create(self, options):
135 self.size = MemorySize(options.tcp_size)
136 self.dataArrayBanks = 16
137 self.tagArrayBanks = 16
138 self.dataAccessLatency = 4
139 self.tagAccessLatency = 1
140 self.resourceStalls = options.no_tcc_resource_stalls
141 self.replacement_policy = PseudoLRUReplacementPolicy()
145 def create(self, options, ruby_system, system):
146 self.version = self.versionCount()
147 self.L1cache = TCPCache()
148 self.L1cache.create(options)
149 self.issue_latency = 1
151 self.coalescer = VIPERCoalescer()
152 self.coalescer.version = self.seqCount()
153 self.coalescer.icache = self.L1cache
154 self.coalescer.dcache = self.L1cache
155 self.coalescer.ruby_system = ruby_system
156 self.coalescer.support_inst_reqs = False
157 self.coalescer.is_cpu_sequencer = False
159 self.sequencer = RubySequencer()
160 self.sequencer.version = self.seqCount()
161 self.sequencer.icache = self.L1cache
162 self.sequencer.dcache = self.L1cache
163 self.sequencer.ruby_system = ruby_system
164 self.sequencer.is_cpu_sequencer = True
166 self.use_seq_not_coal = False
168 self.ruby_system = ruby_system
170 self.recycle_latency = options.recycle_latency
178 def create(self, options):
179 self.size = MemorySize(options.sqc_size)
180 self.assoc = options.sqc_assoc
181 self.replacement_policy = PseudoLRUReplacementPolicy()
185 def create(self, options, ruby_system, system):
186 self.version = self.versionCount()
187 self.L1cache = SQCCache()
188 self.L1cache.create(options)
189 self.L1cache.resourceStalls = False
190 self.sequencer = RubySequencer()
191 self.sequencer.version = self.seqCount()
192 self.sequencer.icache = self.L1cache
193 self.sequencer.dcache = self.L1cache
194 self.sequencer.ruby_system = ruby_system
195 self.sequencer.support_data_reqs = False
196 self.sequencer.is_cpu_sequencer = False
197 self.ruby_system = ruby_system
199 self.recycle_latency = options.recycle_latency
207 def create(self, options):
208 self.assoc = options.tcc_assoc
213 self.size = MemorySize(tcc_size)
214 self.dataArrayBanks = 64
215 self.tagArrayBanks = 64
217 self.size = MemorySize(options.tcc_size)
218 self.dataArrayBanks = 256 / options.num_tccs #number of data banks
219 self.tagArrayBanks = 256 / options.num_tccs #number of tag banks
220 self.size.value = self.size.value / options.num_tccs
221 if ((self.size.value / long(self.assoc)) < 128):
222 self.size.value = long(128 * self.assoc)
223 self.start_index_bit = math.log(options.cacheline_size, 2) + \
225 self.replacement_policy = PseudoLRUReplacementPolicy()
228 def create(self, options, ruby_system, system):
229 self.version = self.versionCount()
230 self.L2cache = TCC()
231 self.L2cache.create(options)
232 self.ruby_system = ruby_system
233 self.L2cache.resourceStalls = options.no_tcc_resource_stalls
236 self.recycle_latency = options.recycle_latency
242 def create(self, options, ruby_system, system):
243 self.size = MemorySize(options.l3_size)
244 self.size.value /= options.num_dirs
245 self.assoc = options.l3_assoc
246 self.dataArrayBanks /= options.num_dirs
247 self.tagArrayBanks /= options.num_dirs
248 self.dataArrayBanks /= options.num_dirs
249 self.tagArrayBanks /= options.num_dirs
250 self.dataAccessLatency = options.l3_data_latency
251 self.tagAccessLatency = options.l3_tag_latency
252 self.resourceStalls = False
253 self.replacement_policy = PseudoLRUReplacementPolicy()
261 def create(self, options, ruby_system, system):
262 self.block_size = "%dB" % (64 * options.blocks_per_region)
263 self.size = options.region_dir_entries * \
264 self.block_size * options.num_compute_units
265 self.assoc = 8
266 self.tagArrayBanks = 8
267 self.tagAccessLatency = options.dir_tag_latency
268 self.dataAccessLatency = 1
269 self.resourceStalls = options.no_resource_stalls
270 self.start_index_bit = 6 + int(math.log(options.blocks_per_region, 2))
271 self.replacement_policy = PseudoLRUReplacementPolicy()
274 def create(self, options, ruby_system, system):
275 self.version = self.versionCount()
276 self.L3cache = L3Cache()
277 self.L3cache.create(options, ruby_system, system)
278 self.l3_response_latency = \
279 max(self.L3cache.dataAccessLatency, self.L3cache.tagAccessLatency)
280 self.ruby_system = ruby_system
282 self.recycle_latency = options.recycle_latency
284 def connectWireBuffers(self, req_to_dir, resp_to_dir, l3_unblock_to_dir,
286 self.reqToDir = req_to_dir
287 self.respToDir = resp_to_dir
288 self.l3UnblockToDir = l3_unblock_to_dir
289 self.reqToL3 = req_to_l3
290 self.probeToL3 = probe_to_l3
291 self.respToL3 = resp_to_l3
294 def create(self, options, ruby_system, system):
295 self.version = self.versionCount()
301 self.size = dir_size
304 def create(self, options, ruby_system, system):
305 self.version = self.versionCount()
306 self.response_latency = 30
307 self.directory = DirMem()
308 self.directory.create(options, ruby_system, system)
309 self.L3CacheMemory = L3Cache()
310 self.L3CacheMemory.create(options, ruby_system, system)
311 self.ProbeFilterMemory = ProbeFilter()
312 self.ProbeFilterMemory.create(options, ruby_system, system)
313 self.l3_hit_latency = \
314 max(self.L3CacheMemory.dataAccessLatency,
315 self.L3CacheMemory.tagAccessLatency)
317 self.ruby_system = ruby_system
319 self.recycle_latency = options.recycle_latency
321 def connectWireBuffers(self, req_to_dir, resp_to_dir, l3_unblock_to_dir,
323 self.reqToDir = req_to_dir
324 self.respToDir = resp_to_dir
325 self.l3UnblockToDir = l3_unblock_to_dir
326 self.reqToL3 = req_to_l3
327 self.probeToL3 = probe_to_l3
328 self.respToL3 = resp_to_l3