Go to the documentation of this file.
33 #include "debug/HWPrefetch.hh"
35 #include "params/SignaturePathPrefetcherV2.hh"
46 globalHistoryRegister(
p.global_history_register_entries,
47 p.global_history_register_entries,
48 p.global_history_register_indexing_policy,
49 p.global_history_register_replacement_policy,
65 for (
auto gh_entry : all_ghr_entries) {
66 if (gh_entry->lastBlock + gh_entry->delta == current_block) {
67 new_signature = gh_entry->signature;
68 new_conf = gh_entry->confidence;
69 new_stride = gh_entry->delta;
76 new_signature = current_block;
78 new_stride = current_block;
86 if (sig.
counter == 0)
return 0.0;
95 if (sig.
counter == 0)
return 0.0;
126 assert(gh_entry !=
nullptr);
132 gh_entry->
delta = delta;
SignaturePathV2(const SignaturePathPrefetcherV2Params &p)
bool isSaturated() const
Whether the counter has achieved its maximum value or not.
Global History Register entry datatype.
void handleSignatureTableMiss(stride_t current_block, signature_t &new_signature, double &new_conf, stride_t &new_stride) override
Whenever a new SignatureEntry is allocated, it computes the new signature to be used with the new ent...
void increasePatternEntryCounter(PatternEntry &pattern_entry, PatternStrideEntry &pstride_entry) override
Increases the counter of a given PatternEntry/PatternStrideEntry.
uint16_t signature_t
Signature type.
SatCounter8 counter
use counter, used by SPPv2
double calculatePrefetchConfidence(PatternEntry const &sig, PatternStrideEntry const &lookahead) const override
Computes the prefetch confidence of the provided pattern entry.
uint64_t usefulPrefetches
Total prefetches that has been useful.
AssociativeSet< GlobalHistoryEntry > globalHistoryRegister
Global History Register.
int16_t stride_t
Stride type.
A stride entry with its counter.
double calculateLookaheadConfidence(PatternEntry const &sig, PatternStrideEntry const &lookahead) const override
Computes the lookahead path confidence of the provided pattern entry.
GEM5_DEPRECATED_NAMESPACE(GuestABI, guest_abi)
uint64_t issuedPrefetches
Total prefetches issued.
Pattern entry data type, a set of stride and counter entries.
std::vector< PatternStrideEntry > strideEntries
group of stides
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
virtual void handlePageCrossingLookahead(signature_t signature, stride_t last_offset, stride_t delta, double path_confidence) override
Handles the situation when the lookahead process has crossed the boundaries of the current page.
SatCounter8 counter
Saturating counter.
Generated on Thu Jun 16 2022 10:41:55 for gem5 by doxygen 1.8.17