Prefetcher.py (13829:b623eae407f0) Prefetcher.py (13963:94555f0223ba)
1# Copyright (c) 2012, 2014 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 142 unchanged lines hidden (view full) ---

151 pt_table_assoc = Param.Unsigned(16, "Associativity of the Prefetch Table")
152 pt_table_indexing_policy = Param.BaseIndexingPolicy(
153 SetAssociative(entry_size = 1, assoc = Parent.pt_table_assoc,
154 size = Parent.pt_table_entries),
155 "Indexing policy of the pattern table")
156 pt_table_replacement_policy = Param.BaseReplacementPolicy(LRURP(),
157 "Replacement policy of the pattern table")
158 max_prefetch_distance = Param.Unsigned(16, "Maximum prefetch distance")
1# Copyright (c) 2012, 2014 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 142 unchanged lines hidden (view full) ---

151 pt_table_assoc = Param.Unsigned(16, "Associativity of the Prefetch Table")
152 pt_table_indexing_policy = Param.BaseIndexingPolicy(
153 SetAssociative(entry_size = 1, assoc = Parent.pt_table_assoc,
154 size = Parent.pt_table_entries),
155 "Indexing policy of the pattern table")
156 pt_table_replacement_policy = Param.BaseReplacementPolicy(LRURP(),
157 "Replacement policy of the pattern table")
158 max_prefetch_distance = Param.Unsigned(16, "Maximum prefetch distance")
159 max_indirect_counter_value = Param.Unsigned(8,
160 "Maximum value of the indirect counter")
159 num_indirect_counter_bits = Param.Unsigned(3,
160 "Number of bits of the indirect counter")
161 ipd_table_entries = Param.MemorySize("4",
162 "Number of entries of the Indirect Pattern Detector")
163 ipd_table_assoc = Param.Unsigned(4,
164 "Associativity of the Indirect Pattern Detector")
165 ipd_table_indexing_policy = Param.BaseIndexingPolicy(
166 SetAssociative(entry_size = 1, assoc = Parent.ipd_table_assoc,
167 size = Parent.ipd_table_entries),
168 "Indexing policy of the Indirect Pattern Detector")

--- 23 unchanged lines hidden (view full) ---

192 "Associativity of the signature table")
193 signature_table_indexing_policy = Param.BaseIndexingPolicy(
194 SetAssociative(entry_size = 1, assoc = Parent.signature_table_assoc,
195 size = Parent.signature_table_entries),
196 "Indexing policy of the signature table")
197 signature_table_replacement_policy = Param.BaseReplacementPolicy(LRURP(),
198 "Replacement policy of the signature table")
199
161 ipd_table_entries = Param.MemorySize("4",
162 "Number of entries of the Indirect Pattern Detector")
163 ipd_table_assoc = Param.Unsigned(4,
164 "Associativity of the Indirect Pattern Detector")
165 ipd_table_indexing_policy = Param.BaseIndexingPolicy(
166 SetAssociative(entry_size = 1, assoc = Parent.ipd_table_assoc,
167 size = Parent.ipd_table_entries),
168 "Indexing policy of the Indirect Pattern Detector")

--- 23 unchanged lines hidden (view full) ---

