31 #ifndef __MEM_CACHE_PREFETCH_DELTA_CORRELATING_PREDICTION_TABLES_HH_ 32 #define __MEM_CACHE_PREFETCH_DELTA_CORRELATING_PREDICTION_TABLES_HH_ 37 struct DeltaCorrelatingPredictionTablesParams;
79 :
TaggedEntry(), lastAddress(0), deltaPointer(0), deltas(num_deltas)
101 unsigned int mask_bits)
const;
109 DeltaCorrelatingPredictionTablesParams *
p);
123 struct DCPTPrefetcherParams;
137 #endif//__MEM_CACHE_PREFETCH_DELTA_CORRELATING_PREDICTION_TABLES_HH_ ~DeltaCorrelatingPredictionTables()
void invalidate() override
Invalidates the entry.
void calculatePrefetch(const BasePrefetcher::PrefetchInfo &pfi, std::vector< QueuedPrefetcher::AddrPriority > &addresses)
Computes the prefetch candidates given a prefetch event.
void getCandidates(std::vector< QueuedPrefetcher::AddrPriority > &pfs, unsigned int mask_bits) const
Attempt to generate prefetch candidates using the two most recent deltas.
Class containing the information needed by the prefetch to train and generate new prefetch requests...
Delta Correlating Prediction Tables Prefetcher References: Multi-level hardware prefetching using low...
const unsigned int deltaBits
Number of bits of each delta.
DCPT Table entry datatype.
The prefetcher object using the DCPT.
DeltaCorrelatingPredictionTables(DeltaCorrelatingPredictionTablesParams *p)
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
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.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Addr lastAddress
Last accessed address.
Associative container based on the previosuly defined Entry type Each element is indexed by a key of ...
DeltaCorrelatingPredictionTables & dcpt
DCPT object.
DCPTEntry(unsigned int num_deltas)
Constructor.
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
std::vector< Addr > deltas
Stored deltas.
Abstract superclass for simulation objects.
AssociativeSet< DCPTEntry > table
The main table.
const unsigned int deltaMaskBits
Number of lower bits to ignore from the deltas.
unsigned int deltaPointer
Position of the first free entry, or the oldest element, if it is full.