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

Prefetch Table Entry. More...

Inheritance diagram for Prefetcher::IndirectMemory::PrefetchTableEntry:
TaggedEntry ReplaceableEntry

Public Member Functions

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

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

Prefetch Table Entry.

Definition at line 66 of file indirect_memory.hh.

Constructor & Destructor Documentation

◆ PrefetchTableEntry()

Prefetcher::IndirectMemory::PrefetchTableEntry::PrefetchTableEntry ( unsigned  indirect_counter_bits)
inline

Definition at line 97 of file indirect_memory.hh.

Member Function Documentation

◆ invalidate()

void Prefetcher::IndirectMemory::PrefetchTableEntry::invalidate ( )
inlineoverridevirtual

Invalidates the entry.

Reimplemented from TaggedEntry.

Definition at line 105 of file indirect_memory.hh.

References address, baseAddr, enabled, increasedIndirectCounter, index, indirectCounter, TaggedEntry::invalidate(), SatCounter::reset(), secure, shift, and streamCounter.

Member Data Documentation

◆ address

Addr Prefetcher::IndirectMemory::PrefetchTableEntry::address

Accessed address.

Definition at line 71 of file indirect_memory.hh.

Referenced by Prefetcher::IndirectMemory::calculatePrefetch(), and invalidate().

◆ baseAddr

Addr Prefetcher::IndirectMemory::PrefetchTableEntry::baseAddr

◆ enabled

bool Prefetcher::IndirectMemory::PrefetchTableEntry::enabled

Enable bit of the indirect fields.

Definition at line 80 of file indirect_memory.hh.

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

◆ increasedIndirectCounter

bool Prefetcher::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 95 of file indirect_memory.hh.

Referenced by Prefetcher::IndirectMemory::calculatePrefetch(), and invalidate().

◆ index

int64_t Prefetcher::IndirectMemory::PrefetchTableEntry::index

Current index value.

Definition at line 82 of file indirect_memory.hh.

Referenced by Prefetcher::IndirectMemory::calculatePrefetch(), and invalidate().

◆ indirectCounter

SatCounter Prefetcher::IndirectMemory::PrefetchTableEntry::indirectCounter

Confidence counter of the indirect fields.

Definition at line 88 of file indirect_memory.hh.

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

◆ secure

bool Prefetcher::IndirectMemory::PrefetchTableEntry::secure

Whether this address is in the secure region.

Definition at line 73 of file indirect_memory.hh.

Referenced by Prefetcher::IndirectMemory::calculatePrefetch(), and invalidate().

◆ shift

int Prefetcher::IndirectMemory::PrefetchTableEntry::shift

◆ streamCounter

unsigned int Prefetcher::IndirectMemory::PrefetchTableEntry::streamCounter

Confidence counter of the stream.

Definition at line 75 of file indirect_memory.hh.

Referenced by Prefetcher::IndirectMemory::calculatePrefetch(), and invalidate().


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

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