29#ifndef __MEM_CACHE_REPLACEMENT_POLICIES_BASE_HH__
30#define __MEM_CACHE_REPLACEMENT_POLICIES_BASE_HH__
37#include "params/BaseReplacementPolicy.hh"
48namespace replacement_policy
57 typedef BaseReplacementPolicyParams
Params;
66 virtual void invalidate(
const std::shared_ptr<ReplacementData>&
67 replacement_data) = 0;
75 virtual void touch(
const std::shared_ptr<ReplacementData>&
78 touch(replacement_data);
80 virtual void touch(
const std::shared_ptr<ReplacementData>&
81 replacement_data)
const = 0;
89 virtual void reset(
const std::shared_ptr<ReplacementData>&
92 reset(replacement_data);
94 virtual void reset(
const std::shared_ptr<ReplacementData>&
95 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 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 ReplaceableEntry * getVictim(const ReplacementCandidates &candidates) const =0
Find replacement victim among candidates.
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.
Declaration of the Packet class.