gem5  v22.1.0.0
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
gem5::ruby::MN_TBEStorage< RetryEntry > Class Template Reference

#include <MN_TBEStorage.hh>

Classes

struct  MN_TBEStorageStats
 

Public Member Functions

 MN_TBEStorage (statistics::Group *parent, std::initializer_list< TBEStorage * > _partitions)
 
int size () const
 
int capacity () const
 
int reserved () const
 
int slotsAvailable (int partition) const
 
float utilization () const
 
bool areNSlotsAvailable (int n, int partition, Tick current_time=0) const
 
void incrementReserved (int partition)
 
void decrementReserved (int partition)
 
int addEntryToNewSlot (int partition)
 
void removeEntryFromSlot (int slot, int partition)
 
void emplaceRetryEntry (RetryEntry entry)
 
bool hasPossibleRetry ()
 
RetryEntry popNextRetryEntry ()
 

Private Member Functions

std::list< RetryEntry >::iterator getNextRetryEntryIter ()
 

Private Attributes

gem5::ruby::MN_TBEStorage::MN_TBEStorageStats m_stats
 
std::vector< TBEStorage * > partitions
 
std::list< RetryEntry > m_retryEntries
 

Detailed Description

template<class RetryEntry>
class gem5::ruby::MN_TBEStorage< RetryEntry >

Definition at line 64 of file MN_TBEStorage.hh.

Constructor & Destructor Documentation

◆ MN_TBEStorage()

template<class RetryEntry >
gem5::ruby::MN_TBEStorage< RetryEntry >::MN_TBEStorage ( statistics::Group parent,
std::initializer_list< TBEStorage * >  _partitions 
)
inline

Definition at line 67 of file MN_TBEStorage.hh.

Member Function Documentation

◆ addEntryToNewSlot()

template<class RetryEntry >
int gem5::ruby::MN_TBEStorage< RetryEntry >::addEntryToNewSlot ( int  partition)
inline

◆ areNSlotsAvailable()

template<class RetryEntry >
bool gem5::ruby::MN_TBEStorage< RetryEntry >::areNSlotsAvailable ( int  n,
int  partition,
Tick  current_time = 0 
) const
inline

◆ capacity()

template<class RetryEntry >
int gem5::ruby::MN_TBEStorage< RetryEntry >::capacity ( ) const
inline

◆ decrementReserved()

template<class RetryEntry >
void gem5::ruby::MN_TBEStorage< RetryEntry >::decrementReserved ( int  partition)
inline

◆ emplaceRetryEntry()

template<class RetryEntry >
void gem5::ruby::MN_TBEStorage< RetryEntry >::emplaceRetryEntry ( RetryEntry  entry)
inline

◆ getNextRetryEntryIter()

template<class RetryEntry >
std::list<RetryEntry>::iterator gem5::ruby::MN_TBEStorage< RetryEntry >::getNextRetryEntryIter ( )
inlineprivate

◆ hasPossibleRetry()

template<class RetryEntry >
bool gem5::ruby::MN_TBEStorage< RetryEntry >::hasPossibleRetry ( )
inline

◆ incrementReserved()

template<class RetryEntry >
void gem5::ruby::MN_TBEStorage< RetryEntry >::incrementReserved ( int  partition)
inline

◆ popNextRetryEntry()

template<class RetryEntry >
RetryEntry gem5::ruby::MN_TBEStorage< RetryEntry >::popNextRetryEntry ( )
inline

◆ removeEntryFromSlot()

template<class RetryEntry >
void gem5::ruby::MN_TBEStorage< RetryEntry >::removeEntryFromSlot ( int  slot,
int  partition 
)
inline

◆ reserved()

template<class RetryEntry >
int gem5::ruby::MN_TBEStorage< RetryEntry >::reserved ( ) const
inline

◆ size()

template<class RetryEntry >
int gem5::ruby::MN_TBEStorage< RetryEntry >::size ( ) const
inline

◆ slotsAvailable()

template<class RetryEntry >
int gem5::ruby::MN_TBEStorage< RetryEntry >::slotsAvailable ( int  partition) const
inline

◆ utilization()

template<class RetryEntry >
float gem5::ruby::MN_TBEStorage< RetryEntry >::utilization ( ) const
inline

Member Data Documentation

◆ m_retryEntries

template<class RetryEntry >
std::list<RetryEntry> gem5::ruby::MN_TBEStorage< RetryEntry >::m_retryEntries
private

◆ m_stats

template<class RetryEntry >
gem5::ruby::MN_TBEStorage::MN_TBEStorageStats gem5::ruby::MN_TBEStorage< RetryEntry >::m_stats
private

◆ partitions

template<class RetryEntry >
std::vector<TBEStorage *> gem5::ruby::MN_TBEStorage< RetryEntry >::partitions
private

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

Generated on Wed Dec 21 2022 10:24:23 for gem5 by doxygen 1.9.1