|
gem5
v19.0.0.0
|
Class containing the information needed by the prefetch to train and generate new prefetch requests. More...
#include <base.hh>
Public Member Functions | |
| Addr | getAddr () const |
| Obtains the address value of this Prefetcher address. More... | |
| bool | isSecure () const |
| Returns true if the address targets the secure memory space. More... | |
| Addr | getPC () const |
| Returns the program counter that generated this request. More... | |
| bool | hasPC () const |
| Returns true if the associated program counter is valid. More... | |
| MasterID | getMasterId () const |
| Gets the requestor ID that generated this address. More... | |
| unsigned int | getSize () const |
| Gets the size of the request triggering this event. More... | |
| bool | isWrite () const |
| Checks if the request that caused this prefetch event was a write request. More... | |
| Addr | getPaddr () const |
| Gets the physical address of the request. More... | |
| bool | isCacheMiss () const |
| Check if this event comes from a cache miss. More... | |
| template<typename T > | |
| T | get (ByteOrder endian) const |
| Gets the associated data of the request triggering the event. More... | |
| bool | sameAddr (PrefetchInfo const &pfi) const |
| Check for equality. More... | |
| PrefetchInfo (PacketPtr pkt, Addr addr, bool miss) | |
| Constructs a PrefetchInfo using a PacketPtr. More... | |
| PrefetchInfo (PrefetchInfo const &pfi, Addr addr) | |
| Constructs a PrefetchInfo using a new address value and another PrefetchInfo as a reference. More... | |
| ~PrefetchInfo () | |
Private Attributes | |
| Addr | address |
| The address used to train and generate prefetches. More... | |
| Addr | pc |
| The program counter that generated this address. More... | |
| MasterID | masterId |
| The requestor ID that generated this address. More... | |
| bool | validPC |
| Validity bit for the PC of this address. More... | |
| bool | secure |
| Whether this address targets the secure memory space. More... | |
| unsigned int | size |
| Size in bytes of the request triggering this event. More... | |
| bool | write |
| Whether this event comes from a write request. More... | |
| Addr | paddress |
| Physical address, needed because address can be virtual. More... | |
| bool | cacheMiss |
| Whether this event comes from a cache miss. More... | |
| uint8_t * | data |
| Pointer to the associated request data. More... | |
Class containing the information needed by the prefetch to train and generate new prefetch requests.
Constructs a PrefetchInfo using a PacketPtr.
| pkt | PacketPtr used to generate the PrefetchInfo |
| addr | the address value of the new object, this address is used to train the prefetcher |
| miss | whether this event comes from a cache miss |
Definition at line 59 of file base.cc.
References data, Packet::getAddr(), Packet::getConstPtr(), ArmISA::offset, Packet::req, and write.
| BasePrefetcher::PrefetchInfo::PrefetchInfo | ( | PrefetchInfo const & | pfi, |
| Addr | addr | ||
| ) |
Constructs a PrefetchInfo using a new address value and another PrefetchInfo as a reference.
| pfi | PrefetchInfo used to generate this new object |
| addr | the address value of the new object |
|
inline |
|
inline |
Gets the associated data of the request triggering the event.
| Byte | ordering of the stored data |
Definition at line 205 of file base.hh.
References betoh(), BigEndianByteOrder, letoh(), LittleEndianByteOrder, and panic.
Referenced by IndirectMemoryPrefetcher::calculatePrefetch().
|
inline |
Obtains the address value of this Prefetcher address.
Definition at line 119 of file base.hh.
Referenced by TaggedPrefetcher::calculatePrefetch(), DeltaCorrelatingPredictionTables::calculatePrefetch(), IrregularStreamBufferPrefetcher::calculatePrefetch(), BOPPrefetcher::calculatePrefetch(), SBOOEPrefetcher::calculatePrefetch(), StridePrefetcher::calculatePrefetch(), PIFPrefetcher::calculatePrefetch(), AccessMapPatternMatching::calculatePrefetch(), STeMSPrefetcher::calculatePrefetch(), IndirectMemoryPrefetcher::calculatePrefetch(), SignaturePathPrefetcher::calculatePrefetch(), QueuedPrefetcher::insert(), QueuedPrefetcher::notify(), and sameAddr().
|
inline |
Gets the requestor ID that generated this address.
Definition at line 156 of file base.hh.
References BasePrefetcher::masterId.
Referenced by StridePrefetcher::calculatePrefetch().
|
inline |
Gets the physical address of the request.
Definition at line 184 of file base.hh.
Referenced by STeMSPrefetcher::calculatePrefetch().
|
inline |
Returns the program counter that generated this request.
Definition at line 137 of file base.hh.
References MipsISA::pc.
Referenced by DeltaCorrelatingPredictionTables::calculatePrefetch(), IrregularStreamBufferPrefetcher::calculatePrefetch(), StridePrefetcher::calculatePrefetch(), STeMSPrefetcher::calculatePrefetch(), IndirectMemoryPrefetcher::calculatePrefetch(), QueuedPrefetcher::DeferredPacket::createPkt(), and QueuedPrefetcher::createPrefetchRequest().
|
inline |
Gets the size of the request triggering this event.
Definition at line 165 of file base.hh.
Referenced by IndirectMemoryPrefetcher::calculatePrefetch().
|
inline |
Returns true if the associated program counter is valid.
Definition at line 147 of file base.hh.
Referenced by DeltaCorrelatingPredictionTables::calculatePrefetch(), IrregularStreamBufferPrefetcher::calculatePrefetch(), StridePrefetcher::calculatePrefetch(), STeMSPrefetcher::calculatePrefetch(), IndirectMemoryPrefetcher::calculatePrefetch(), and QueuedPrefetcher::DeferredPacket::createPkt().
|
inline |
Check if this event comes from a cache miss.
Definition at line 193 of file base.hh.
Referenced by STeMSPrefetcher::calculatePrefetch(), and IndirectMemoryPrefetcher::calculatePrefetch().
|
inline |
Returns true if the address targets the secure memory space.
Definition at line 128 of file base.hh.
Referenced by IrregularStreamBufferPrefetcher::calculatePrefetch(), StridePrefetcher::calculatePrefetch(), AccessMapPatternMatching::calculatePrefetch(), STeMSPrefetcher::calculatePrefetch(), IndirectMemoryPrefetcher::calculatePrefetch(), SignaturePathPrefetcher::calculatePrefetch(), QueuedPrefetcher::DeferredPacket::createPkt(), QueuedPrefetcher::insert(), QueuedPrefetcher::notify(), and sameAddr().
|
inline |
Checks if the request that caused this prefetch event was a write request.
Definition at line 175 of file base.hh.
Referenced by IndirectMemoryPrefetcher::calculatePrefetch().
|
inline |
Check for equality.
| pfi | PrefetchInfo to compare against |
Definition at line 227 of file base.hh.
References addr, getAddr(), isSecure(), and BasePrefetcher::PrefetchListener::miss.
|
private |
|
private |
|
private |
Pointer to the associated request data.
Definition at line 112 of file base.hh.
Referenced by PrefetchInfo().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Whether this event comes from a write request.
Definition at line 106 of file base.hh.
Referenced by PrefetchInfo().