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 --- 128 unchanged lines hidden (view full) --- 137 138class TaggedPrefetcher(QueuedPrefetcher): 139 type = 'TaggedPrefetcher' 140 cxx_class = 'TaggedPrefetcher' 141 cxx_header = "mem/cache/prefetch/tagged.hh" 142 143 degree = Param.Int(2, "Number of prefetches to generate") 144 |
145class IndirectMemoryPrefetcher(QueuedPrefetcher): 146 type = 'IndirectMemoryPrefetcher' 147 cxx_class = 'IndirectMemoryPrefetcher' 148 cxx_header = "mem/cache/prefetch/indirect_memory.hh" 149 pt_table_entries = Param.MemorySize("16", 150 "Number of entries of the Prefetch Table") 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") 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") 169 ipd_table_replacement_policy = Param.BaseReplacementPolicy(LRURP(), 170 "Replacement policy of the Indirect Pattern Detector") 171 shift_values = VectorParam.Int([2, 3, 4, -3], "Shift values to evaluate") 172 addr_array_len = Param.Unsigned(4, "Number of misses tracked") 173 prefetch_threshold = Param.Unsigned(2, 174 "Counter threshold to start the indirect prefetching") 175 stream_counter_threshold = Param.Unsigned(4, 176 "Counter threshold to enable the stream prefetcher") 177 streaming_distance = Param.Unsigned(4, 178 "Number of prefetches to generate when using the stream prefetcher") 179 |
180class SignaturePathPrefetcher(QueuedPrefetcher): 181 type = 'SignaturePathPrefetcher' 182 cxx_class = 'SignaturePathPrefetcher' 183 cxx_header = "mem/cache/prefetch/signature_path.hh" 184 185 signature_shift = Param.UInt8(3, 186 "Number of bits to shift when calculating a new signature"); 187 signature_bits = Param.UInt16(12, --- 223 unchanged lines hidden --- |