gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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 PerfectCacheMemory< ENTRY >

Definition at line 53 of file PerfectCacheMemory.hh.

Constructor & Destructor Documentation

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

Definition at line 105 of file PerfectCacheMemory.hh.

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

Member Function Documentation

template<class ENTRY >
void PerfectCacheMemory< ENTRY >::allocate ( Addr  address)
inline
template<class ENTRY >
bool PerfectCacheMemory< ENTRY >::cacheAvail ( Addr  address) const
inline

Definition at line 119 of file PerfectCacheMemory.hh.

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

Definition at line 147 of file PerfectCacheMemory.hh.

References panic.

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

Definition at line 139 of file PerfectCacheMemory.hh.

References makeLineAddress().

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

Definition at line 171 of file PerfectCacheMemory.hh.

References makeLineAddress().

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

Definition at line 112 of file PerfectCacheMemory.hh.

References makeLineAddress().

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

Definition at line 156 of file PerfectCacheMemory.hh.

References makeLineAddress().

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

Definition at line 164 of file PerfectCacheMemory.hh.

References makeLineAddress().

template<class ENTRY >
PerfectCacheMemory& PerfectCacheMemory< ENTRY >::operator= ( const PerfectCacheMemory< ENTRY > &  obj)
private
template<class ENTRY >
void PerfectCacheMemory< ENTRY >::print ( std::ostream &  out) const
inline

Definition at line 188 of file PerfectCacheMemory.hh.

Member Data Documentation

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

Definition at line 91 of file PerfectCacheMemory.hh.


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

Generated on Fri Jun 9 2017 13:04:16 for gem5 by doxygen 1.8.6