gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::prefetch::STeMS::ActiveGenerationTableEntry Struct Reference

Entry data type for the Active Generation Table (AGT) and the Pattern Sequence Table (PST) More...

Inheritance diagram for gem5::prefetch::STeMS::ActiveGenerationTableEntry:
gem5::TaggedEntry gem5::CacheEntry gem5::ReplaceableEntry

Classes

struct  SequenceEntry
 Sequence entry data type. More...
 

Public Member Functions

 ActiveGenerationTableEntry (int num_positions)
 
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
 
bool isSecure () const
 Check if this block holds data from the secure memory space.
 
virtual bool matchTag (Addr tag, bool is_secure) const
 Checks if the given tag information corresponds to this entry's.
 
virtual void insert (const Addr tag, const bool is_secure)
 Insert the block by assigning it a tag and marking it valid.
 
void invalidate () override
 Invalidate the block.
 
std::string print () const override
 Prints relevant information about this entry.
 
bool matchTag (const Addr tag) const override
 Checks if the given tag information corresponds to this entry's.
 
void insert (const Addr tag) override
 Insert the block by assigning it a tag and marking it valid.
 
- Public Member Functions inherited from gem5::CacheEntry
 CacheEntry ()=default
 
 ~CacheEntry ()=default
 
virtual bool isValid () const
 Checks if the entry is valid.
 
virtual Addr getTag () const
 Get tag associated to this block.
 
- 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< SequenceEntrysequence
 Sequence of accesses.
 
- Public Attributes inherited from gem5::ReplaceableEntry
std::shared_ptr< replacement_policy::ReplacementDatareplacementData
 Replacement data associated to this entry.
 

Additional Inherited Members

- Protected Member Functions inherited from gem5::TaggedEntry
virtual void setSecure ()
 Set secure bit.
 
- Protected Member Functions inherited from gem5::CacheEntry
virtual void setTag (Addr _tag)
 Set tag associated to this block.
 
virtual void setValid ()
 Set valid bit.
 
- 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.
 

Detailed Description

Entry data type for the Active Generation Table (AGT) and the Pattern Sequence Table (PST)

Definition at line 72 of file spatio_temporal_memory_streaming.hh.

Constructor & Destructor Documentation

◆ ActiveGenerationTableEntry()

gem5::prefetch::STeMS::ActiveGenerationTableEntry::ActiveGenerationTableEntry ( int num_positions)
inline

Definition at line 96 of file spatio_temporal_memory_streaming.hh.

Member Function Documentation

◆ addOffset()

void gem5::prefetch::STeMS::ActiveGenerationTableEntry::addOffset ( unsigned int offset)
inline

Add a new access to the sequence.

Parameters
offsetoffset in cachelines within the spatial region

Definition at line 134 of file spatio_temporal_memory_streaming.hh.

References gem5::ArmISA::offset, seqCounter, and sequence.

Referenced by gem5::prefetch::STeMS::calculatePrefetch().

◆ invalidate()

void gem5::prefetch::STeMS::ActiveGenerationTableEntry::invalidate ( )
inlineoverridevirtual

Invalidate the block.

Its contents are no longer valid.

Reimplemented from gem5::CacheEntry.

Definition at line 103 of file spatio_temporal_memory_streaming.hh.

References gem5::TaggedEntry::invalidate(), paddress, pc, seqCounter, and sequence.

◆ update()

void gem5::prefetch::STeMS::ActiveGenerationTableEntry::update ( ActiveGenerationTableEntry const & e)
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.

Parameters
eentry which generation has ended

Definition at line 122 of file spatio_temporal_memory_streaming.hh.

References gem5::ArmISA::e, paddress, pc, seqCounter, and sequence.

Member Data Documentation

◆ paddress

Addr gem5::prefetch::STeMS::ActiveGenerationTableEntry::paddress

Physical address of the spatial region.

Definition at line 75 of file spatio_temporal_memory_streaming.hh.

Referenced by gem5::prefetch::STeMS::calculatePrefetch(), invalidate(), and update().

◆ pc

Addr gem5::prefetch::STeMS::ActiveGenerationTableEntry::pc

PC that started this generation.

Definition at line 77 of file spatio_temporal_memory_streaming.hh.

Referenced by gem5::prefetch::STeMS::calculatePrefetch(), invalidate(), and update().

◆ seqCounter

unsigned int gem5::prefetch::STeMS::ActiveGenerationTableEntry::seqCounter

Counter to keep track of the interleaving between sequences.

Definition at line 79 of file spatio_temporal_memory_streaming.hh.

Referenced by addOffset(), invalidate(), and update().

◆ sequence

std::vector<SequenceEntry> gem5::prefetch::STeMS::ActiveGenerationTableEntry::sequence

Sequence of accesses.

Definition at line 94 of file spatio_temporal_memory_streaming.hh.

Referenced by addOffset(), invalidate(), and update().


The documentation for this struct was generated from the following file:

Generated on Tue Jun 18 2024 16:24:21 for gem5 by doxygen 1.11.0