gem5
v20.1.0.0
|
DCPT Table entry datatype. More...
Public Member Functions | |
DCPTEntry (unsigned int num_deltas) | |
Constructor. More... | |
void | invalidate () override |
Invalidates the entry. 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 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 | lastAddress |
Last accessed address. More... | |
CircularQueue< Addr > | deltas |
Stored deltas. More... | |
Public Attributes inherited from ReplaceableEntry | |
std::shared_ptr< ReplacementData > | replacementData |
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... | |
DCPT Table entry datatype.
Definition at line 64 of file delta_correlating_prediction_tables.hh.
|
inline |
Constructor.
num_deltas | number of deltas stored in the entry |
Definition at line 75 of file delta_correlating_prediction_tables.hh.
void Prefetcher::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.
address | address to add |
delta_num_bits | number of bits of the delta |
Definition at line 59 of file delta_correlating_prediction_tables.cc.
Referenced by Prefetcher::DeltaCorrelatingPredictionTables::calculatePrefetch().
void Prefetcher::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.
pfs | reference to a vector where candidates will be added |
mask_bits | the number of lower bits that should be masked (ignored) when comparing deltas |
Definition at line 83 of file delta_correlating_prediction_tables.cc.
References addr, and ArmISA::mask.
Referenced by Prefetcher::DeltaCorrelatingPredictionTables::calculatePrefetch().
|
overridevirtual |
Invalidates the entry.
Reimplemented from TaggedEntry.
Definition at line 47 of file delta_correlating_prediction_tables.cc.
References deltas, CircularQueue< T >::flush(), CircularQueue< T >::full(), TaggedEntry::invalidate(), lastAddress, and CircularQueue< T >::push_back().
CircularQueue<Addr> Prefetcher::DeltaCorrelatingPredictionTables::DCPTEntry::deltas |
Stored deltas.
Definition at line 69 of file delta_correlating_prediction_tables.hh.
Referenced by invalidate().
Addr Prefetcher::DeltaCorrelatingPredictionTables::DCPTEntry::lastAddress |
Last accessed address.
Definition at line 67 of file delta_correlating_prediction_tables.hh.
Referenced by Prefetcher::DeltaCorrelatingPredictionTables::calculatePrefetch(), and invalidate().