summaryrefslogtreecommitdiff
path: root/src/mem/cache/prefetch/base.hh
diff options
context:
space:
mode:
authorIvan Pizarro <ivan.pizarro@metempsy.com>2018-12-03 23:03:01 +0100
committerIvan Pizarro <ivan.pizarro@metempsy.com>2019-02-25 11:17:30 +0000
commitd63f735663d710839f79a4b88af67da968995168 (patch)
treee123e0d0f8e4016940508d037e64d64e0fff56f9 /src/mem/cache/prefetch/base.hh
parentf4d3080f4586147b9ee962770110944467b26c0c (diff)
downloadgem5-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.hh9
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;