gem5  v22.1.0.0
Public Member Functions | Public Attributes | List of all members
gem5::prefetch::DeltaCorrelatingPredictionTables::DCPTEntry Struct Reference

DCPT Table entry datatype. More...

Inheritance diagram for gem5::prefetch::DeltaCorrelatingPredictionTables::DCPTEntry:
gem5::TaggedEntry gem5::ReplaceableEntry

Public Member Functions

 DCPTEntry (unsigned int num_deltas)
 Constructor. More...
 
void invalidate () override
 Invalidate the block. More...
 
void addAddress (Addr address, unsigned int delta_num_bits)
 Adds an address to the entry, if the entry already existed, a delta will be generated. More...
 
void getCandidates (std::vector< Queued::AddrPriority > &pfs, unsigned int mask_bits) const
 Attempt to generate prefetch candidates using the two most recent deltas. More...
 
- Public Member Functions inherited from gem5::TaggedEntry
 TaggedEntry ()
 
 ~TaggedEntry ()=default
 
virtual bool isValid () const
 Checks if the entry is valid. More...
 
bool isSecure () const
 Check if this block holds data from the secure memory space. More...
 
virtual Addr getTag () const
 Get tag associated to this block. More...
 
virtual bool matchTag (Addr tag, bool is_secure) const
 Checks if the given tag information corresponds to this entry's. More...
 
virtual void insert (const Addr tag, const bool is_secure)
 Insert the block by assigning it a tag and marking it valid. More...
 
std::string print () const override
 Prints relevant information about this entry. More...
 
- Public Member Functions inherited from gem5::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...
 

Public Attributes

Addr lastAddress
 Last accessed address. More...
 
CircularQueue< Addrdeltas
 Stored deltas. More...
 
- Public Attributes inherited from gem5::ReplaceableEntry
std::shared_ptr< replacement_policy::ReplacementDatareplacementData
 Replacement data associated to this entry. More...
 

Additional Inherited Members

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

DCPT Table entry datatype.

Definition at line 69 of file delta_correlating_prediction_tables.hh.

Constructor & Destructor Documentation

◆ DCPTEntry()

gem5::prefetch::DeltaCorrelatingPredictionTables::DCPTEntry::DCPTEntry ( unsigned int  num_deltas)
inline

Constructor.

Parameters
num_deltasnumber of deltas stored in the entry

Definition at line 80 of file delta_correlating_prediction_tables.hh.

Member Function Documentation

◆ addAddress()

void gem5::prefetch::DeltaCorrelatingPredictionTables::DCPTEntry::addAddress ( Addr  address,
unsigned int  delta_num_bits 
)

Adds an address to the entry, if the entry already existed, a delta will be generated.

Parameters
addressaddress to add
delta_num_bitsnumber of bits of the delta

Definition at line 64 of file delta_correlating_prediction_tables.cc.

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

◆ getCandidates()

void gem5::prefetch::DeltaCorrelatingPredictionTables::DCPTEntry::getCandidates ( std::vector< Queued::AddrPriority > &  pfs,
unsigned int  mask_bits 
) const

Attempt to generate prefetch candidates using the two most recent deltas.

Prefetch candidates are added to the provided vector.

Parameters
pfsreference to a vector where candidates will be added
mask_bitsthe number of lower bits that should be masked (ignored) when comparing deltas

Definition at line 88 of file delta_correlating_prediction_tables.cc.

References gem5::X86ISA::addr, and gem5::mask().

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

◆ invalidate()

void gem5::prefetch::DeltaCorrelatingPredictionTables::DCPTEntry::invalidate ( )
overridevirtual

Member Data Documentation

◆ deltas

CircularQueue<Addr> gem5::prefetch::DeltaCorrelatingPredictionTables::DCPTEntry::deltas

Stored deltas.

Definition at line 74 of file delta_correlating_prediction_tables.hh.

Referenced by invalidate().

◆ lastAddress

Addr gem5::prefetch::DeltaCorrelatingPredictionTables::DCPTEntry::lastAddress

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

Generated on Wed Dec 21 2022 10:24:19 for gem5 by doxygen 1.9.1