|
gem5
v20.1.0.5
|
Pattern entry data type, a set of stride and counter entries. More...
#include <signature_path.hh>
Public Member Functions | |
| PatternEntry (size_t num_strides, unsigned counter_bits) | |
| void | invalidate () override |
| Reset the entries to their initial values. More... | |
| PatternStrideEntry * | findStride (stride_t stride) |
| Returns the entry with the desired stride. More... | |
| PatternStrideEntry & | getStrideEntry (stride_t stride) |
| Gets the entry with the provided stride, if there is no entry with the associated stride, it replaces one of them. 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 | |
| std::vector< PatternStrideEntry > | strideEntries |
| group of stides More... | |
| SatCounter | counter |
| use counter, used by SPPv2 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... | |
Pattern entry data type, a set of stride and counter entries.
Definition at line 95 of file signature_path.hh.
|
inline |
Definition at line 101 of file signature_path.hh.
|
inline |
Returns the entry with the desired stride.
| stride | the stride to find |
Definition at line 125 of file signature_path.hh.
References ArmISA::stride, and strideEntries.
Referenced by getStrideEntry().
| SignaturePath::PatternStrideEntry & Prefetcher::SignaturePath::PatternEntry::getStrideEntry | ( | stride_t | stride | ) |
Gets the entry with the provided stride, if there is no entry with the associated stride, it replaces one of them.
| stride | the stride to find |
Definition at line 66 of file signature_path.cc.
References Prefetcher::SignaturePath::PatternStrideEntry::counter, SatCounter::counter, findStride(), SatCounter::reset(), Prefetcher::SignaturePath::PatternStrideEntry::stride, ArmISA::stride, and strideEntries.
Referenced by Prefetcher::SignaturePath::updatePatternTable().
|
inlineoverridevirtual |
Reset the entries to their initial values.
Reimplemented from TaggedEntry.
Definition at line 109 of file signature_path.hh.
References counter, TaggedEntry::invalidate(), SatCounter::reset(), and strideEntries.
| SatCounter Prefetcher::SignaturePath::PatternEntry::counter |
use counter, used by SPPv2
Definition at line 100 of file signature_path.hh.
Referenced by Prefetcher::SignaturePathV2::calculateLookaheadConfidence(), Prefetcher::SignaturePathV2::calculatePrefetchConfidence(), Prefetcher::SignaturePathV2::increasePatternEntryCounter(), and invalidate().
| std::vector<PatternStrideEntry> Prefetcher::SignaturePath::PatternEntry::strideEntries |
group of stides
Definition at line 98 of file signature_path.hh.
Referenced by Prefetcher::SignaturePath::calculatePrefetch(), findStride(), getStrideEntry(), Prefetcher::SignaturePathV2::increasePatternEntryCounter(), and invalidate().