|
gem5
v21.0.1.0
|
Indirect Pattern Detector entrt. More...
Public Member Functions | |
| IndirectPatternDetectorEntry (unsigned int num_addresses, unsigned int num_shifts) | |
| void | invalidate () override |
| Invalidate the block. More... | |
Public Member Functions inherited from TaggedEntry | |
| TaggedEntry () | |
| ~TaggedEntry ()=default | |
| virtual bool | isValid () const |
| Checks if the entry is valid. More... | |
| bool | isSecure () const |
| Check if this block holds data from the secure memory space. More... | |
| virtual Addr | getTag () const |
| Get tag associated to this block. More... | |
| virtual bool | matchTag (Addr tag, bool is_secure) const |
| Checks if the given tag information corresponds to this entry's. More... | |
| virtual void | insert (const Addr tag, const bool is_secure) |
| Insert the block by assigning it a tag and marking it valid. More... | |
| std::string | print () const override |
| Prints relevant information about this entry. 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... | |
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< ReplacementPolicy::ReplacementData > | replacementData |
| Replacement data associated to this entry. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from TaggedEntry | |
| virtual void | setTag (Addr tag) |
| Set tag associated to this block. More... | |
| virtual void | setSecure () |
| Set secure bit. More... | |
| virtual void | setValid () |
| Set valid bit. More... | |
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 |
Invalidate the block.
Its contents are no longer valid.
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().