gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::prefetch::IndirectMemory::PrefetchTableEntry Struct Reference

Prefetch Table Entry. More...

Inheritance diagram for gem5::prefetch::IndirectMemory::PrefetchTableEntry:
gem5::TaggedEntry gem5::CacheEntry gem5::ReplaceableEntry

Public Member Functions

 PrefetchTableEntry (unsigned indirect_counter_bits)
 
void invalidate () override
 Invalidate the block.
 
- 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

Addr address
 Accessed address.
 
bool secure
 Whether this address is in the secure region.
 
unsigned int streamCounter
 Confidence counter of the stream.
 
bool enabled
 Enable bit of the indirect fields.
 
int64_t index
 Current index value.
 
Addr baseAddr
 BaseAddr detected.
 
int shift
 Shift detected.
 
SatCounter8 indirectCounter
 Confidence counter of the indirect fields.
 
bool increasedIndirectCounter
 This variable is set to indicate that there has been at least one match with the current index value.
 
- 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

Prefetch Table Entry.

Definition at line 70 of file indirect_memory.hh.

Constructor & Destructor Documentation

◆ PrefetchTableEntry()

gem5::prefetch::IndirectMemory::PrefetchTableEntry::PrefetchTableEntry ( unsigned indirect_counter_bits)
inline

Definition at line 101 of file indirect_memory.hh.

Member Function Documentation

◆ invalidate()

void gem5::prefetch::IndirectMemory::PrefetchTableEntry::invalidate ( )
inlineoverridevirtual

Invalidate the block.

Its contents are no longer valid.

Reimplemented from gem5::CacheEntry.

Definition at line 109 of file indirect_memory.hh.

References address, baseAddr, enabled, increasedIndirectCounter, index, indirectCounter, gem5::TaggedEntry::invalidate(), gem5::GenericSatCounter< T >::reset(), secure, shift, and streamCounter.

Member Data Documentation

◆ address

Addr gem5::prefetch::IndirectMemory::PrefetchTableEntry::address

Accessed address.

Definition at line 75 of file indirect_memory.hh.

Referenced by gem5::prefetch::IndirectMemory::calculatePrefetch(), and invalidate().

◆ baseAddr

Addr gem5::prefetch::IndirectMemory::PrefetchTableEntry::baseAddr

◆ enabled

bool gem5::prefetch::IndirectMemory::PrefetchTableEntry::enabled

Enable bit of the indirect fields.

Definition at line 84 of file indirect_memory.hh.

Referenced by gem5::prefetch::IndirectMemory::calculatePrefetch(), invalidate(), and gem5::prefetch::IndirectMemory::trackMissIndex2().

◆ increasedIndirectCounter

bool gem5::prefetch::IndirectMemory::PrefetchTableEntry::increasedIndirectCounter

This variable is set to indicate that there has been at least one match with the current index value.

This information is later used when a new index is updated. If there were no increases in the indirectCounter, the counter is decremented.

Definition at line 99 of file indirect_memory.hh.

Referenced by gem5::prefetch::IndirectMemory::calculatePrefetch(), and invalidate().

◆ index

int64_t gem5::prefetch::IndirectMemory::PrefetchTableEntry::index

Current index value.

Definition at line 86 of file indirect_memory.hh.

Referenced by gem5::prefetch::IndirectMemory::calculatePrefetch(), and invalidate().

◆ indirectCounter

SatCounter8 gem5::prefetch::IndirectMemory::PrefetchTableEntry::indirectCounter

Confidence counter of the indirect fields.

Definition at line 92 of file indirect_memory.hh.

Referenced by gem5::prefetch::IndirectMemory::calculatePrefetch(), invalidate(), and gem5::prefetch::IndirectMemory::trackMissIndex2().

◆ secure

bool gem5::prefetch::IndirectMemory::PrefetchTableEntry::secure

Whether this address is in the secure region.

Definition at line 77 of file indirect_memory.hh.

Referenced by gem5::prefetch::IndirectMemory::calculatePrefetch(), and invalidate().

◆ shift

int gem5::prefetch::IndirectMemory::PrefetchTableEntry::shift

◆ streamCounter

unsigned int gem5::prefetch::IndirectMemory::PrefetchTableEntry::streamCounter

Confidence counter of the stream.

Definition at line 79 of file indirect_memory.hh.

Referenced by gem5::prefetch::IndirectMemory::calculatePrefetch(), and invalidate().


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

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