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

Indirect Pattern Detector entrt. More...

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

Public Member Functions

 IndirectPatternDetectorEntry (unsigned int num_addresses, unsigned int num_shifts)
 
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

int64_t idx1
 First index. More...
 
int64_t idx2
 Second index. More...
 
bool secondIndexSet
 Valid bit for the second index. More...
 
int numMisses
 Number of misses currently recorded. More...
 
std::vector< std::vector< Addr > > baseAddr
 Potential BaseAddr candidates for each recorded miss. 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

Indirect Pattern Detector entrt.

Definition at line 123 of file indirect_memory.hh.

Constructor & Destructor Documentation

◆ IndirectPatternDetectorEntry()

Prefetcher::IndirectMemory::IndirectPatternDetectorEntry::IndirectPatternDetectorEntry ( unsigned int  num_addresses,
unsigned int  num_shifts 
)
inline

Definition at line 140 of file indirect_memory.hh.

Member Function Documentation

◆ invalidate()

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

Invalidates the entry.

Reimplemented from TaggedEntry.

Definition at line 149 of file indirect_memory.hh.

References idx1, idx2, TaggedEntry::invalidate(), numMisses, and secondIndexSet.

Member Data Documentation

◆ baseAddr

std::vector<std::vector<Addr> > Prefetcher::IndirectMemory::IndirectPatternDetectorEntry::baseAddr

Potential BaseAddr candidates for each recorded miss.

The number of candidates per miss is determined by the number of elements in the shiftValues array.

Definition at line 138 of file indirect_memory.hh.

Referenced by Prefetcher::IndirectMemory::trackMissIndex1(), and Prefetcher::IndirectMemory::trackMissIndex2().

◆ idx1

int64_t Prefetcher::IndirectMemory::IndirectPatternDetectorEntry::idx1

◆ idx2

int64_t Prefetcher::IndirectMemory::IndirectPatternDetectorEntry::idx2

◆ numMisses

int Prefetcher::IndirectMemory::IndirectPatternDetectorEntry::numMisses

Number of misses currently recorded.

Definition at line 132 of file indirect_memory.hh.

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

◆ secondIndexSet

bool Prefetcher::IndirectMemory::IndirectPatternDetectorEntry::secondIndexSet

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