|
gem5 v23.0.0.1
|
#include <address_manager.hh>
Classes | |
| class | AtomicStruct |
| class | LastWriter |
Public Types | |
| typedef int32_t | Value |
| typedef int32_t | Location |
Public Member Functions | |
| AddressManager (int n_atomic_locs, int numNormalLocsPerAtomic) | |
| ~AddressManager () | |
| Addr | getAddress (Location loc) |
| Location | getAtomicLoc () |
| Location | getLoadLoc (Location atomic_loc) |
| Location | getStoreLoc (Location atomic_loc) |
| void | finishLocSelection (Location atomic_loc) |
| void | releaseLocation (Location atomic_loc, Location loc) |
| void | updateLogTable (Location loc, int threadId, int episodeId, Value new_value, Tick curTick, int cuId=-1) |
| Value | getLoggedValue (Location loc) const |
| bool | validateAtomicResp (Location loc, Value ret_val) |
| std::string | printLastWriter (Location loc) const |
Static Public Attributes | |
| static const int | INVALID_VALUE = -1 |
| static const int | INVALID_LOCATION = -1 |
Private Types | |
| typedef std::vector< Addr > | AddressMap |
| typedef std::vector< AtomicStruct * > | AtomicStructTable |
| typedef std::vector< LastWriter * > | LogTable |
Private Attributes | |
| int | numAtomicLocs |
| int | numLocsPerAtomic |
| int | numNormalLocs |
| AddressMap | randAddressMap |
| AtomicStructTable | atomicStructs |
| LogTable | logTable |
Definition at line 120 of file address_manager.hh.
|
private |
Definition at line 263 of file address_manager.hh.
|
private |
Definition at line 267 of file address_manager.hh.
| typedef int32_t gem5::AddressManager::Location |
Definition at line 127 of file address_manager.hh.
|
private |
Definition at line 271 of file address_manager.hh.
| typedef int32_t gem5::AddressManager::Value |
Definition at line 126 of file address_manager.hh.
| gem5::AddressManager::AddressManager | ( | int | n_atomic_locs, |
| int | numNormalLocsPerAtomic | ||
| ) |
Definition at line 49 of file address_manager.cc.
References atomicStructs, gem5::floorLog2(), gem5::ArmISA::i, logTable, numAtomicLocs, numLocsPerAtomic, numNormalLocs, randAddressMap, gem5::Random::random(), and gem5::random_mt.
| gem5::AddressManager::~AddressManager | ( | ) |
Definition at line 86 of file address_manager.cc.
References atomicStructs, and logTable.
| void gem5::AddressManager::finishLocSelection | ( | Location | atomic_loc | ) |
Definition at line 124 of file address_manager.cc.
References atomicStructs, and numAtomicLocs.
Referenced by gem5::Episode::initActions().
Definition at line 95 of file address_manager.cc.
References randAddressMap.
Referenced by gem5::TesterThread::isNextActionReady(), gem5::GpuWavefront::issueAtomicOps(), gem5::DmaThread::issueLoadOps(), gem5::GpuWavefront::issueLoadOps(), gem5::DmaThread::issueStoreOps(), gem5::GpuWavefront::issueStoreOps(), gem5::TesterThread::validateAtomicResp(), and gem5::TesterThread::validateLoadResp().
| AddressManager::Location gem5::AddressManager::getAtomicLoc | ( | ) |
Definition at line 102 of file address_manager.cc.
References atomicStructs, numAtomicLocs, and gem5::MipsISA::random.
Referenced by gem5::Episode::initActions().
| AddressManager::Location gem5::AddressManager::getLoadLoc | ( | Location | atomic_loc | ) |
Definition at line 110 of file address_manager.cc.
References atomicStructs, and numAtomicLocs.
| AddressManager::Value gem5::AddressManager::getLoggedValue | ( | Location | loc | ) | const |
Definition at line 428 of file address_manager.cc.
References logTable, numAtomicLocs, and numNormalLocs.
Referenced by gem5::DmaThread::issueStoreOps(), gem5::GpuWavefront::issueStoreOps(), and gem5::TesterThread::validateLoadResp().
| AddressManager::Location gem5::AddressManager::getStoreLoc | ( | Location | atomic_loc | ) |
Definition at line 117 of file address_manager.cc.
References atomicStructs, and numAtomicLocs.
| std::string gem5::AddressManager::printLastWriter | ( | Location | loc | ) | const |
Definition at line 138 of file address_manager.cc.
References logTable.
Referenced by gem5::TesterThread::validateLoadResp().
Definition at line 131 of file address_manager.cc.
References atomicStructs, and numAtomicLocs.
Referenced by gem5::Episode::completeEpisode().
| void gem5::AddressManager::updateLogTable | ( | Location | loc, |
| int | threadId, | ||
| int | episodeId, | ||
| Value | new_value, | ||
| Tick | curTick, | ||
| int | cuId = -1 |
||
| ) |
Definition at line 420 of file address_manager.cc.
References logTable, numAtomicLocs, and numNormalLocs.
Referenced by gem5::DmaThread::hitCallback(), and gem5::GpuWavefront::hitCallback().
Definition at line 435 of file address_manager.cc.
References atomicStructs, and numAtomicLocs.
Referenced by gem5::TesterThread::validateAtomicResp().
|
private |
Definition at line 268 of file address_manager.hh.
Referenced by AddressManager(), finishLocSelection(), getAtomicLoc(), getLoadLoc(), getStoreLoc(), releaseLocation(), validateAtomicResp(), and ~AddressManager().
|
static |
Definition at line 152 of file address_manager.hh.
Referenced by gem5::Episode::Action::Action(), gem5::Episode::checkDRF(), gem5::Episode::completeEpisode(), gem5::Episode::Episode(), gem5::AddressManager::AtomicStruct::getLoadLoc(), gem5::AddressManager::AtomicStruct::getStoreLoc(), gem5::TesterThread::getTokensNeeded(), gem5::Episode::initActions(), gem5::TesterThread::isNextActionReady(), gem5::DmaThread::issueLoadOps(), gem5::GpuWavefront::issueLoadOps(), gem5::DmaThread::issueStoreOps(), and gem5::GpuWavefront::issueStoreOps().
|
static |
Definition at line 151 of file address_manager.hh.
Referenced by gem5::DmaThread::hitCallback(), and gem5::GpuWavefront::hitCallback().
|
private |
Definition at line 272 of file address_manager.hh.
Referenced by AddressManager(), getLoggedValue(), printLastWriter(), updateLogTable(), and ~AddressManager().
|
private |
Definition at line 256 of file address_manager.hh.
Referenced by AddressManager(), finishLocSelection(), getAtomicLoc(), getLoadLoc(), getLoggedValue(), getStoreLoc(), releaseLocation(), updateLogTable(), and validateAtomicResp().
|
private |
Definition at line 258 of file address_manager.hh.
Referenced by AddressManager().
|
private |
Definition at line 260 of file address_manager.hh.
Referenced by AddressManager(), getLoggedValue(), and updateLogTable().
|
private |
Definition at line 264 of file address_manager.hh.
Referenced by AddressManager(), and getAddress().