Go to the documentation of this file.
37 #ifndef __MEM_CACHE_PREFETCH_PIF_HH__
38 #define __MEM_CACHE_PREFETCH_PIF_HH__
47 struct PIFPrefetcherParams;
119 unsigned int log_blk_size)
const;
163 const std::string &
name)
176 PIF(
const PIFPrefetcherParams *
p);
192 #endif // __MEM_CACHE_PREFETCH_PIF_HH__
bool hasAddress(Addr target, unsigned int log_blk_size) const
Checks if the provided address is contained in this spatial region and if its corresponding bit vecto...
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
Probe Listener to handle probe events from the CPU.
Associative container based on the previosuly defined Entry type Each element is indexed by a key of ...
const unsigned int maxCompactorEntries
Number of entries used for the temporal compactor.
const unsigned int precSize
Number of preceding and subsequent spatial addresses to compact.
CircularQueue< HistoryBuffer::iterator > streamAddressBuffer
A Stream Address Buffer (SAB) tracks a window of consecutive spatial regions.
void addEventProbeRetiredInsts(SimObject *obj, const char *name)
Add a SimObject and a probe name to monitor the retired instructions.
const unsigned int succSize
std::vector< PrefetchListenerPC * > listenersPC
Array of probe listeners.
void update() const
Align cycle and tick to the next clock edge if not already done.
HistoryBuffer::iterator historyIt
CompactorEntry spatialCompactor
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
PIF(const PIFPrefetcherParams *p)
AssociativeSet< IndexEntry > index
The index table is a small cache-like structure that facilitates fast search of the history buffer.
HistoryBuffer historyBuffer
PrefetchListenerPC(PIF &_parent, ProbeManager *pm, const std::string &name)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void calculatePrefetch(const PrefetchInfo &pfi, std::vector< AddrPriority > &addresses)
virtual const std::string name() const
void notify(const Addr &pc) override
ProbeManager is a conduit class that lives on each SimObject, and is used to match up probe listeners...
Addr distanceFromTrigger(Addr addr, unsigned int log_blk_size) const
Computes the distance, in cache blocks, from an address to the trigger of the entry.
std::deque< CompactorEntry > temporalCompactor
Class containing the information needed by the prefetch to train and generate new prefetch requests.
The compactor tracks retired instructions addresses, leveraging the spatial and temporal locality amo...
bool inSameSpatialRegion(Addr addr, unsigned int log_blk_size, bool update)
Checks if a given address is in the same defined spatial region as the compactor entry.
void notifyRetiredInst(const Addr pc)
Updates the prefetcher structures upon an instruction retired.
void getPredictedAddresses(unsigned int log_blk_size, std::vector< AddrPriority > &addresses) const
Fills the provided vector with the predicted addresses using the recorded bit vectors of the entry.
Abstract superclass for simulation objects.
ProbeListenerArgBase is used to define the base interface to a ProbeListenerArg (i....
Generated on Wed Sep 30 2020 14:02:12 for gem5 by doxygen 1.8.17