Prefetcher.py (14013:aeb3ca1762bb) Prefetcher.py (14015:e709cec78417)
1# Copyright (c) 2012, 2014, 2019 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

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

124 max_prefetch_requests_with_pending_translation = Param.Int(32,
125 "Maximum number of queued prefetches that have a missing translation")
126 queue_squash = Param.Bool(True, "Squash queued prefetch on demand access")
127 queue_filter = Param.Bool(True, "Don't queue redundant prefetches")
128 cache_snoop = Param.Bool(False, "Snoop cache to eliminate redundant request")
129
130 tag_prefetch = Param.Bool(True, "Tag prefetch with PC of generating access")
131
1# Copyright (c) 2012, 2014, 2019 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

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

124 max_prefetch_requests_with_pending_translation = Param.Int(32,
125 "Maximum number of queued prefetches that have a missing translation")
126 queue_squash = Param.Bool(True, "Squash queued prefetch on demand access")
127 queue_filter = Param.Bool(True, "Don't queue redundant prefetches")
128 cache_snoop = Param.Bool(False, "Snoop cache to eliminate redundant request")
129
130 tag_prefetch = Param.Bool(True, "Tag prefetch with PC of generating access")
131
132 # The throttle_control_percentage controls how many of the candidate
133 # addresses generated by the prefetcher will be finally turned into
134 # prefetch requests
135 # - If set to 100, all candidates can be discarded (one request
136 # will always be allowed to be generated)
137 # - Setting it to 0 will disable the throttle control, so requests are
138 # created for all candidates
139 # - If set to 60, 40% of candidates will generate a request, and the
140 # remaining 60% will be generated depending on the current accuracy
141 throttle_control_percentage = Param.Percent(0, "Percentage of requests \
142 that can be throttled depending on the accuracy of the prefetcher.")
143
132class StridePrefetcher(QueuedPrefetcher):
133 type = 'StridePrefetcher'
134 cxx_class = 'StridePrefetcher'
135 cxx_header = "mem/cache/prefetch/stride.hh"
136
137 # Do not consult stride prefetcher on instruction accesses
138 on_inst = False
139

--- 364 unchanged lines hidden ---
144class StridePrefetcher(QueuedPrefetcher):
145 type = 'StridePrefetcher'
146 cxx_class = 'StridePrefetcher'
147 cxx_header = "mem/cache/prefetch/stride.hh"
148
149 # Do not consult stride prefetcher on instruction accesses
150 on_inst = False
151

--- 364 unchanged lines hidden ---