gem5 v24.1.0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Public Attributes | List of all members
gem5::prefetch::Stride::StrideEntry Struct Reference

Tagged by hashed PCs. More...

#include <stride.hh>

Inheritance diagram for gem5::prefetch::Stride::StrideEntry:
gem5::TaggedEntry gem5::ReplaceableEntry

Public Member Functions

 StrideEntry (const SatCounter8 &init_confidence, TagExtractor ext)
 
void invalidate () override
 Invalidate the block.
 
- 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 lastAddr
 
int stride
 
SatCounter8 confidence
 
- Public Attributes inherited from gem5::ReplaceableEntry
std::shared_ptr< replacement_policy::ReplacementDatareplacementData
 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.
 

Detailed Description

Tagged by hashed PCs.

Definition at line 137 of file stride.hh.

Constructor & Destructor Documentation

◆ StrideEntry()

gem5::prefetch::Stride::StrideEntry::StrideEntry ( const SatCounter8 init_confidence,
TagExtractor  ext 
)

Member Function Documentation

◆ invalidate()

void gem5::prefetch::Stride::StrideEntry::invalidate ( )
overridevirtual

Invalidate the block.

Its contents are no longer valid.

Reimplemented from gem5::TaggedEntry.

Definition at line 74 of file stride.cc.

References gem5::TaggedEntry::invalidate(), and gem5::ArmISA::stride.

Referenced by StrideEntry().

Member Data Documentation

◆ confidence

SatCounter8 gem5::prefetch::Stride::StrideEntry::confidence

Definition at line 145 of file stride.hh.

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

◆ lastAddr

Addr gem5::prefetch::Stride::StrideEntry::lastAddr

Definition at line 143 of file stride.hh.

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

◆ stride

int gem5::prefetch::Stride::StrideEntry::stride

Definition at line 144 of file stride.hh.

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


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

Generated on Mon Jan 13 2025 04:29:10 for gem5 by doxygen 1.9.8