|
gem5 [DEVELOP-FOR-25.0]
|
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, TagExtractor ext) | |
| void | invalidate () override |
| Reset the entries to their initial values. | |
| PatternStrideEntry * | findStride (stride_t stride) |
| Returns the entry with the desired stride. | |
| 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. | |
Public Member Functions inherited from gem5::TaggedEntry | |
| TaggedEntry () | |
| ~TaggedEntry ()=default | |
| void | registerTagExtractor (TagExtractor ext) |
| virtual bool | isValid () const |
| Checks if the entry is valid. | |
| bool | isSecure () const |
| Check if this block holds data from the secure memory space. | |
| virtual Addr | getTag () const |
| Get tag associated to this block. | |
| bool | match (const KeyType &key) const |
| Checks if the given tag information corresponds to this entry's. | |
| virtual void | insert (const KeyType &key) |
| Insert the block by assigning it a tag and marking it valid. | |
| std::string | print () const override |
| Prints relevant information about this entry. | |
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 | |
| std::vector< PatternStrideEntry > | strideEntries |
| group of stides | |
| SatCounter8 | counter |
| use counter, used by SPPv2 | |
Public Attributes inherited from gem5::ReplaceableEntry | |
| std::shared_ptr< replacement_policy::ReplacementData > | replacementData |
| Replacement data associated to this entry. | |
Additional Inherited Members | |
Public Types inherited from gem5::TaggedEntry | |
| using | KeyType = TaggedTypes::KeyType |
| using | IndexingPolicy = TaggedIndexingPolicy |
| using | TagExtractor = std::function<Addr(Addr)> |
Protected Member Functions inherited from gem5::TaggedEntry | |
| virtual void | setTag (Addr tag) |
| Set tag associated to this block. | |
| virtual void | setSecure () |
| Set secure bit. | |
| void | clearSecure () |
| Clear secure bit. | |
| virtual void | setValid () |
| Set valid bit. | |
Protected Attributes inherited from gem5::TaggedEntry | |
| TagExtractor | extractTag |
| Callback used to extract the tag from the entry. | |
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. | |
Pattern entry data type, a set of stride and counter entries.
Definition at line 103 of file signature_path.hh.
|
inline |
Definition at line 109 of file signature_path.hh.
References counter, gem5::ArmISA::ext, gem5::TaggedEntry::registerTagExtractor(), strideEntries, and gem5::TaggedEntry::TaggedEntry().
|
inline |
Returns the entry with the desired stride.
| stride | the stride to find |
Definition at line 135 of file signature_path.hh.
References gem5::ArmISA::stride, and strideEntries.
Referenced by getStrideEntry().
| SignaturePath::PatternStrideEntry & gem5::prefetch::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 75 of file signature_path.cc.
References gem5::prefetch::SignaturePath::PatternStrideEntry::counter, findStride(), gem5::GenericSatCounter< T >::reset(), gem5::ArmISA::stride, gem5::prefetch::SignaturePath::PatternStrideEntry::stride, and strideEntries.
Referenced by gem5::prefetch::SignaturePath::updatePatternTable().
|
inlineoverridevirtual |
Reset the entries to their initial values.
Reimplemented from gem5::TaggedEntry.
Definition at line 119 of file signature_path.hh.
References counter, gem5::TaggedEntry::invalidate(), and strideEntries.
| SatCounter8 gem5::prefetch::SignaturePath::PatternEntry::counter |
use counter, used by SPPv2
Definition at line 108 of file signature_path.hh.
Referenced by gem5::prefetch::SignaturePathV2::calculateLookaheadConfidence(), gem5::prefetch::SignaturePathV2::calculatePrefetchConfidence(), gem5::prefetch::SignaturePathV2::increasePatternEntryCounter(), invalidate(), and PatternEntry().
| std::vector<PatternStrideEntry> gem5::prefetch::SignaturePath::PatternEntry::strideEntries |
group of stides
Definition at line 106 of file signature_path.hh.
Referenced by gem5::prefetch::SignaturePath::calculatePrefetch(), findStride(), getStrideEntry(), gem5::prefetch::SignaturePathV2::increasePatternEntryCounter(), invalidate(), and PatternEntry().