Go to the documentation of this file.
33 #include "debug/HWPrefetch.hh"
35 #include "params/SignaturePathPrefetcherV2.hh"
41 globalHistoryRegister(
p.global_history_register_entries,
42 p.global_history_register_entries,
43 p.global_history_register_indexing_policy,
44 p.global_history_register_replacement_policy,
60 for (
auto gh_entry : all_ghr_entries) {
61 if (gh_entry->lastBlock + gh_entry->delta == current_block) {
62 new_signature = gh_entry->signature;
63 new_conf = gh_entry->confidence;
64 new_stride = gh_entry->delta;
71 new_signature = current_block;
73 new_stride = current_block;
81 if (sig.
counter == 0)
return 0.0;
90 if (sig.
counter == 0)
return 0.0;
121 assert(gh_entry !=
nullptr);
127 gh_entry->
delta = delta;
A stride entry with its counter.
uint64_t usefulPrefetches
Total prefetches that has been useful.
SatCounter8 counter
Saturating counter.
SignaturePathV2(const SignaturePathPrefetcherV2Params &p)
Global History Register entry datatype.
double calculatePrefetchConfidence(PatternEntry const &sig, PatternStrideEntry const &lookahead) const override
Computes the prefetch confidence of the provided pattern entry.
int16_t stride_t
Stride type.
Pattern entry data type, a set of stride and counter entries.
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.
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
SatCounter8 counter
use counter, used by SPPv2
std::vector< PatternStrideEntry > strideEntries
group of stides
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...
uint64_t issuedPrefetches
Total prefetches issued.
uint16_t signature_t
Signature type.
AssociativeSet< GlobalHistoryEntry > globalHistoryRegister
Global History Register.
void increasePatternEntryCounter(PatternEntry &pattern_entry, PatternStrideEntry &pstride_entry) override
Increases the counter of a given PatternEntry/PatternStrideEntry.
double calculateLookaheadConfidence(PatternEntry const &sig, PatternStrideEntry const &lookahead) const override
Computes the lookahead path confidence of the provided pattern entry.
bool isSaturated() const
Whether the counter has achieved its maximum value or not.
Generated on Tue Mar 23 2021 19:41:27 for gem5 by doxygen 1.8.17