Go to the documentation of this file.
38 #ifndef __MEM_CACHE_PREFETCH_IRREGULAR_STREAM_BUFFER_HH__
39 #define __MEM_CACHE_PREFETCH_IRREGULAR_STREAM_BUFFER_HH__
46 struct IrregularStreamBufferPrefetcherParams;
96 entry.counter.reset();
118 Addr physical_address);
139 #endif//__MEM_CACHE_PREFETCH_IRREGULAR_STREAM_BUFFER_HH__
const unsigned degree
Number of maximum prefetches requests created when predicting.
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
Associative container based on the previosuly defined Entry type Each element is indexed by a key of ...
void invalidate() override
Invalidates the entry.
AssociativeSet< AddressMappingEntry > spAddressMappingCache
Structured-to-Physical mappings table.
IrregularStreamBuffer(const IrregularStreamBufferPrefetcherParams *p)
void calculatePrefetch(const PrefetchInfo &pfi, std::vector< AddrPriority > &addresses) override
uint64_t structuralAddressCounter
Counter of allocated structural addresses, increased by "chunkSize", each time a new structured addre...
AssociativeSet< TrainingUnitEntry > trainingUnit
Map of PCs to Training unit entries.
const unsigned prefetchCandidatesPerEntry
Number of prefetch candidates per Physical-to-Structural entry.
AddressMapping & getPSMapping(Addr paddr, bool is_secure)
Obtain the Physical-to-Structured mapping entry of the given physical address.
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
Maps a set of contiguous addresses to another set of (not necessarily contiguos) addresses,...
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Training Unit Entry datatype, it holds the last accessed address and its secure flag.
Implements an n bit saturating counter and provides methods to increment, decrement,...
AddressMappingEntry(size_t num_mappings, unsigned counter_bits)
virtual void invalidate()
Invalidates the entry.
void addStructuralToPhysicalEntry(Addr structuralAddress, bool is_secure, Addr physical_address)
Add a mapping to the Structured-to-Physica mapping table.
Class containing the information needed by the prefetch to train and generate new prefetch requests.
Address Mapping entry, holds an address and a confidence counter.
std::vector< AddressMapping > mappings
const size_t chunkSize
Size in bytes of a temporal stream.
~IrregularStreamBuffer()=default
AddressMapping(unsigned bits)
AssociativeSet< AddressMappingEntry > psAddressMappingCache
Physical-to-Structured mappings table.
T bits(T val, int first, int last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
Generated on Wed Sep 30 2020 14:02:12 for gem5 by doxygen 1.8.17