diff options
author | Ivan Pizarro <ivan.pizarro@metempsy.com> | 2018-12-03 23:03:01 +0100 |
---|---|---|
committer | Ivan Pizarro <ivan.pizarro@metempsy.com> | 2019-02-25 11:17:30 +0000 |
commit | d63f735663d710839f79a4b88af67da968995168 (patch) | |
tree | e123e0d0f8e4016940508d037e64d64e0fff56f9 /src/mem/cache/prefetch/base.hh | |
parent | f4d3080f4586147b9ee962770110944467b26c0c (diff) | |
download | gem5-d63f735663d710839f79a4b88af67da968995168.tar.xz |
mem-cache: A Best-Offset Prefetcher
Michaud, P. (2015, June). A best-offset prefetcher.
In 2nd Data Prefetching Championship.
Change-Id: I61bb89ca5639356d54aeb04e856d5bf6e8805c22
Reviewed-on: https://gem5-review.googlesource.com/c/14820
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.hh | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mem/cache/prefetch/base.hh b/src/mem/cache/prefetch/base.hh index de275f85c..4df8428c6 100644 --- a/src/mem/cache/prefetch/base.hh +++ b/src/mem/cache/prefetch/base.hh @@ -67,12 +67,13 @@ class BasePrefetcher : public ClockedObject { public: PrefetchListener(BasePrefetcher &_parent, ProbeManager *pm, - const std::string &name) + const std::string &name, bool _isFill = false) : ProbeListenerArgBase(pm, name), - parent(_parent) {} + parent(_parent), isFill(_isFill) {} void notify(const PacketPtr &pkt) override; protected: BasePrefetcher &parent; + bool isFill; }; std::vector<PrefetchListener *> listeners; @@ -253,6 +254,10 @@ class BasePrefetcher : public ClockedObject */ virtual void notify(const PacketPtr &pkt, const PrefetchInfo &pfi) = 0; + /** Notify prefetcher of cache fill */ + virtual void notifyFill(const PacketPtr &pkt) + {} + virtual PacketPtr getPacket() = 0; virtual Tick nextPrefetchReadyTime() const = 0; |