summaryrefslogtreecommitdiff
path: root/src/mem/cache/prefetch/base.hh
diff options
context:
space:
mode:
authorJavier Bueno <javier.bueno@metempsy.com>2018-12-13 11:38:15 +0100
committerJavier Bueno Hedo <javier.bueno@metempsy.com>2019-02-01 20:54:28 +0000
commit2775f55447edb344d99f30273ad93fea515d7e2b (patch)
treeb1a274a936f8f3a970a1014bda73b2a92c873e0f /src/mem/cache/prefetch/base.hh
parent6684d617da52d1956f955a9452ff90058d66cf9e (diff)
downloadgem5-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/base.hh')
-rw-r--r--src/mem/cache/prefetch/base.hh7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mem/cache/prefetch/base.hh b/src/mem/cache/prefetch/base.hh
index 63b0e1bed..06f77492d 100644
--- a/src/mem/cache/prefetch/base.hh
+++ b/src/mem/cache/prefetch/base.hh
@@ -214,6 +214,8 @@ class BasePrefetcher : public ClockedObject
/** Determine if address is in cache miss queue */
bool inMissQueue(Addr addr, bool is_secure) const;
+ bool hasBeenPrefetched(Addr addr, bool is_secure) const;
+
/** Determine if addresses are on the same page */
bool samePage(Addr a, Addr b) const;
/** Determine the address of the block in which a lays */
@@ -229,6 +231,11 @@ class BasePrefetcher : public ClockedObject
Stats::Scalar pfIssued;
+ /** Total prefetches issued */
+ uint64_t issuedPrefetches;
+ /** Total prefetches that has been useful */
+ uint64_t usefulPrefetches;
+
public:
BasePrefetcher(const BasePrefetcherParams *p);