192 "Associativity of the signature table")
193 signature_table_indexing_policy = Param.BaseIndexingPolicy(
194 SetAssociative(entry_size = 1, assoc = Parent.signature_table_assoc,
195 size = Parent.signature_table_entries),
196 "Indexing policy of the signature table")
197 signature_table_replacement_policy = Param.BaseReplacementPolicy(LRURP(),
198 "Replacement policy of the signature table")
199
200 max_counter_value = Param.UInt8(7, "Maximum pattern counter value")
200 num_counter_bits = Param.UInt8(3,
201 "Number of bits of the saturating counters")
201 pattern_table_entries = Param.MemorySize("4096",
202 "Number of entries of the pattern table")
203 pattern_table_assoc = Param.Unsigned(1,
204 "Associativity of the pattern table")
205 strides_per_pattern_entry = Param.Unsigned(4,
206 "Number of strides stored in each pattern entry")
207 pattern_table_indexing_policy = Param.BaseIndexingPolicy(
208 SetAssociative(entry_size = 1, assoc = Parent.pattern_table_assoc,

--- 11 unchanged lines hidden (view full) ---

220 type = 'SignaturePathPrefetcherV2'
221 cxx_class = 'SignaturePathPrefetcherV2'
222 cxx_header = "mem/cache/prefetch/signature_path_v2.hh"
223
224 signature_table_entries = "256"
225 signature_table_assoc = 1
226 pattern_table_entries = "512"
227 pattern_table_assoc = 1
202 pattern_table_entries = Param.MemorySize("4096",
203 "Number of entries of the pattern table")
204 pattern_table_assoc = Param.Unsigned(1,
205 "Associativity of the pattern table")
206 strides_per_pattern_entry = Param.Unsigned(4,
207 "Number of strides stored in each pattern entry")
208 pattern_table_indexing_policy = Param.BaseIndexingPolicy(
209 SetAssociative(entry_size = 1, assoc = Parent.pattern_table_assoc,

--- 11 unchanged lines hidden (view full) ---

221 type = 'SignaturePathPrefetcherV2'
222 cxx_class = 'SignaturePathPrefetcherV2'
223 cxx_header = "mem/cache/prefetch/signature_path_v2.hh"
224
225 signature_table_entries = "256"
226 signature_table_assoc = 1
227 pattern_table_entries = "512"
228 pattern_table_assoc = 1
228 max_counter_value = 15
229 num_counter_bits = 4
229 prefetch_confidence_threshold = 0.25
230 lookahead_confidence_threshold = 0.25
231
232 global_history_register_entries = Param.MemorySize("8",
233 "Number of entries of global history register")
234 global_history_register_indexing_policy = Param.BaseIndexingPolicy(
235 SetAssociative(entry_size = 1,
236 assoc = Parent.global_history_register_entries,

--- 76 unchanged lines hidden (view full) ---

313 DeltaCorrelatingPredictionTables(),
314 "Delta Correlating Prediction Tables object")
315
316class IrregularStreamBufferPrefetcher(QueuedPrefetcher):
317 type = "IrregularStreamBufferPrefetcher"
318 cxx_class = "IrregularStreamBufferPrefetcher"
319 cxx_header = "mem/cache/prefetch/irregular_stream_buffer.hh"
320
230 prefetch_confidence_threshold = 0.25
231 lookahead_confidence_threshold = 0.25
232
233 global_history_register_entries = Param.MemorySize("8",
234 "Number of entries of global history register")
235 global_history_register_indexing_policy = Param.BaseIndexingPolicy(
236 SetAssociative(entry_size = 1,
237 assoc = Parent.global_history_register_entries,

--- 76 unchanged lines hidden (view full) ---

314 DeltaCorrelatingPredictionTables(),
315 "Delta Correlating Prediction Tables object")
316
317class IrregularStreamBufferPrefetcher(QueuedPrefetcher):
318 type = "IrregularStreamBufferPrefetcher"
319 cxx_class = "IrregularStreamBufferPrefetcher"
320 cxx_header = "mem/cache/prefetch/irregular_stream_buffer.hh"
321
321 max_counter_value = Param.Unsigned(3,
322 "Maximum value of the confidence counter")
322 num_counter_bits = Param.Unsigned(2,
323 "Number of bits of the confidence counter")
323 chunk_size = Param.Unsigned(256,
324 "Maximum number of addresses in a temporal stream")
325 degree = Param.Unsigned(4, "Number of prefetches to generate")
326 training_unit_assoc = Param.Unsigned(128,
327 "Associativity of the training unit")
328 training_unit_entries = Param.MemorySize("128",
329 "Number of entries of the training unit")
330 training_unit_indexing_policy = Param.BaseIndexingPolicy(

--- 155 unchanged lines hidden ---
324 chunk_size = Param.Unsigned(256,
325 "Maximum number of addresses in a temporal stream")
326 degree = Param.Unsigned(4, "Number of prefetches to generate")
327 training_unit_assoc = Param.Unsigned(128,
328 "Associativity of the training unit")
329 training_unit_entries = Param.MemorySize("128",
330 "Number of entries of the training unit")
331 training_unit_indexing_policy = Param.BaseIndexingPolicy(

--- 155 unchanged lines hidden ---