Go to the documentation of this file.
35 #ifndef __MEM_CACHE_PREFETCH_SBOOE_HH__
36 #define __MEM_CACHE_PREFETCH_SBOOE_HH__
38 #include <unordered_map>
45 struct SBOOEPrefetcherParams;
112 Sandbox(
unsigned int max_entries,
int _stride)
154 SBOOE(
const SBOOEPrefetcherParams *
p);
162 #endif // __MEM_CACHE_PREFETCH_SBOOE_HH__
SBOOE(const SBOOEPrefetcherParams *p)
unsigned int accesses
Number of accesses notified to the prefetcher.
CircularQueue< SandboxEntry > entries
FIFO queue containing the sandbox entries.
const int stride
Sequential stride for this prefetcher.
uint64_t Tick
Tick count type.
const Sandbox * bestSandbox
Current best sandbox.
const unsigned int scoreThreshold
Threshold used to issue prefetchers.
unsigned int lateScore
Hits in the sandbox that wouldn't have been filled on time.
Tick averageAccessLatency
Holds the current average access latency.
void notifyFill(const PacketPtr &pkt) override
Update the latency buffer after a prefetch fill.
std::vector< Sandbox > sandboxes
const int sequentialPrefetchers
Prefetcher parameters.
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
Tick expectedArrivalTick
Tick when the simulated prefetch is expected to be filled.
void access(Addr line, Tick tick)
Update score and insert the line address being accessed into the FIFO queue of the sandbox.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
unsigned int score() const
Calculate the useful score.
std::unordered_map< Addr, Tick > demandAddresses
Holds the current demand addresses and tick.
bool access(Addr line)
Process an access to the specified line address and update the sandbox counters counters.
Tick latencyBufferSum
Holds the current sum of the latency buffer latency.
void calculatePrefetch(const PrefetchInfo &pfi, std::vector< AddrPriority > &addresses) override
bool valid
To indicate if it was initialized.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Addr line
Cache line predicted by the candidate prefetcher.
Class containing the information needed by the prefetch to train and generate new prefetch requests.
Sandbox(unsigned int max_entries, int _stride)
CircularQueue< Tick > latencyBuffer
The latency buffer holds the elapsed ticks between the demand and the fill in the cache for the lates...
unsigned int sandboxScore
Accesses during the eval period that were present in the sandbox.
Generated on Wed Sep 30 2020 14:02:12 for gem5 by doxygen 1.8.17