gem5 v24.0.0.0
|
Indirect Pattern Detector entrt. More...
Public Member Functions | |
IndirectPatternDetectorEntry (unsigned int num_addresses, unsigned int num_shifts) | |
void | invalidate () override |
Invalidate the block. | |
Public Member Functions inherited from gem5::TaggedEntry | |
TaggedEntry () | |
~TaggedEntry ()=default | |
bool | isSecure () const |
Check if this block holds data from the secure memory space. | |
virtual bool | matchTag (Addr tag, bool is_secure) const |
Checks if the given tag information corresponds to this entry's. | |
virtual void | insert (const Addr tag, const bool is_secure) |
Insert the block by assigning it a tag and marking it valid. | |
void | invalidate () override |
Invalidate the block. | |
std::string | print () const override |
Prints relevant information about this entry. | |
bool | matchTag (const Addr tag) const override |
Checks if the given tag information corresponds to this entry's. | |
void | insert (const Addr tag) override |
Insert the block by assigning it a tag and marking it valid. | |
Public Member Functions inherited from gem5::CacheEntry | |
CacheEntry ()=default | |
~CacheEntry ()=default | |
virtual bool | isValid () const |
Checks if the entry is valid. | |
virtual Addr | getTag () const |
Get tag associated to this block. | |
Public Member Functions inherited from gem5::ReplaceableEntry | |
ReplaceableEntry () | |
virtual | ~ReplaceableEntry ()=default |
virtual void | setPosition (const uint32_t set, const uint32_t way) |
Set both the set and way. | |
uint32_t | getSet () const |
Get set number. | |
uint32_t | getWay () const |
Get way number. | |
Public Attributes | |
int64_t | idx1 |
First index. | |
int64_t | idx2 |
Second index. | |
bool | secondIndexSet |
Valid bit for the second index. | |
int | numMisses |
Number of misses currently recorded. | |
std::vector< std::vector< Addr > > | baseAddr |
Potential BaseAddr candidates for each recorded miss. | |
Public Attributes inherited from gem5::ReplaceableEntry | |
std::shared_ptr< replacement_policy::ReplacementData > | replacementData |
Replacement data associated to this entry. | |
Additional Inherited Members | |
Protected Member Functions inherited from gem5::TaggedEntry | |
virtual void | setSecure () |
Set secure bit. | |
Protected Member Functions inherited from gem5::CacheEntry | |
virtual void | setTag (Addr _tag) |
Set tag associated to this block. | |
virtual void | setValid () |
Set valid bit. | |
Protected Attributes inherited from gem5::ReplaceableEntry | |
uint32_t | _set |
Set to which this entry belongs. | |
uint32_t | _way |
Way (relative position within the set) to which this entry belongs. | |
Indirect Pattern Detector entrt.
Definition at line 127 of file indirect_memory.hh.
|
inline |
Definition at line 144 of file indirect_memory.hh.
|
inlineoverridevirtual |
Invalidate the block.
Its contents are no longer valid.
Reimplemented from gem5::CacheEntry.
Definition at line 153 of file indirect_memory.hh.
References idx1, idx2, gem5::TaggedEntry::invalidate(), numMisses, and secondIndexSet.
Referenced by gem5::prefetch::IndirectMemory::allocateOrUpdateIPDEntry().
std::vector<std::vector<Addr> > gem5::prefetch::IndirectMemory::IndirectPatternDetectorEntry::baseAddr |
Potential BaseAddr candidates for each recorded miss.
The number of candidates per miss is determined by the number of elements in the shiftValues array.
Definition at line 142 of file indirect_memory.hh.
Referenced by gem5::prefetch::IndirectMemory::trackMissIndex1(), and gem5::prefetch::IndirectMemory::trackMissIndex2().
int64_t gem5::prefetch::IndirectMemory::IndirectPatternDetectorEntry::idx1 |
First index.
Definition at line 130 of file indirect_memory.hh.
Referenced by gem5::prefetch::IndirectMemory::allocateOrUpdateIPDEntry(), invalidate(), and gem5::prefetch::IndirectMemory::trackMissIndex1().
int64_t gem5::prefetch::IndirectMemory::IndirectPatternDetectorEntry::idx2 |
Second index.
Definition at line 132 of file indirect_memory.hh.
Referenced by gem5::prefetch::IndirectMemory::allocateOrUpdateIPDEntry(), invalidate(), and gem5::prefetch::IndirectMemory::trackMissIndex2().
int gem5::prefetch::IndirectMemory::IndirectPatternDetectorEntry::numMisses |
Number of misses currently recorded.
Definition at line 136 of file indirect_memory.hh.
Referenced by invalidate(), gem5::prefetch::IndirectMemory::trackMissIndex1(), and gem5::prefetch::IndirectMemory::trackMissIndex2().
bool gem5::prefetch::IndirectMemory::IndirectPatternDetectorEntry::secondIndexSet |
Valid bit for the second index.
Definition at line 134 of file indirect_memory.hh.
Referenced by gem5::prefetch::IndirectMemory::allocateOrUpdateIPDEntry(), gem5::prefetch::IndirectMemory::calculatePrefetch(), and invalidate().