gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::ruby::PerfectCacheMemory< ENTRY > Class Template Reference

#include <PerfectCacheMemory.hh>

Public Member Functions

 PerfectCacheMemory ()
 
bool isTagPresent (Addr address) const
 
bool cacheAvail (Addr address) const
 
void allocate (Addr address)
 
void deallocate (Addr address)
 
Addr cacheProbe (Addr newAddress) const
 
ENTRY * lookup (Addr address)
 
const ENTRY * lookup (Addr address) const
 
AccessPermission getPermission (Addr address) const
 
void changePermission (Addr address, AccessPermission new_perm)
 
void print (std::ostream &out) const
 

Private Member Functions

 PerfectCacheMemory (const PerfectCacheMemory &obj)
 
PerfectCacheMemoryoperator= (const PerfectCacheMemory &obj)
 

Private Attributes

std::unordered_map< Addr, PerfectCacheLineState< ENTRY > > m_map
 

Detailed Description

template<class ENTRY>
class gem5::ruby::PerfectCacheMemory< ENTRY >

Definition at line 72 of file PerfectCacheMemory.hh.

Constructor & Destructor Documentation

◆ PerfectCacheMemory() [1/2]

template<class ENTRY >
gem5::ruby::PerfectCacheMemory< ENTRY >::PerfectCacheMemory ( )
inline

Definition at line 124 of file PerfectCacheMemory.hh.

◆ PerfectCacheMemory() [2/2]

template<class ENTRY >
gem5::ruby::PerfectCacheMemory< ENTRY >::PerfectCacheMemory ( const PerfectCacheMemory< ENTRY > & obj)
private

Member Function Documentation

◆ allocate()

◆ cacheAvail()

template<class ENTRY >
bool gem5::ruby::PerfectCacheMemory< ENTRY >::cacheAvail ( Addr address) const
inline

Definition at line 138 of file PerfectCacheMemory.hh.

◆ cacheProbe()

template<class ENTRY >
Addr gem5::ruby::PerfectCacheMemory< ENTRY >::cacheProbe ( Addr newAddress) const
inline

Definition at line 167 of file PerfectCacheMemory.hh.

References panic.

◆ changePermission()

template<class ENTRY >
void gem5::ruby::PerfectCacheMemory< ENTRY >::changePermission ( Addr address,
AccessPermission new_perm )
inline

◆ deallocate()

template<class ENTRY >
void gem5::ruby::PerfectCacheMemory< ENTRY >::deallocate ( Addr address)
inline

Definition at line 158 of file PerfectCacheMemory.hh.

References gem5::ruby::makeLineAddress().

◆ getPermission()

template<class ENTRY >
AccessPermission gem5::ruby::PerfectCacheMemory< ENTRY >::getPermission ( Addr address) const
inline

Definition at line 191 of file PerfectCacheMemory.hh.

References gem5::ruby::makeLineAddress().

◆ isTagPresent()

template<class ENTRY >
bool gem5::ruby::PerfectCacheMemory< ENTRY >::isTagPresent ( Addr address) const
inline

Definition at line 131 of file PerfectCacheMemory.hh.

References gem5::ruby::makeLineAddress().

◆ lookup() [1/2]

template<class ENTRY >
ENTRY * gem5::ruby::PerfectCacheMemory< ENTRY >::lookup ( Addr address)
inline

Definition at line 176 of file PerfectCacheMemory.hh.

References gem5::ruby::makeLineAddress().

◆ lookup() [2/2]

template<class ENTRY >
const ENTRY * gem5::ruby::PerfectCacheMemory< ENTRY >::lookup ( Addr address) const
inline

Definition at line 184 of file PerfectCacheMemory.hh.

References gem5::ruby::makeLineAddress().

◆ operator=()

template<class ENTRY >
PerfectCacheMemory & gem5::ruby::PerfectCacheMemory< ENTRY >::operator= ( const PerfectCacheMemory< ENTRY > & obj)
private

◆ print()

template<class ENTRY >
void gem5::ruby::PerfectCacheMemory< ENTRY >::print ( std::ostream & out) const
inline

Definition at line 208 of file PerfectCacheMemory.hh.

Referenced by gem5::ruby::operator<<().

Member Data Documentation

◆ m_map

template<class ENTRY >
std::unordered_map<Addr, PerfectCacheLineState<ENTRY> > gem5::ruby::PerfectCacheMemory< ENTRY >::m_map
private

Definition at line 110 of file PerfectCacheMemory.hh.


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

Generated on Tue Jun 18 2024 16:24:22 for gem5 by doxygen 1.11.0