gem5
v20.1.0.0
|
Indirect Pattern Detector entrt. More...
Public Member Functions | |
IndirectPatternDetectorEntry (unsigned int num_addresses, unsigned int num_shifts) | |
void | invalidate () override |
Invalidates the entry. More... | |
Public Member Functions inherited from TaggedEntry | |
TaggedEntry () | |
virtual | ~TaggedEntry () |
bool | isValid () const |
Consult the valid bit. More... | |
void | setValid () |
Sets the entry to valid. More... | |
Addr | getTag () const |
Obtain the entry tag. More... | |
void | setTag (Addr t) |
Sets the tag of the entry. More... | |
bool | isSecure () const |
Consult if this entry refers to a memory in the secure area. More... | |
void | setSecure (bool s) |
Sets the secure value bit. More... | |
Public Member Functions inherited from ReplaceableEntry | |
ReplaceableEntry ()=default | |
virtual | ~ReplaceableEntry ()=default |
virtual void | setPosition (const uint32_t set, const uint32_t way) |
Set both the set and way. More... | |
uint32_t | getSet () const |
Get set number. More... | |
uint32_t | getWay () const |
Get way number. More... | |
virtual std::string | print () const |
Prints relevant information about this entry. More... | |
Public Attributes | |
int64_t | idx1 |
First index. More... | |
int64_t | idx2 |
Second index. More... | |
bool | secondIndexSet |
Valid bit for the second index. More... | |
int | numMisses |
Number of misses currently recorded. More... | |
std::vector< std::vector< Addr > > | baseAddr |
Potential BaseAddr candidates for each recorded miss. More... | |
Public Attributes inherited from ReplaceableEntry | |
std::shared_ptr< ReplacementData > | replacementData |
Replacement data associated to this entry. More... | |
Additional Inherited Members | |
Protected Attributes inherited from ReplaceableEntry | |
uint32_t | _set |
Set to which this entry belongs. More... | |
uint32_t | _way |
Way (relative position within the set) to which this entry belongs. More... | |
Indirect Pattern Detector entrt.
Definition at line 123 of file indirect_memory.hh.
|
inline |
Definition at line 140 of file indirect_memory.hh.
|
inlineoverridevirtual |
Invalidates the entry.
Reimplemented from TaggedEntry.
Definition at line 149 of file indirect_memory.hh.
References idx1, idx2, TaggedEntry::invalidate(), numMisses, and secondIndexSet.
std::vector<std::vector<Addr> > Prefetcher::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 138 of file indirect_memory.hh.
Referenced by Prefetcher::IndirectMemory::trackMissIndex1(), and Prefetcher::IndirectMemory::trackMissIndex2().
int64_t Prefetcher::IndirectMemory::IndirectPatternDetectorEntry::idx1 |
First index.
Definition at line 126 of file indirect_memory.hh.
Referenced by Prefetcher::IndirectMemory::allocateOrUpdateIPDEntry(), invalidate(), and Prefetcher::IndirectMemory::trackMissIndex1().
int64_t Prefetcher::IndirectMemory::IndirectPatternDetectorEntry::idx2 |
Second index.
Definition at line 128 of file indirect_memory.hh.
Referenced by Prefetcher::IndirectMemory::allocateOrUpdateIPDEntry(), invalidate(), and Prefetcher::IndirectMemory::trackMissIndex2().
int Prefetcher::IndirectMemory::IndirectPatternDetectorEntry::numMisses |
Number of misses currently recorded.
Definition at line 132 of file indirect_memory.hh.
Referenced by invalidate(), Prefetcher::IndirectMemory::trackMissIndex1(), and Prefetcher::IndirectMemory::trackMissIndex2().
bool Prefetcher::IndirectMemory::IndirectPatternDetectorEntry::secondIndexSet |
Valid bit for the second index.
Definition at line 130 of file indirect_memory.hh.
Referenced by Prefetcher::IndirectMemory::allocateOrUpdateIPDEntry(), Prefetcher::IndirectMemory::calculatePrefetch(), and invalidate().