41#ifndef __MEM_CACHE_PREFETCH_SIGNATURE_PATH_V2_HH__
42#define __MEM_CACHE_PREFETCH_SIGNATURE_PATH_V2_HH__
51struct SignaturePathPrefetcherV2Params;
void registerTagExtractor(TagExtractor ext)
std::function< Addr(Addr)> TagExtractor
double calculateLookaheadConfidence(PatternEntry const &sig, PatternStrideEntry const &lookahead) const override
Computes the lookahead path confidence of the provided pattern entry.
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.
void increasePatternEntryCounter(PatternEntry &pattern_entry, PatternStrideEntry &pstride_entry) override
Increases the counter of a given PatternEntry/PatternStrideEntry.
SignaturePathV2(const SignaturePathPrefetcherV2Params &p)
void auxiliaryPrefetcher(Addr ppn, stride_t current_block, bool is_secure, std::vector< AddrPriority > &addresses) override
In this version of the Signature Path Prefetcher, there is no auxiliary prefetcher,...
~SignaturePathV2()=default
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...
double calculatePrefetchConfidence(PatternEntry const &sig, PatternStrideEntry const &lookahead) const override
Computes the prefetch confidence of the provided pattern entry.
AssociativeCache< GlobalHistoryEntry > globalHistoryRegister
Global History Register.
SignaturePath(const SignaturePathPrefetcherParams &p)
int16_t stride_t
Stride type.
uint16_t signature_t
Signature type.
Copyright (c) 2024 Arm Limited All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Declaration of the Packet class.
GlobalHistoryEntry(TagExtractor ext)
Pattern entry data type, a set of stride and counter entries.
A stride entry with its counter.