gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::VegaISA::PageWalkCache Class Reference

#include <page_walk_cache.hh>

Inheritance diagram for gem5::VegaISA::PageWalkCache:
gem5::AssociativeCache< PWCEntry > gem5::Named

Public Member Functions

PWCEntryaccessEntry (const KeyType &key) override
 
PWCEntryfindEntry (const KeyType &key) const override
 
void insert (const KeyType &key, const PageTableEntry &pte_entry)
 
- Public Member Functions inherited from gem5::AssociativeCache< PWCEntry >
 AssociativeCache (std::string_view name)
 Empty constructor - need to call init() later with all args.
 
 AssociativeCache (std::string_view name, const size_t num_entries, const size_t associativity_, BaseReplacementPolicy *repl_policy, IndexingPolicy *indexing_policy, PWCEntry const &init_val=PWCEntry())
 Public constructor.
 
 AssociativeCache (const AssociativeCache &)=delete
 Disable copy and assignment.
 
 ~AssociativeCache ()=default
 Default destructor.
 
AssociativeCacheoperator= (const AssociativeCache &)=delete
 
void clear ()
 Clear the entries in the cache.
 
void init (const size_t num_entries, const size_t associativity_, BaseReplacementPolicy *_repl_policy, IndexingPolicy *_indexing_policy, PWCEntry const &init_val=PWCEntry())
 
void setDebugFlag (const ::gem5::debug::SimpleFlag &flag)
 
virtual PWCEntry * accessEntry (const KeyType &key)
 Do an access to the entry if it exists.
 
virtual void accessEntry (PWCEntry *entry)
 Update the replacement information for an entry.
 
virtual PWCEntry * findEntry (const KeyType &key) const
 Find an entry within the set.
 
virtual PWCEntry * findVictim (const KeyType &key)
 Find a victim to be replaced.
 
virtual void invalidate (PWCEntry *entry)
 Invalidate an entry and its respective replacement data.
 
virtual void insertEntry (const KeyType &key, PWCEntry *entry)
 Indicate that an entry has just been inserted.
 
std::vector< PWCEntry * > getPossibleEntries (const KeyType &key) const
 Find the set of entries that could be replaced given that we want to add a new entry with the provided key.
 
iterator begin ()
 Returns an iterator to the first entry of the dictionary.
 
const_iterator begin () const
 Returns an iterator to the first entry of the dictionary.
 
iterator end ()
 Returns an iterator pointing to the end of the the dictionary (placeholder element, should not be accessed)
 
const_iterator end () const
 Returns an iterator pointing to the end of the the dictionary (placeholder element, should not be accessed)
 
- Public Member Functions inherited from gem5::Named
 Named (std::string_view name_)
 
virtual ~Named ()=default
 
virtual std::string name () const
 

Additional Inherited Members

- Public Types inherited from gem5::AssociativeCache< PWCEntry >
using const_iterator
 Iterator types.
 
using iterator
 
- Protected Types inherited from gem5::AssociativeCache< PWCEntry >
typedef replacement_policy::Base BaseReplacementPolicy
 
typedef PWCEntry::IndexingPolicy IndexingPolicy
 
typedef PWCEntry::KeyType KeyType
 
- Protected Attributes inherited from gem5::AssociativeCache< PWCEntry >
size_t associativity
 Associativity of the cache.
 
BaseReplacementPolicyreplPolicy
 The replacement policy of the cache.
 
IndexingPolicyindexingPolicy
 Indexing policy of the cache.
 
std::vector< PWCEntry > entries
 The entries.
 
const ::gem5::debug::SimpleFlagdebugFlag
 

Detailed Description

Definition at line 126 of file page_walk_cache.hh.

Member Function Documentation

◆ accessEntry()

PWCEntry * gem5::VegaISA::PageWalkCache::accessEntry ( const KeyType & key)
inlineoverride

Definition at line 132 of file page_walk_cache.hh.

References accessEntry(), and findEntry().

Referenced by accessEntry().

◆ findEntry()

PWCEntry * gem5::VegaISA::PageWalkCache::findEntry ( const KeyType & key) const
inlineoverride

Definition at line 138 of file page_walk_cache.hh.

References gem5::AssociativeCache< PWCEntry >::indexingPolicy.

Referenced by accessEntry().

◆ insert()


The documentation for this class was generated from the following file:

Generated on Mon May 26 2025 09:20:41 for gem5 by doxygen 1.13.2