|
gem5 [DEVELOP-FOR-25.0]
|
Entry data type for the Active Generation Table (AGT) and the Pattern Sequence Table (PST) More...
Classes | |
| struct | SequenceEntry |
| Sequence entry data type. More... | |
Public Member Functions | |
| ActiveGenerationTableEntry (int num_positions, TagExtractor ext) | |
| void | invalidate () override |
| Invalidate the block. | |
| void | update (ActiveGenerationTableEntry const &e) |
| Update the entry data with an entry from a generation that just ended. | |
| void | addOffset (unsigned int offset) |
| Add a new access to the sequence. | |
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 | |
| Addr | paddress |
| Physical address of the spatial region. | |
| Addr | pc |
| PC that started this generation. | |
| unsigned int | seqCounter |
| Counter to keep track of the interleaving between sequences. | |
| std::vector< SequenceEntry > | sequence |
| Sequence of accesses. | |
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. | |
Entry data type for the Active Generation Table (AGT) and the Pattern Sequence Table (PST)
Definition at line 73 of file spatio_temporal_memory_streaming.hh.
|
inline |
Definition at line 97 of file spatio_temporal_memory_streaming.hh.
References gem5::ArmISA::ext, paddress, pc, gem5::TaggedEntry::registerTagExtractor(), seqCounter, sequence, and gem5::TaggedEntry::TaggedEntry().
Referenced by update().
|
inline |
Add a new access to the sequence.
| offset | offset in cachelines within the spatial region |
Definition at line 136 of file spatio_temporal_memory_streaming.hh.
References gem5::ArmISA::offset, seqCounter, and sequence.
Referenced by gem5::prefetch::STeMS::calculatePrefetch().
|
inlineoverridevirtual |
Invalidate the block.
Its contents are no longer valid.
Reimplemented from gem5::TaggedEntry.
Definition at line 105 of file spatio_temporal_memory_streaming.hh.
References gem5::TaggedEntry::invalidate(), paddress, pc, seqCounter, and sequence.
|
inline |
Update the entry data with an entry from a generation that just ended.
This operation can not be done with the copy constructor, becasuse the TaggedEntry component must not be copied.
| e | entry which generation has ended |
Definition at line 124 of file spatio_temporal_memory_streaming.hh.
References ActiveGenerationTableEntry(), gem5::ArmISA::e, paddress, pc, seqCounter, and sequence.
| Addr gem5::prefetch::STeMS::ActiveGenerationTableEntry::paddress |
Physical address of the spatial region.
Definition at line 76 of file spatio_temporal_memory_streaming.hh.
Referenced by ActiveGenerationTableEntry(), gem5::prefetch::STeMS::calculatePrefetch(), invalidate(), and update().
| Addr gem5::prefetch::STeMS::ActiveGenerationTableEntry::pc |
PC that started this generation.
Definition at line 78 of file spatio_temporal_memory_streaming.hh.
Referenced by ActiveGenerationTableEntry(), gem5::prefetch::STeMS::calculatePrefetch(), invalidate(), and update().
| unsigned int gem5::prefetch::STeMS::ActiveGenerationTableEntry::seqCounter |
Counter to keep track of the interleaving between sequences.
Definition at line 80 of file spatio_temporal_memory_streaming.hh.
Referenced by ActiveGenerationTableEntry(), addOffset(), invalidate(), and update().
| std::vector<SequenceEntry> gem5::prefetch::STeMS::ActiveGenerationTableEntry::sequence |
Sequence of accesses.
Definition at line 95 of file spatio_temporal_memory_streaming.hh.
Referenced by ActiveGenerationTableEntry(), addOffset(), invalidate(), and update().