|
gem5
v21.0.1.0
|
#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 119 of file address_manager.hh.
|
private |
Definition at line 262 of file address_manager.hh.
|
private |
Definition at line 266 of file address_manager.hh.
| typedef int32_t AddressManager::Location |
Definition at line 126 of file address_manager.hh.
|
private |
Definition at line 270 of file address_manager.hh.
| typedef int32_t AddressManager::Value |
Definition at line 125 of file address_manager.hh.
| AddressManager::AddressManager | ( | int | n_atomic_locs, |
| int | numNormalLocsPerAtomic | ||
| ) |
Definition at line 46 of file address_manager.cc.
References atomicStructs, floorLog2(), ArmISA::i, logTable, numAtomicLocs, numLocsPerAtomic, numNormalLocs, and randAddressMap.
| AddressManager::~AddressManager | ( | ) |
Definition at line 78 of file address_manager.cc.
References atomicStructs, and logTable.
| void AddressManager::finishLocSelection | ( | Location | atomic_loc | ) |
Definition at line 116 of file address_manager.cc.
References atomicStructs, and numAtomicLocs.
Referenced by Episode::initActions().
Definition at line 87 of file address_manager.cc.
References randAddressMap.
Referenced by TesterThread::isNextActionReady(), GpuWavefront::issueAtomicOps(), DmaThread::issueLoadOps(), GpuWavefront::issueLoadOps(), DmaThread::issueStoreOps(), GpuWavefront::issueStoreOps(), TesterThread::validateAtomicResp(), and TesterThread::validateLoadResp().
| AddressManager::Location AddressManager::getAtomicLoc | ( | ) |
Definition at line 94 of file address_manager.cc.
References atomicStructs, numAtomicLocs, and MipsISA::random.
Referenced by Episode::initActions().
| AddressManager::Location AddressManager::getLoadLoc | ( | Location | atomic_loc | ) |
Definition at line 102 of file address_manager.cc.
References atomicStructs, and numAtomicLocs.
| AddressManager::Value AddressManager::getLoggedValue | ( | Location | loc | ) | const |
Definition at line 420 of file address_manager.cc.
References logTable, numAtomicLocs, and numNormalLocs.
Referenced by DmaThread::issueStoreOps(), GpuWavefront::issueStoreOps(), and TesterThread::validateLoadResp().
| AddressManager::Location AddressManager::getStoreLoc | ( | Location | atomic_loc | ) |
Definition at line 109 of file address_manager.cc.
References atomicStructs, and numAtomicLocs.
| std::string AddressManager::printLastWriter | ( | Location | loc | ) | const |
Definition at line 130 of file address_manager.cc.
References logTable.
Referenced by TesterThread::validateLoadResp().
Definition at line 123 of file address_manager.cc.
References atomicStructs, and numAtomicLocs.
Referenced by Episode::completeEpisode().
| void AddressManager::updateLogTable | ( | Location | loc, |
| int | threadId, | ||
| int | episodeId, | ||
| Value | new_value, | ||
| Tick | curTick, | ||
| int | cuId = -1 |
||
| ) |
Definition at line 412 of file address_manager.cc.
References logTable, numAtomicLocs, and numNormalLocs.
Referenced by DmaThread::hitCallback(), and GpuWavefront::hitCallback().
Definition at line 427 of file address_manager.cc.
References atomicStructs, and numAtomicLocs.
Referenced by TesterThread::validateAtomicResp().
|
private |
Definition at line 267 of file address_manager.hh.
Referenced by AddressManager(), finishLocSelection(), getAtomicLoc(), getLoadLoc(), getStoreLoc(), releaseLocation(), validateAtomicResp(), and ~AddressManager().
|
static |
Definition at line 151 of file address_manager.hh.
Referenced by Episode::Action::Action(), Episode::checkDRF(), Episode::completeEpisode(), Episode::Episode(), AddressManager::AtomicStruct::getLoadLoc(), AddressManager::AtomicStruct::getStoreLoc(), Episode::initActions(), TesterThread::isNextActionReady(), DmaThread::issueLoadOps(), GpuWavefront::issueLoadOps(), DmaThread::issueStoreOps(), and GpuWavefront::issueStoreOps().
|
static |
Definition at line 150 of file address_manager.hh.
Referenced by DmaThread::hitCallback(), and GpuWavefront::hitCallback().
|
private |
Definition at line 271 of file address_manager.hh.
Referenced by AddressManager(), getLoggedValue(), printLastWriter(), updateLogTable(), and ~AddressManager().
|
private |
Definition at line 255 of file address_manager.hh.
Referenced by AddressManager(), finishLocSelection(), getAtomicLoc(), getLoadLoc(), getLoggedValue(), getStoreLoc(), releaseLocation(), updateLogTable(), and validateAtomicResp().
|
private |
Definition at line 257 of file address_manager.hh.
Referenced by AddressManager().
|
private |
Definition at line 259 of file address_manager.hh.
Referenced by AddressManager(), getLoggedValue(), and updateLogTable().
|
private |
Definition at line 263 of file address_manager.hh.
Referenced by AddressManager(), and getAddress().