gem5  v20.1.0.0
Classes | Public Member Functions | Public Attributes | List of all members
Prefetcher::STeMS::ActiveGenerationTableEntry Struct Reference

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

Inheritance diagram for Prefetcher::STeMS::ActiveGenerationTableEntry:
TaggedEntry ReplaceableEntry

Classes

struct  SequenceEntry
 Sequence entry data type. More...
 

Public Member Functions

 ActiveGenerationTableEntry (int num_positions)
 
void invalidate () override
 Invalidates the entry. More...
 
void update (ActiveGenerationTableEntry const &e)
 Update the entry data with an entry from a generation that just ended. More...
 
void addOffset (unsigned int offset)
 Add a new access to the sequence. 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

Addr paddress
 Physical address of the spatial region. More...
 
Addr pc
 PC that started this generation. More...
 
unsigned int seqCounter
 Counter to keep track of the interleaving between sequences. More...
 
std::vector< SequenceEntrysequence
 Sequence of accesses. More...
 
- Public Attributes inherited from ReplaceableEntry
std::shared_ptr< ReplacementDatareplacementData
 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...
 

Detailed Description

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

Definition at line 68 of file spatio_temporal_memory_streaming.hh.

Constructor & Destructor Documentation

◆ ActiveGenerationTableEntry()

Prefetcher::STeMS::ActiveGenerationTableEntry::ActiveGenerationTableEntry ( int  num_positions)
inline

Definition at line 90 of file spatio_temporal_memory_streaming.hh.

Member Function Documentation

◆ addOffset()

void Prefetcher::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 128 of file spatio_temporal_memory_streaming.hh.

References ArmISA::offset, seqCounter, and sequence.

Referenced by Prefetcher::STeMS::calculatePrefetch().

◆ invalidate()

void Prefetcher::STeMS::ActiveGenerationTableEntry::invalidate ( )
inlineoverridevirtual

Invalidates the entry.

Reimplemented from TaggedEntry.

Definition at line 97 of file spatio_temporal_memory_streaming.hh.

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

◆ update()

void Prefetcher::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 116 of file spatio_temporal_memory_streaming.hh.

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

Referenced by Prefetcher::STeMS::checkForActiveGenerationsEnd().

Member Data Documentation

◆ paddress

Addr Prefetcher::STeMS::ActiveGenerationTableEntry::paddress

Physical address of the spatial region.

Definition at line 70 of file spatio_temporal_memory_streaming.hh.

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

◆ pc

Addr Prefetcher::STeMS::ActiveGenerationTableEntry::pc

PC that started this generation.

Definition at line 72 of file spatio_temporal_memory_streaming.hh.

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

◆ seqCounter

unsigned int Prefetcher::STeMS::ActiveGenerationTableEntry::seqCounter

Counter to keep track of the interleaving between sequences.

Definition at line 74 of file spatio_temporal_memory_streaming.hh.

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

◆ sequence

std::vector<SequenceEntry> Prefetcher::STeMS::ActiveGenerationTableEntry::sequence

Sequence of accesses.

Definition at line 88 of file spatio_temporal_memory_streaming.hh.

Referenced by addOffset(), invalidate(), Prefetcher::STeMS::reconstructSequence(), and update().


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

Generated on Wed Sep 30 2020 14:03:07 for gem5 by doxygen 1.8.17