41#ifndef __MEM_CACHE_PREFETCH_SIGNATURE_PATH_V2_HH__
42#define __MEM_CACHE_PREFETCH_SIGNATURE_PATH_V2_HH__
51struct SignaturePathPrefetcherV2Params;
A tagged entry is an entry containing a tag.
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.
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.
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.
Global History Register entry datatype.
GlobalHistoryEntry(TagExtractor ext)
Pattern entry data type, a set of stride and counter entries.
A stride entry with its counter.