gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::prefetch::SignaturePath::PatternEntry Struct Reference

Pattern entry data type, a set of stride and counter entries. More...

#include <signature_path.hh>

Inheritance diagram for gem5::prefetch::SignaturePath::PatternEntry:
gem5::TaggedEntry gem5::CacheEntry gem5::ReplaceableEntry

Public Member Functions

 PatternEntry (size_t num_strides, unsigned counter_bits)
 
void invalidate () override
 Reset the entries to their initial values.
 
PatternStrideEntryfindStride (stride_t stride)
 Returns the entry with the desired stride.
 
PatternStrideEntrygetStrideEntry (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
 
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

std::vector< PatternStrideEntrystrideEntries
 group of stides
 
SatCounter8 counter
 use counter, used by SPPv2
 
- 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

Pattern entry data type, a set of stride and counter entries.

Definition at line 99 of file signature_path.hh.

Constructor & Destructor Documentation

◆ PatternEntry()

gem5::prefetch::SignaturePath::PatternEntry::PatternEntry ( size_t num_strides,
unsigned counter_bits )
inline

Definition at line 105 of file signature_path.hh.

Member Function Documentation

◆ findStride()

PatternStrideEntry * gem5::prefetch::SignaturePath::PatternEntry::findStride ( stride_t stride)
inline

Returns the entry with the desired stride.

Parameters
stridethe stride to find
Returns
a pointer to the entry, if the stride was found, or nullptr, if the stride was not found

Definition at line 129 of file signature_path.hh.

References gem5::ArmISA::stride, and strideEntries.

Referenced by getStrideEntry().

◆ 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.

Parameters
stridethe stride to find
Returns
reference to the selected entry

Definition at line 74 of file signature_path.cc.

References gem5::GenericSatCounter< T >::counter, 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().

◆ invalidate()

void gem5::prefetch::SignaturePath::PatternEntry::invalidate ( )
inlineoverridevirtual

Reset the entries to their initial values.

Reimplemented from gem5::CacheEntry.

Definition at line 113 of file signature_path.hh.

References counter, gem5::TaggedEntry::invalidate(), gem5::GenericSatCounter< T >::reset(), and strideEntries.

Member Data Documentation

◆ counter

◆ strideEntries

std::vector<PatternStrideEntry> gem5::prefetch::SignaturePath::PatternEntry::strideEntries

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

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