49 #ifndef __MEM_CACHE_PREFETCH_BASE_HH__
50 #define __MEM_CACHE_PREFETCH_BASE_HH__
54 #include "params/BasePrefetcher.hh"
143 #endif //__MEM_CACHE_PREFETCH_BASE_HH__
bool onData
Consult prefetcher on data accesses?
BasePrefetcher(const BasePrefetcherParams *p)
bool onMiss
Only consult prefetcher on cache misses?
BaseCache * cache
Pointr to the parent cache.
virtual void regStats()
Register statistics for this object.
virtual Tick notify(const PacketPtr &pkt)=0
Notify prefetcher of cache access (may be any access or just misses, depending on cache parameters...
unsigned lBlkSize
log_2(block size of the parent cache).
Declaration of Statistics objects.
This is a simple scalar statistic, like a counter.
bool onRead
Consult prefetcher on reads?
bool observeAccess(const PacketPtr &pkt) const
Determine if this access should be observed.
virtual ~BasePrefetcher()
uint64_t Tick
Tick count type.
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
Addr blockAddress(Addr a) const
Determine the address of the block in which a lays.
ClockedObject declaration and implementation.
bool onWrite
Consult prefetcher on reads?
System * system
System we belong to.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
MasterID masterId
Request id for prefetches.
bool inMissQueue(Addr addr, bool is_secure) const
Determine if address is in cache miss queue.
bool inCache(Addr addr, bool is_secure) const
Determine if address is in cache.
Declaration of the Packet class.
Addr pageAddress(Addr a) const
Determine the address of the page in which a lays.
void setCache(BaseCache *_cache)
bool onInst
Consult prefetcher on instruction accesses?
Addr pageOffset(Addr a) const
Determine the page-offset of a.
Addr pageIthBlockAddress(Addr page, uint32_t i) const
Build the address of the i-th block inside the page.
unsigned blkSize
The block size of the parent cache.
virtual Tick nextPrefetchReadyTime() const =0
bool samePage(Addr a, Addr b) const
Determine if addresses are on the same page.
virtual PacketPtr getPacket()=0
Addr blockIndex(Addr a) const
Determine the address of a at block granularity.