gem5  v22.1.0.0
Classes | Public Member Functions | Private Attributes | List of all members
gem5::ruby::TBEStorage Class Reference

#include <TBEStorage.hh>

Classes

struct  TBEStorageStats
 

Public Member Functions

 TBEStorage (statistics::Group *parent, int number_of_TBEs)
 
int size () const
 
int capacity () const
 
int reserved () const
 
int slotsAvailable () const
 
float utilization () const
 
bool areNSlotsAvailable (int n, Tick current_time=0) const
 
void incrementReserved ()
 
void decrementReserved ()
 
int addEntryToNewSlot ()
 
void addEntryToSlot (int slot)
 
void removeEntryFromSlot (int slot)
 

Private Attributes

int m_reserved
 
std::stack< int > m_slots_avail
 
std::unordered_map< int, int > m_slots_used
 
gem5::ruby::TBEStorage::TBEStorageStats m_stats
 

Detailed Description

Definition at line 79 of file TBEStorage.hh.

Constructor & Destructor Documentation

◆ TBEStorage()

gem5::ruby::TBEStorage::TBEStorage ( statistics::Group parent,
int  number_of_TBEs 
)

Definition at line 46 of file TBEStorage.cc.

References gem5::ArmISA::i, and m_slots_avail.

Member Function Documentation

◆ addEntryToNewSlot()

int gem5::ruby::TBEStorage::addEntryToNewSlot ( )
inline

◆ addEntryToSlot()

void gem5::ruby::TBEStorage::addEntryToSlot ( int  slot)
inline

Definition at line 173 of file TBEStorage.hh.

References m_slots_used.

◆ areNSlotsAvailable()

bool gem5::ruby::TBEStorage::areNSlotsAvailable ( int  n,
Tick  current_time = 0 
) const
inline

Definition at line 139 of file TBEStorage.hh.

References gem5::ArmISA::n, and slotsAvailable().

◆ capacity()

int gem5::ruby::TBEStorage::capacity ( ) const
inline

Definition at line 88 of file TBEStorage.hh.

References m_slots_avail, and m_slots_used.

Referenced by utilization().

◆ decrementReserved()

void gem5::ruby::TBEStorage::decrementReserved ( )
inline

◆ incrementReserved()

void gem5::ruby::TBEStorage::incrementReserved ( )
inline

◆ removeEntryFromSlot()

void gem5::ruby::TBEStorage::removeEntryFromSlot ( int  slot)
inline

◆ reserved()

int gem5::ruby::TBEStorage::reserved ( ) const
inline

Definition at line 91 of file TBEStorage.hh.

References m_reserved.

◆ size()

int gem5::ruby::TBEStorage::size ( ) const
inline

Definition at line 85 of file TBEStorage.hh.

References m_slots_used.

Referenced by addEntryToNewSlot(), removeEntryFromSlot(), and utilization().

◆ slotsAvailable()

int gem5::ruby::TBEStorage::slotsAvailable ( ) const
inline

Definition at line 94 of file TBEStorage.hh.

References m_reserved, and m_slots_avail.

Referenced by addEntryToNewSlot(), and areNSlotsAvailable().

◆ utilization()

float gem5::ruby::TBEStorage::utilization ( ) const
inline

Definition at line 97 of file TBEStorage.hh.

References capacity(), and size().

Referenced by addEntryToNewSlot(), and removeEntryFromSlot().

Member Data Documentation

◆ m_reserved

int gem5::ruby::TBEStorage::m_reserved
private

Definition at line 123 of file TBEStorage.hh.

Referenced by decrementReserved(), incrementReserved(), reserved(), and slotsAvailable().

◆ m_slots_avail

std::stack<int> gem5::ruby::TBEStorage::m_slots_avail
private

◆ m_slots_used

std::unordered_map<int, int> gem5::ruby::TBEStorage::m_slots_used
private

Definition at line 125 of file TBEStorage.hh.

Referenced by addEntryToNewSlot(), addEntryToSlot(), capacity(), removeEntryFromSlot(), and size().

◆ m_stats

gem5::ruby::TBEStorage::TBEStorageStats gem5::ruby::TBEStorage::m_stats
private

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

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