diff options
author | Javier Bueno <javier.bueno@metempsy.com> | 2018-12-13 11:38:15 +0100 |
---|---|---|
committer | Javier Bueno Hedo <javier.bueno@metempsy.com> | 2019-02-01 20:54:28 +0000 |
commit | 2775f55447edb344d99f30273ad93fea515d7e2b (patch) | |
tree | b1a274a936f8f3a970a1014bda73b2a92c873e0f /src/mem/cache/prefetch/Prefetcher.py | |
parent | 6684d617da52d1956f955a9452ff90058d66cf9e (diff) | |
download | gem5-2775f55447edb344d99f30273ad93fea515d7e2b.tar.xz |
mem-cache: Updated version of the Signature Path Prefetcher
This implementation is based in the description available in:
Jinchun Kim, Seth H. Pugsley, Paul V. Gratz, A. L. Narasimha Reddy,
Chris Wilkerson, and Zeshan Chishti. 2016.
Path confidence based lookahead prefetching.
In The 49th Annual IEEE/ACM International Symposium on Microarchitecture
(MICRO-49). IEEE Press, Piscataway, NJ, USA, Article 60, 12 pages.
Change-Id: I4b8b54efef48ced7044bd535de9a69bca68d47d9
Reviewed-on: https://gem5-review.googlesource.com/c/14819
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Diffstat (limited to 'src/mem/cache/prefetch/Prefetcher.py')
-rw-r--r-- | src/mem/cache/prefetch/Prefetcher.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/mem/cache/prefetch/Prefetcher.py b/src/mem/cache/prefetch/Prefetcher.py index 3d9c66565..082590853 100644 --- a/src/mem/cache/prefetch/Prefetcher.py +++ b/src/mem/cache/prefetch/Prefetcher.py @@ -180,6 +180,29 @@ class SignaturePathPrefetcher(QueuedPrefetcher): lookahead_confidence_threshold = Param.Float(0.75, "Minimum confidence to continue exploring lookahead entries") +class SignaturePathPrefetcherV2(SignaturePathPrefetcher): + type = 'SignaturePathPrefetcherV2' + cxx_class = 'SignaturePathPrefetcherV2' + cxx_header = "mem/cache/prefetch/signature_path_v2.hh" + + signature_table_entries = "256" + signature_table_assoc = 1 + pattern_table_entries = "512" + pattern_table_assoc = 1 + max_counter_value = 15 + prefetch_confidence_threshold = 0.25 + lookahead_confidence_threshold = 0.25 + + global_history_register_entries = Param.MemorySize("8", + "Number of entries of global history register") + global_history_register_indexing_policy = Param.BaseIndexingPolicy( + SetAssociative(entry_size = 1, + assoc = Parent.global_history_register_entries, + size = Parent.global_history_register_entries), + "Indexing policy of the global history register") + global_history_register_replacement_policy = Param.BaseReplacementPolicy( + LRURP(), "Replacement policy of the global history register") + class AccessMapPatternMatchingPrefetcher(QueuedPrefetcher): type = 'AccessMapPatternMatchingPrefetcher' cxx_class = 'AccessMapPatternMatchingPrefetcher' |