29 #ifndef __MEM_CACHE_REPLACEMENT_POLICIES_BASE_HH__
30 #define __MEM_CACHE_REPLACEMENT_POLICIES_BASE_HH__
37 #include "params/BaseReplacementPolicy.hh"
49 namespace replacement_policy
58 typedef BaseReplacementPolicyParams
Params;
67 virtual void invalidate(
const std::shared_ptr<ReplacementData>&
68 replacement_data) = 0;
76 virtual void touch(
const std::shared_ptr<ReplacementData>&
79 touch(replacement_data);
81 virtual void touch(
const std::shared_ptr<ReplacementData>&
82 replacement_data)
const = 0;
90 virtual void reset(
const std::shared_ptr<ReplacementData>&
93 reset(replacement_data);
95 virtual void reset(
const std::shared_ptr<ReplacementData>&
96 replacement_data)
const = 0;
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
A replaceable entry is a basic entry in a 2d table-like structure that needs to have replacement func...
Abstract superclass for simulation objects.
A common base class of cache replacement policy objects.
virtual void touch(const std::shared_ptr< ReplacementData > &replacement_data) const =0
virtual void reset(const std::shared_ptr< ReplacementData > &replacement_data) const =0
virtual void invalidate(const std::shared_ptr< ReplacementData > &replacement_data)=0
Invalidate replacement data to set it as the next probable victim.
virtual ReplaceableEntry * getVictim(const ReplacementCandidates &candidates) const =0
Find replacement victim among candidates.
virtual void reset(const std::shared_ptr< ReplacementData > &replacement_data, const PacketPtr pkt)
Reset replacement data.
BaseReplacementPolicyParams Params
virtual void touch(const std::shared_ptr< ReplacementData > &replacement_data, const PacketPtr pkt)
Update replacement data.
virtual std::shared_ptr< ReplacementData > instantiateEntry()=0
Instantiate a replacement data entry.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
std::vector< ReplaceableEntry * > ReplacementCandidates
Replacement candidates as chosen by the indexing policy.
GEM5_DEPRECATED_NAMESPACE(GuestABI, guest_abi)
Declaration of the Packet class.