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