gem5  v20.1.0.0
Public Member Functions | Public Attributes | List of all members
Prefetcher::SignaturePath::PatternEntry Struct Reference

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

#include <signature_path.hh>

Inheritance diagram for Prefetcher::SignaturePath::PatternEntry:
TaggedEntry ReplaceableEntry

Public Member Functions

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

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

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

Definition at line 95 of file signature_path.hh.

Constructor & Destructor Documentation

◆ PatternEntry()

Prefetcher::SignaturePath::PatternEntry::PatternEntry ( size_t  num_strides,
unsigned  counter_bits 
)
inline

Definition at line 101 of file signature_path.hh.

Member Function Documentation

◆ findStride()

PatternStrideEntry* Prefetcher::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 125 of file signature_path.hh.

References ArmISA::stride, and strideEntries.

Referenced by getStrideEntry().

◆ getStrideEntry()

SignaturePath::PatternStrideEntry & Prefetcher::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 66 of file signature_path.cc.

References Prefetcher::SignaturePath::PatternStrideEntry::counter, SatCounter::counter, findStride(), SatCounter::reset(), Prefetcher::SignaturePath::PatternStrideEntry::stride, ArmISA::stride, and strideEntries.

Referenced by Prefetcher::SignaturePath::updatePatternTable().

◆ invalidate()

void Prefetcher::SignaturePath::PatternEntry::invalidate ( )
inlineoverridevirtual

Reset the entries to their initial values.

Reimplemented from TaggedEntry.

Definition at line 109 of file signature_path.hh.

References counter, TaggedEntry::invalidate(), SatCounter::reset(), and strideEntries.

Member Data Documentation

◆ counter

SatCounter Prefetcher::SignaturePath::PatternEntry::counter

◆ strideEntries

std::vector<PatternStrideEntry> Prefetcher::SignaturePath::PatternEntry::strideEntries

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

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