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

#include <BankedArray.hh>


class  AccessRecord

Public Member Functions

 BankedArray (unsigned int banks, Cycles accessLatency, unsigned int startIndexBit, RubySystem *rs)
bool tryAccess (int64_t idx)
void reserve (int64_t idx)
Cycles getLatency () const

Private Member Functions

unsigned int mapIndexToBank (int64_t idx)

Private Attributes

unsigned int banks
Cycles accessLatency
unsigned int bankBits
unsigned int startIndexBit
std::vector< AccessRecordbusyBanks

Detailed Description

Definition at line 46 of file BankedArray.hh.

Constructor & Destructor Documentation

◆ BankedArray()

gem5::ruby::BankedArray::BankedArray ( unsigned int  banks,
Cycles  accessLatency,
unsigned int  startIndexBit,
RubySystem rs 

Definition at line 44 of file

References accessLatency, bankBits, banks, busyBanks, gem5::floorLog2(), and startIndexBit.

Member Function Documentation

◆ getLatency()

Cycles gem5::ruby::BankedArray::getLatency ( ) const

◆ mapIndexToBank()

unsigned int gem5::ruby::BankedArray::mapIndexToBank ( int64_t  idx)

Definition at line 102 of file

References banks.

Referenced by reserve(), and tryAccess().

◆ reserve()

void gem5::ruby::BankedArray::reserve ( int64_t  idx)

◆ tryAccess()

bool gem5::ruby::BankedArray::tryAccess ( int64_t  idx)

Member Data Documentation

◆ accessLatency

Cycles gem5::ruby::BankedArray::accessLatency

Definition at line 50 of file BankedArray.hh.

Referenced by BankedArray(), getLatency(), reserve(), and tryAccess().

◆ bankBits

unsigned int gem5::ruby::BankedArray::bankBits

Definition at line 51 of file BankedArray.hh.

Referenced by BankedArray().

◆ banks

unsigned int gem5::ruby::BankedArray::banks

Definition at line 49 of file BankedArray.hh.

Referenced by BankedArray(), mapIndexToBank(), reserve(), and tryAccess().

◆ busyBanks

std::vector<AccessRecord> gem5::ruby::BankedArray::busyBanks

Definition at line 66 of file BankedArray.hh.

Referenced by BankedArray(), reserve(), and tryAccess().

◆ m_ruby_system

RubySystem* gem5::ruby::BankedArray::m_ruby_system

Definition at line 53 of file BankedArray.hh.

Referenced by reserve().

◆ startIndexBit

unsigned int gem5::ruby::BankedArray::startIndexBit

Definition at line 52 of file BankedArray.hh.

Referenced by BankedArray().

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