Go to the documentation of this file.
   41 #ifndef __MEM_CACHE_PREFETCH_SPATIO_TEMPORAL_MEMORY_STREAMING_HH__ 
   42 #define __MEM_CACHE_PREFETCH_SPATIO_TEMPORAL_MEMORY_STREAMING_HH__ 
   54 struct STeMSPrefetcherParams;
 
  111                 seq_entry.counter.reset();
 
  112                 seq_entry.offset = 0;
 
  139                 if (seq_entry.counter > 0) {
 
  140                     if (seq_entry.offset == 
offset) {
 
  147                     seq_entry.offset = 
offset;
 
  203     STeMS(
const STeMSPrefetcherParams &
p);
 
  213 #endif//__MEM_CACHE_PREFETCH_SPATIO_TEMPORAL_MEMORY_STREAMING_HH__ 
  
void checkForActiveGenerationsEnd()
Checks if the active generations have ended.
Entry data type for the Active Generation Table (AGT) and the Pattern Sequence Table (PST)
const size_t spatialRegionSize
Size of each spatial region.
void calculatePrefetch(const PrefetchInfo &pfi, std::vector< AddrPriority > &addresses) override
void reconstructSequence(CircularQueue< RegionMissOrderBufferEntry >::iterator rmob_it, std::vector< AddrPriority > &addresses)
Reconstructs a sequence of accesses and generates the prefetch addresses, adding them to the addresse...
Addr srAddress
Address of the spatial region.
Addr paddress
Physical address of the spatial region.
unsigned int delta
Delta within the global miss order sequence.
unsigned int offset
Offset, in cache lines, within the spatial region.
unsigned int seqCounter
Counter to keep track of the interleaving between sequences.
void addToRMOB(Addr sr_addr, Addr pst_addr, unsigned int delta)
Adds an entry to the RMOB.
Addr pc
PC that started this generation.
A tagged entry is an entry containing a tag.
Iterator to the circular queue.
Addr pstAddress
Address used to index the PST table, generated using the PC and the offset within the spatial region.
const size_t spatialRegionSizeBits
log_2 of the spatial region size
Associative container based on the previosuly defined Entry type Each element is indexed by a key of ...
void invalidate() override
Invalidate the block.
unsigned int delta
Intearleaving position on the global access sequence.
void addOffset(unsigned int offset)
Add a new access to the sequence.
virtual void invalidate()
Invalidate the block.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void update(ActiveGenerationTableEntry const &e)
Update the entry data with an entry from a generation that just ended.
GEM5_DEPRECATED_NAMESPACE(GuestABI, guest_abi)
SatCounter8 counter
2-bit confidence counter
ActiveGenerationTableEntry(int num_positions)
STeMS(const STeMSPrefetcherParams &p)
CircularQueue< RegionMissOrderBufferEntry > rmob
Region Miss Order Buffer (RMOB)
AssociativeSet< ActiveGenerationTableEntry > activeGenerationTable
Active Generation Table (AGT)
const unsigned int reconstructionEntries
Number of reconstruction entries.
AssociativeSet< ActiveGenerationTableEntry > patternSequenceTable
Pattern Sequence Table (PST)
unsigned int lastTriggerCounter
Counter to keep the count of accesses between trigger accesses.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
std::vector< SequenceEntry > sequence
Sequence of accesses.
Data type of the Region Miss Order Buffer entry.
Class containing the information needed by the prefetch to train and generate new prefetch requests.
Sequence entry data type.
Generated on Tue Sep 21 2021 12:25:29 for gem5 by  doxygen 1.8.17