gem5
|
#include <BankedArray.hh>
Classes | |
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 |
RubySystem * | m_ruby_system |
std::vector< AccessRecord > | busyBanks |
Definition at line 41 of file BankedArray.hh.
BankedArray::BankedArray | ( | unsigned int | banks, |
Cycles | accessLatency, | ||
unsigned int | startIndexBit, | ||
RubySystem * | rs | ||
) |
Definition at line 37 of file BankedArray.cc.
References accessLatency, bankBits, banks, busyBanks, floorLog2(), and startIndexBit.
|
inline |
Definition at line 75 of file BankedArray.hh.
References accessLatency.
Referenced by CacheMemory::getDataLatency(), and CacheMemory::getTagLatency().
|
private |
Definition at line 95 of file BankedArray.cc.
References banks.
Referenced by reserve(), and tryAccess().
void BankedArray::reserve | ( | int64_t | idx | ) |
Definition at line 69 of file BankedArray.cc.
References accessLatency, banks, busyBanks, Clocked::clockPeriod(), curTick(), m_ruby_system, mapIndexToBank(), and panic.
Referenced by CacheMemory::recordRequestType().
bool BankedArray::tryAccess | ( | int64_t | idx | ) |
Definition at line 53 of file BankedArray.cc.
References accessLatency, banks, busyBanks, curTick(), and mapIndexToBank().
Referenced by CacheMemory::checkResourceAvailable().
|
private |
Definition at line 45 of file BankedArray.hh.
Referenced by BankedArray(), getLatency(), reserve(), and tryAccess().
|
private |
Definition at line 46 of file BankedArray.hh.
Referenced by BankedArray().
|
private |
Definition at line 44 of file BankedArray.hh.
Referenced by BankedArray(), mapIndexToBank(), reserve(), and tryAccess().
|
private |
Definition at line 61 of file BankedArray.hh.
Referenced by BankedArray(), reserve(), and tryAccess().
|
private |
Definition at line 48 of file BankedArray.hh.
Referenced by reserve().
|
private |
Definition at line 47 of file BankedArray.hh.
Referenced by BankedArray().