Source Code Documentation
Source Code Documentation
1 Namespace Index 1
2 Hierarchical Index 3
3 Class Index 5
4 File Index 7
5 Namespace Documentation 9
5.1.2.1 CacheCntlrMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.2.2 CacheDirectoryWaiterMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.2.3 CoreComponentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.2.4 Mshr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.3.1 CStateString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.3.2 make_mshr() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.1.3.3 ReasonString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
ii CONTENTS
6 Class Documentation 13
6.1.1.1 ATD() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.1.1.2 ATD() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.1.2.1 access() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.1.2.2 isSampledSet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.1.3.1 load_misses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.1.3.2 loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.3.3 loads_constructive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.3.4 loads_destructive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.3.5 m_cache_base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.3.6 m_set_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.3.7 m_sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.3.8 store_misses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.3.9 stores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.3.10 stores_constructive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.1.3.11 stores_destructive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.2.1.1 Cache() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.2.1.2 Cache() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.2.2.1 accessSingleLine() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.2.2.2 disable() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.2.2.3 enable() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.2.2.4 getSetLock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.2.2.5 insertSingleLine() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Generated by Doxygen
CONTENTS iii
6.2.2.6 invalidateSingleLine() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.2.2.7 peekBlock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2.2.8 peekSingleLine() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.2.2.9 updateCounters() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.2.2.10 updateHits() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.2.3.1 m_cache_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.2.3.2 m_enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.2.3.3 m_fault_injector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2.3.4 m_num_accesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2.3.5 m_num_hits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2.3.6 m_set_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2.3.7 m_sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.3.2.1 access_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3.2.2 cache_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.3.2.3 hash_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.3.2.4 ReplacementPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.3.3.1 CacheBase() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.3.3.2 CacheBase() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.3.4.1 getAssociativity() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.3.4.2 getName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.3.4.3 getNumSets() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.3.4.4 parseAddressHash() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Generated by Doxygen
iv CONTENTS
6.3.4.7 tagToAddress() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3.5.1 m_ahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3.5.2 m_associativity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3.5.3 m_blocksize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3.5.4 m_cache_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3.5.5 m_hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3.5.6 m_log_blocksize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3.5.7 m_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3.5.8 m_num_sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.4.1.1 BitsUsedType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.4.2.1 option_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.4.3.1 CacheBlockInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.4.3.2 CacheBlockInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.4.4.1 clearOption() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.4.4.2 clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.4.4.3 create() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.4.4.4 getCState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.4.4.5 getOptionName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.4.4.6 getOwner() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.4.4.7 getTag() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.4.4.8 getUsage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.4.4.9 hasOption() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.4.4.10 invalidate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.4.4.11 isValid() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Generated by Doxygen
CONTENTS v
6.4.4.12 setCState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.4.4.13 setOption() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.4.4.14 setOwner() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.4.4.15 setTag() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.4.5.1 BitsUsedOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.4.5.2 m_cstate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.4.5.3 m_options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.4.5.4 m_owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.4.5.5 m_tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.4.5.6 m_used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.4.5.7 option_names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.5.1.1 incrementQBSLookupCost() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.5.1.2 isInLowerLevelCache() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.6.1.1 CacheCntlr() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.6.1.2 CacheCntlr() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.6.2.1 __walkUsageBits() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.6.2.2 accessCache() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.6.2.3 accessDRAM() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.6.2.4 acquireLock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.6.2.5 acquireStackLock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.6.2.6 cleanupMshr() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.6.2.7 copyDataFromNextLevel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Generated by Doxygen
vi CONTENTS
6.6.2.8 createSetLocks() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.6.2.9 disable() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.6.2.10 doPrefetch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.6.2.11 enable() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.6.2.12 getCache() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.6.2.13 getCacheBlockInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.6.2.14 getCacheBlockSize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.6.2.17 getHome() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.6.2.18 getLock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.6.2.19 getMemoryManager() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.6.2.20 getNetworkThreadSemaphore() . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.6.2.21 getShmemPerfModel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.6.2.22 getUserThreadSemaphore() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.6.2.23 handleMsgFromDramDirectory() . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.6.2.24 incrementQBSLookupCost() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.6.2.25 initiateDirectoryAccess() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.6.2.26 insertCacheBlock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.6.2.27 invalidateCacheBlock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.6.2.28 isFirstLevel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.6.2.29 isInLowerLevelCache() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.6.2.30 isLastLevel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.6.2.31 isMasterCache() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.6.2.32 isShared() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.6.2.33 lastLevelCache() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.6.2.34 notifyPrevLevelEvict() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.6.2.35 notifyPrevLevelInsert() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.6.2.36 operationPermissibleinCache() . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.6.2.37 Prefetch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Generated by Doxygen
CONTENTS vii
6.6.2.38 processExRepFromDramDirectory() . . . . . . . . . . . . . . . . . . . . . . . . 77
6.6.2.39 processExReqToDirectory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.6.2.40 processFlushReqFromDramDirectory() . . . . . . . . . . . . . . . . . . . . . . 79
6.6.2.41 processInvReqFromDramDirectory() . . . . . . . . . . . . . . . . . . . . . . . 79
6.6.2.42 processMemOpFromCore() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.6.2.43 processShmemReqFromPrevCache() . . . . . . . . . . . . . . . . . . . . . . . 82
6.6.2.44 processShRepFromDramDirectory() . . . . . . . . . . . . . . . . . . . . . . . . 83
6.6.2.45 processShReqToDirectory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.6.2.46 processUpgradeRepFromDramDirectory() . . . . . . . . . . . . . . . . . . . . 84
6.6.2.47 processUpgradeReqToDirectory() . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.6.2.48 processWbReqFromDramDirectory() . . . . . . . . . . . . . . . . . . . . . . . 85
6.6.2.49 releaseLock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.6.2.50 releaseStackLock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.6.2.51 retrieveCacheBlock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.6.2.52 setCacheState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.6.2.53 setDRAMDirectAccess() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.6.2.54 setNextCacheCntlr() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.6.2.55 setPrevCacheCntlrs() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.6.2.56 trainPrefetcher() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.6.2.57 transition() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.6.2.58 updateCacheBlock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.6.2.59 updateCounters() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.6.2.60 updateHits() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.6.2.61 updateUncoreStatistics() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.6.2.62 updateUsageBits() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.6.2.63 waitForNetworkThread() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.6.2.64 waitForUserThread() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.6.2.65 wakeUpNetworkThread() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.6.2.66 wakeUpUserThread() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.6.2.67 walkUsageBits() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Generated by Doxygen
viii CONTENTS
6.6.2.68 writeCacheBlock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.6.3.1 CacheCntlrList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.6.3.2 MemoryManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.6.4.1 backinval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.6.4.2 coherency_downgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.6.4.3 coherency_invalidates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.6.4.4 coherency_upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.6.4.5 coherency_writebacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.6.4.6 evict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.6.4.7 evict_prefetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.6.4.8 evict_warmup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.6.4.9 hits_prefetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.6.4.10 hits_warmup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.6.4.11 invalidate_prefetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.6.4.12 invalidate_warmup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.6.4.13 load_misses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.6.4.14 load_misses_state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.6.4.15 load_overlapping_misses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.6.4.16 loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.6.4.17 loads_prefetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.6.4.18 loads_state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.6.4.19 loads_where . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.6.4.20 m_cache_block_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.6.4.21 m_cache_writethrough . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.6.4.22 m_coherent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.6.4.23 m_core_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.6.4.24 m_core_id_master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.6.4.25 m_l1_mshr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Generated by Doxygen
CONTENTS ix
6.6.4.26 m_last_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Generated by Doxygen
x CONTENTS
Generated by Doxygen
CONTENTS xi
Generated by Doxygen
xii CONTENTS
Generated by Doxygen
CONTENTS xiii
Generated by Doxygen
xiv CONTENTS
Generated by Doxygen
CONTENTS xv
Generated by Doxygen
xvi CONTENTS
Generated by Doxygen
CONTENTS xvii
6.21.3.1 b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Generated by Doxygen
xviii CONTENTS
Generated by Doxygen
CONTENTS xix
Generated by Doxygen
xx CONTENTS
Generated by Doxygen
CONTENTS xxi
Generated by Doxygen
xxii CONTENTS
Generated by Doxygen
CONTENTS xxiii
Generated by Doxygen
xxiv CONTENTS
Generated by Doxygen
CONTENTS xxv
Generated by Doxygen
xxvi CONTENTS
Generated by Doxygen
Chapter 1
Namespace Index
ParametricDramDirectoryMSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Namespace Index
Generated by Doxygen
Chapter 2
Hierarchical Index
ATD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
CacheBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
CacheBlockInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
PrL1CacheBlockInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
PrL2CacheBlockInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
SharedCacheBlockInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
CacheCntlr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
ParametricDramDirectoryMSI::CacheCntlr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
ParametricDramDirectoryMSI::CacheDirectoryWaiter . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
ParametricDramDirectoryMSI::CacheMasterCntlr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
ParametricDramDirectoryMSI::CacheParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
CacheSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
CacheSetEWLRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
CacheSetEWSRRIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
CacheSetLRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
CacheSetMRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
CacheSetMRUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
CacheSetNMRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
CacheSetNRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
CacheSetPLRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
CacheSetRandom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
CacheSetRoundRobin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
CacheSetSRRIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
CacheSetInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
CacheSetInfoLRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
CacheState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
CacheSetEWLRU::ew_array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
GhbPrefetcher::GHBEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
MemoryManagerBase
ParametricDramDirectoryMSI::MemoryManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
ParametricDramDirectoryMSI::MshrEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
NucaCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
ParametricDramDirectoryMSI::Prefetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
4 Hierarchical Index
Prefetcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
GhbPrefetcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
SimplePrefetcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
ReqQueueListTemplate< T_Req > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
ReqQueueListTemplate< CacheDirectoryWaiter > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
GhbPrefetcher::TableEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
ParametricDramDirectoryMSI::TLB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
ParametricDramDirectoryMSI::Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
vector
ParametricDramDirectoryMSI::CacheCntlrList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Generated by Doxygen
Chapter 3
Class Index
Here are the classes, structs, unions and interfaces with brief descriptions:
ATD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
CacheBase
Cache_Base class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
CacheBlockInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
CacheCntlr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
ParametricDramDirectoryMSI::CacheCntlr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
ParametricDramDirectoryMSI::CacheCntlrList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
ParametricDramDirectoryMSI::CacheDirectoryWaiter . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
ParametricDramDirectoryMSI::CacheMasterCntlr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
ParametricDramDirectoryMSI::CacheParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
CacheSet
Cache_Set class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
CacheSetEWLRU
EW-LRU: Evict Write strategy for Least Recently Used cache replacement policy . . . . . . . 132
CacheSetEWSRRIP
EW-S-RRIP: Evict Write strategy for Static Re-reference Interval Prediction cache replacement
policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
CacheSetInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
CacheSetInfoLRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
CacheSetLRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
CacheSetMRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
CacheSetMRUT
MRU-T: Most Recently Used - Tour cache replacement policy . . . . . . . . . . . . . . . . . . 163
CacheSetNMRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
CacheSetNRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
CacheSetPLRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
CacheSetRandom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
CacheSetRoundRobin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
CacheSetSRRIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
CacheState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
CacheSetEWLRU::ew_array
A public struct variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
GhbPrefetcher::GHBEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
GhbPrefetcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6 Class Index
ParametricDramDirectoryMSI::MemoryManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
ParametricDramDirectoryMSI::MshrEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
NucaCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
ParametricDramDirectoryMSI::Prefetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Prefetcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
PrL1CacheBlockInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
PrL2CacheBlockInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
ReqQueueListTemplate< T_Req > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
SharedCacheBlockInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
SimplePrefetcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
GhbPrefetcher::TableEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
ParametricDramDirectoryMSI::TLB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
ParametricDramDirectoryMSI::Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Generated by Doxygen
Chapter 4
File Index
cache.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
cache.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
cache_atd.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
cache_atd.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
cache_base.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
cache_base.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
cache_block_info.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
cache_block_info.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
cache_cntlr.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
cache_cntlr.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
cache_set.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
cache_set.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
cache_set_ew_lru.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
cache_set_ew_lru.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
cache_set_ew_srrip.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
cache_set_ew_srrip.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
cache_set_lru.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
cache_set_lru.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
cache_set_mru.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
cache_set_mru.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
cache_set_mrut.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
cache_set_mrut.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
cache_set_nmru.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
cache_set_nmru.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
cache_set_nru.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
cache_set_nru.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
cache_set_plru.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
cache_set_plru.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
cache_set_random.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
cache_set_random.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
cache_set_round_robin.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
cache_set_round_robin.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cache_set_srrip.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
cache_set_srrip.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
cache_state.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
8 File Index
ghb_prefetcher.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
ghb_prefetcher.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
memory_manager.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
memory_manager.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
nuca_cache.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
nuca_cache.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
pr_l1_cache_block_info.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
pr_l2_cache_block_info.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
pr_l2_cache_block_info.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
prefetcher.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
prefetcher.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
req_queue_list_template.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
shared_cache_block_info.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
shared_cache_block_info.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
simple_prefetcher.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
simple_prefetcher.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
tlb.cc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
tlb.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Generated by Doxygen
Chapter 5
Namespace Documentation
Classes
class CacheCntlr
class CacheCntlrList
class CacheDirectoryWaiter
class CacheMasterCntlr
class CacheParameters
class MemoryManager
struct MshrEntry
class Prefetch
class TLB
class Transition
Typedefs
Functions
Cache_cntlr class is the main class for all cache information and operations
10 Namespace Documentation
5.1.2.1 CacheCntlrMap
5.1.2.2 CacheDirectoryWaiterMap
5.1.2.3 CoreComponentType
5.1.2.4 Mshr
5.1.3.1 CStateString()
char ParametricDramDirectoryMSI::CStateString (
CacheState::cstate_t cstate )
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::CacheCntlr ::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processFlushReqFrom ::CacheCntlr::handleMsgFromDram
::CacheCntlr::updateCacheBlock DramDirectory Directory
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ::MemoryManager::handleMsgFromNetwork
::CacheCntlr::notifyPrevLevelEvict ::CacheCntlr::invalidateCacheBlock ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
::CacheCntlr::insertCacheBlock Access
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::operationPermissibleinCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher ::CacheCntlr::doPrefetch
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
Generated by Doxygen
5.1 ParametricDramDirectoryMSI Namespace Reference 11
5.1.3.2 make_mshr()
MshrEntry ParametricDramDirectoryMSI::make_mshr (
SubsecondTime t_issue,
SubsecondTime t_complete )
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ::MemoryManager::coreInitiateMemory
PrevCache ::CacheCntlr::Prefetch ::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI Access
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::make_mshr ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
Directory
5.1.3.3 ReasonString()
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::ReasonString ::CacheCntlr::CacheCntlr
Generated by Doxygen
12 Namespace Documentation
Generated by Doxygen
Chapter 6
Class Documentation
#include <cache_atd.h>
14 Class Documentation
CacheBase
# m_name
# m_cache_size
# m_associativity
# m_blocksize
# m_hash
# m_num_sets
CacheSetInfo # m_ahl
# m_log_blocksize
+ CacheBase()
+ ~CacheSetInfo()
+ ~CacheBase()
+ splitAddress()
+ splitAddress()
+ tagToAddress()
+ getName()
+ getNumSets()
+ getAssociativity()
+ parseAddressHash()
-m_set_info -m_cache_base
ATD
- m_sets
- loads
- stores
- load_misses
- store_misses
- loads_constructive
- stores_constructive
- loads_destructive
- stores_destructive
+ ATD()
+ ~ATD()
+ access()
- isSampledSet()
Generated by Doxygen
6.1 ATD Class Reference 15
Private Attributes
CacheBase m_cache_base
std::unordered_map< UInt32, CacheSet > m_sets
CacheSetInfo m_set_info
UInt64 loads
UInt64 stores
UInt64 load_misses
UInt64 store_misses
UInt64 loads_constructive
UInt64 stores_constructive
UInt64 loads_destructive
UInt64 stores_destructive
6.1.1.1 ATD()
ATD::ATD (
String name,
String configName,
core_id_t core_id,
UInt32 num_sets,
UInt32 associativity,
UInt32 cache_block_size,
String replacement_policy,
CacheBase::hash_t hash_function )
CacheSet::createCacheSetInfo CacheSet::parsePolicyType
ATD::ATD
CacheSet::createCacheSet CacheSet::getNumQBSAttempts
6.1.1.2 ATD()
ATD::ATD ( )
Generated by Doxygen
16 Class Documentation
6.1.2.1 access()
void ATD::access (
Core::mem_op_t mem_op_type,
bool hit,
IntPtr address )
CacheBase::splitAddress
ATD::access
ATD::isSampledSet
6.1.2.2 isSampledSet()
bool ATD::isSampledSet (
UInt32 set_index ) [private]
ATD::isSampledSet ATD::access
6.1.3.1 load_misses
Generated by Doxygen
6.1 ATD Class Reference 17
6.1.3.2 loads
6.1.3.3 loads_constructive
6.1.3.4 loads_destructive
6.1.3.5 m_cache_base
6.1.3.6 m_set_info
6.1.3.7 m_sets
6.1.3.8 store_misses
6.1.3.9 stores
Generated by Doxygen
18 Class Documentation
6.1.3.10 stores_constructive
6.1.3.11 stores_destructive
The documentation for this class was generated from the following files:
cache_atd.h
cache_atd.cc
#include <cache.h>
Generated by Doxygen
6.2 Cache Class Reference 19
CacheBase
# m_name
# m_cache_size
# m_associativity
# m_blocksize
# m_hash
# m_num_sets
# m_ahl
# m_log_blocksize
+ CacheBase()
+ ~CacheBase()
+ splitAddress()
+ splitAddress()
+ tagToAddress()
+ getName()
+ getNumSets()
+ getAssociativity()
+ parseAddressHash()
Cache
- m_enabled
- m_num_accesses
- m_num_hits
- m_cache_type
- m_sets
- m_set_info
- m_fault_injector
+ Cache()
+ ~Cache()
+ getSetLock()
+ invalidateSingleLine()
+ accessSingleLine()
+ insertSingleLine()
+ peekSingleLine()
+ peekBlock()
+ updateCounters()
+ updateHits()
+ enable()
+ disable()
Generated by Doxygen
20 Class Documentation
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
CacheBase # m_associativity
# m_blocksize
# m_name
# m_lock
# m_cache_size
# m_associativity + CacheSet()
# m_blocksize + ~CacheSet()
# m_hash + getBlockSize()
# m_num_sets + getAssociativity()
# m_ahl CacheSetInfo
+ getLock()
# m_log_blocksize + read_line()
+ write_line()
+ CacheBase()
+ ~CacheSetInfo() + find()
+ ~CacheBase()
+ invalidate()
+ splitAddress()
+ insert()
+ splitAddress()
+ peekBlock()
+ tagToAddress()
+ getDataPtr()
+ getName()
+ getBlockSize()
+ getNumSets()
+ getReplacementIndex()
+ getAssociativity()
+ updateReplacementIndex()
+ parseAddressHash()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
-m_set_info -m_sets
Cache
- m_enabled
- m_num_accesses
- m_num_hits
- m_cache_type
- m_fault_injector
+ Cache()
+ ~Cache()
+ getSetLock()
+ invalidateSingleLine()
+ accessSingleLine()
+ insertSingleLine()
+ peekSingleLine()
+ peekBlock()
+ updateCounters()
+ updateHits()
+ enable()
+ disable()
Cache (String name, String cfgname, core_id_t core_id, UInt32 num_sets, UInt32 associativity, UInt32
cache_block_size, String replacement_policy, cache_t cache_type, hash_t hash=CacheBase::HASH_MASK,
FaultInjector fault_injector=NULL, AddressHomeLookup ahl=NULL)
A test class.
Cache ()
Generated by Doxygen
6.2 Cache Class Reference 21
Private Attributes
bool m_enabled
UInt64 m_num_accesses
UInt64 m_num_hits
cache_t m_cache_type
CacheSet m_sets
CacheSetInfo m_set_info
FaultInjector m_fault_injector
6.2.1.1 Cache()
Cache::Cache (
String name,
String cfgname,
core_id_t core_id,
UInt32 num_sets,
UInt32 associativity,
UInt32 cache_block_size,
String replacement_policy,
cache_t cache_type,
hash_t hash = CacheBase::HASH_MASK,
FaultInjector fault_injector = NULL,
AddressHomeLookup ahl = NULL )
A test class.
A more elaborate class description. Here is the call graph for this function:
CacheSet::createCacheSetInfo CacheSet::parsePolicyType
Cache::Cache
CacheSet::createCacheSet CacheSet::getNumQBSAttempts
Generated by Doxygen
22 Class Documentation
6.2.1.2 Cache()
Cache::Cache ( )
6.2.2.1 accessSingleLine()
CacheBlockInfo Cache::accessSingleLine (
IntPtr addr,
access_t access_type,
Byte buff,
UInt32 bytes,
SubsecondTime now,
bool update_replacement )
Cache::accessSingleLine CacheBase::splitAddress
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::TLB::lookup ::MemoryManager::accessTLB
ParametricDramDirectoryMSI
::CacheCntlr::accessCache
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel Access
NucaCache::read
NucaCache::write ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::handleMsgFromNetwork
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom ::CacheCntlr::handleMsgFromDram
::CacheCntlr::updateCacheBlock
DramDirectory Directory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
Generated by Doxygen
6.2 Cache Class Reference 23
6.2.2.2 disable()
ParametricDramDirectoryMSI
Cache::disable
::CacheCntlr::disable
6.2.2.3 enable()
ParametricDramDirectoryMSI
Cache::enable
::CacheCntlr::enable
6.2.2.4 getSetLock()
CacheBase::splitAddress
Cache::getSetLock
CacheSet::getLock
Generated by Doxygen
24 Class Documentation
6.2.2.5 insertSingleLine()
void Cache::insertSingleLine (
IntPtr addr,
Byte fill_buff,
bool eviction,
IntPtr evict_addr,
CacheBlockInfo evict_block_info,
Byte evict_buff,
SubsecondTime now,
CacheCntlr cntlr = NULL )
CacheBase::splitAddress
CacheBlockInfo::create
CacheSet::getReplacement
CacheBlockInfo::setTag Index
CacheBlockInfo::getTag
CacheBase::tagToAddress
CacheSet::find
ParametricDramDirectoryMSI
::TLB::lookup ParametricDramDirectoryMSI
::MemoryManager::accessTLB
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShRepFromDram
::TLB::allocate Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
Cache::insertSingleLine
::CacheCntlr::insertCacheBlock Access
NucaCache::write
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
6.2.2.6 invalidateSingleLine()
bool Cache::invalidateSingleLine (
IntPtr addr )
Generated by Doxygen
6.2 Cache Class Reference 25
CacheBase::splitAddress
Cache::invalidateSingleLine
CacheSet::invalidate CacheBlockInfo::invalidate
ParametricDramDirectoryMSI
Cache::invalidateSingleLine
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShmemReqFrom
::CacheCntlr::copyDataFromNextLevel PrevCache ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::Prefetch ::CacheCntlr::processMemOpFromCore ::MemoryManager::coreInitiateMemory
Access ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom ::CacheCntlr::handleMsgFromDram ::MemoryManager::handleMsgFromNetwork
DramDirectory Directory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
6.2.2.7 peekBlock()
CacheBlockInfo Cache::peekBlock (
UInt32 set_index,
UInt32 way ) const [inline]
CacheSet::peekBlock
Cache::peekBlock Cache::updateCounters
Cache::updateHits
Generated by Doxygen
26 Class Documentation
ParametricDramDirectoryMSI
Cache::peekBlock
::CacheCntlr::walkUsageBits
6.2.2.8 peekSingleLine()
CacheBlockInfo Cache::peekSingleLine (
IntPtr addr )
CacheBase::splitAddress
Cache::peekSingleLine
CacheSet::find
ParametricDramDirectoryMSI
::CacheCntlr::updateUsageBits
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::operationPermissibleinCache ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::setCacheState ::CacheCntlr::notifyPrevLevelInsert ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch
Cache::peekSingleLine NucaCache::read
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI
PrevCache ::MemoryManager::coreInitiateMemory
NucaCache::write Access
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::processShRepFromDram
ParametricDramDirectoryMSI ParametricDramDirectoryMSI Directory
::CacheCntlr::processUpgradeReq ::CacheCntlr::initiateDirectory
ToDirectory Access
ParametricDramDirectoryMSI
::CacheCntlr::processExReqToDirectory
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom ParametricDramDirectoryMSI
DramDirectory ::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
ParametricDramDirectoryMSI
FromDramDirectory
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
Generated by Doxygen
6.2 Cache Class Reference 27
6.2.2.9 updateCounters()
void Cache::updateCounters (
bool cache_hit )
ParametricDramDirectoryMSI
Cache::peekBlock ::CacheCntlr::walkUsageBits
Cache::updateCounters
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::updateHits ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
PrevCache
6.2.2.10 updateHits()
void Cache::updateHits (
Core::mem_op_t mem_op_type,
UInt64 hits )
ParametricDramDirectoryMSI
Cache::updateHits Cache::peekBlock
::CacheCntlr::walkUsageBits
6.2.3.1 m_cache_type
6.2.3.2 m_enabled
Generated by Doxygen
28 Class Documentation
6.2.3.3 m_fault_injector
6.2.3.4 m_num_accesses
6.2.3.5 m_num_hits
6.2.3.6 m_set_info
6.2.3.7 m_sets
The documentation for this class was generated from the following files:
cache.h
cache.cc
Generated by Doxygen
6.3 CacheBase Class Reference 29
Cache_Base class.
#include <cache_base.h>
CacheBase
# m_name
# m_cache_size
# m_associativity
# m_blocksize
# m_hash
# m_num_sets
# m_ahl
# m_log_blocksize
+ CacheBase()
+ ~CacheBase()
+ splitAddress()
+ splitAddress()
+ tagToAddress()
+ getName()
+ getNumSets()
+ getAssociativity()
+ parseAddressHash()
Cache
- m_enabled
- m_num_accesses
- m_num_hits
- m_cache_type
- m_sets
- m_set_info
- m_fault_injector
+ Cache()
+ ~Cache()
+ getSetLock()
+ invalidateSingleLine()
+ accessSingleLine()
+ insertSingleLine()
+ peekSingleLine()
+ peekBlock()
+ updateCounters()
+ updateHits()
+ enable()
+ disable()
Generated by Doxygen
30 Class Documentation
CacheBase
# m_name
# m_cache_size
# m_associativity
# m_blocksize
# m_hash
# m_num_sets
# m_ahl
# m_log_blocksize
+ CacheBase()
+ ~CacheBase()
+ splitAddress()
+ splitAddress()
+ tagToAddress()
+ getName()
+ getNumSets()
+ getAssociativity()
+ parseAddressHash()
Public Types
enum access_t {
INVALID_ACCESS_TYPE, MIN_ACCESS_TYPE, LOAD = MIN_ACCESS_TYPE, STORE,
MAX_ACCESS_TYPE = STORE, NUM_ACCESS_TYPES = MAX_ACCESS_TYPE - MIN_ACCESS_TYPE
+1}
enum cache_t {
INVALID_CACHE_TYPE, MIN_CACHE_TYPE, PR_L1_CACHE = MIN_CACHE_TYPE, PR_L2_CACHE,
SHARED_CACHE, MAX_CACHE_TYPE = SHARED_CACHE, NUM_CACHE_TYPES = MAX_CACHE_T-
YPE - MIN_CACHE_TYPE + 1 }
enum hash_t {
INVALID_HASH_TYPE, HASH_MASK, HASH_MOD, HASH_RNG1_MOD,
HASH_RNG2_MOD }
enum ReplacementPolicy {
ROUND_ROBIN = 0, LRU, EW_LRU, EW_SRRIP,
MRUT, LRU_QBS, NRU, MRU,
NMRU, PLRU, SRRIP, SRRIP_QBS,
RANDOM, NUM_REPLACEMENT_POLICIES }
An enum.
CacheBase (String name, UInt32 num_sets, UInt32 associativity, UInt32 cache_block_size, CacheBase-
::hash_t hash, AddressHomeLookup ahl=NULL)
virtual CacheBase ()
void splitAddress (const IntPtr addr, IntPtr &tag, UInt32 &set_index) const
Generated by Doxygen
6.3 CacheBase Class Reference 31
void splitAddress (const IntPtr addr, IntPtr &tag, UInt32 &set_index, UInt32 &block_offset) const
IntPtr tagToAddress (const IntPtr tag)
String getName (void)
UInt32 getNumSets () const
UInt32 getAssociativity () const
Protected Attributes
String m_name
UInt64 m_cache_size
UInt32 m_associativity
UInt32 m_blocksize
CacheBase::hash_t m_hash
UInt32 m_num_sets
AddressHomeLookup m_ahl
UInt32 m_log_blocksize
Cache_Base class.
This class is edited in order to add new replacement algorithm files, and then Sniper can recognize them.
6.3.2.1 access_t
enum CacheBase::access_t
Enumerator
INVALID_ACCESS_TYPE
MIN_ACCESS_TYPE
LOAD
STORE
MAX_ACCESS_TYPE
NUM_ACCESS_TYPES
Generated by Doxygen
32 Class Documentation
6.3.2.2 cache_t
enum CacheBase::cache_t
Enumerator
INVALID_CACHE_TYPE
MIN_CACHE_TYPE
PR_L1_CACHE
PR_L2_CACHE
SHARED_CACHE
MAX_CACHE_TYPE
NUM_CACHE_TYPES
6.3.2.3 hash_t
enum CacheBase::hash_t
Enumerator
INVALID_HASH_TYPE
HASH_MASK
HASH_MOD
HASH_RNG1_MOD
HASH_RNG2_MOD
6.3.2.4 ReplacementPolicy
enum CacheBase::ReplacementPolicy
An enum.
this enum variable will be used to get the name of the replacement policy that is chosen in the command line. The
policy name will be used in CacheSet class
Enumerator
ROUND_ROBIN
LRU
EW_LRU
EW_SRRIP
MRUT
LRU_QBS
NRU
MRU
Generated by Doxygen
6.3 CacheBase Class Reference 33
Enumerator
NMRU
PLRU
SRRIP
SRRIP_QBS
RANDOM
NUM_REPLACEMENT_POLICIES
6.3.3.1 CacheBase()
CacheBase::CacheBase (
String name,
UInt32 num_sets,
UInt32 associativity,
UInt32 cache_block_size,
CacheBase::hash_t hash,
AddressHomeLookup ahl = NULL )
6.3.3.2 CacheBase()
CacheBase::CacheBase ( ) [virtual]
6.3.4.1 getAssociativity()
CacheBase::getAssociativity CacheBase::parseAddressHash
Generated by Doxygen
34 Class Documentation
ParametricDramDirectoryMSI
CacheBase::getAssociativity
::CacheCntlr::walkUsageBits
6.3.4.2 getName()
String CacheBase::getName (
void ) [inline]
6.3.4.3 getNumSets()
ParametricDramDirectoryMSI
CacheBase::getNumSets
::CacheCntlr::walkUsageBits
6.3.4.4 parseAddressHash()
CacheBase::hash_t CacheBase::parseAddressHash (
String hash_name ) [static]
Generated by Doxygen
6.3 CacheBase Class Reference 35
ParametricDramDirectoryMSI
CacheBase::getAssociativity
::CacheCntlr::walkUsageBits
ParametricDramDirectoryMSI
CacheBase::parseAddressHash
::CacheCntlr::CacheCntlr
NucaCache::NucaCache
void CacheBase::splitAddress (
const IntPtr addr,
IntPtr & tag,
UInt32 & set_index ) const
ParametricDramDirectoryMSI
::CacheCntlr::updateUsageBits
ParametricDramDirectoryMSI
::CacheCntlr::operationPermissibleinCache
ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
::CacheCntlr::initiateDirectory ParametricDramDirectoryMSI
Access ::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::setCacheState ::CacheCntlr::processUpgradeReq
ToDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processExReqToDirectory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
NucaCache::read
Cache::invalidateSingleLine
Cache::getSetLock
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock ParametricDramDirectoryMSI
::CacheCntlr::accessCache
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
Cache::peekSingleLine ::CacheCntlr::retrieveCacheBlock ::MemoryManager::accessTLB
Access
ParametricDramDirectoryMSI
CacheBase::splitAddress Cache::accessSingleLine ::CacheCntlr::processShRepFromDram
Directory
ATD::access
ParametricDramDirectoryMSI
::TLB::allocate
CacheBase::splitAddress ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom ParametricDramDirectoryMSI
DramDirectory ::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ::CacheCntlr::handleMsgFromDram
::CacheCntlr::updateCacheBlock ::CacheCntlr::processFlushReqFrom Directory
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
void CacheBase::splitAddress (
const IntPtr addr,
IntPtr & tag,
UInt32 & set_index,
UInt32 & block_offset ) const
Generated by Doxygen
36 Class Documentation
CacheBase::splitAddress CacheBase::splitAddress
6.3.4.7 tagToAddress()
IntPtr CacheBase::tagToAddress (
const IntPtr tag )
ParametricDramDirectoryMSI
::TLB::lookup ParametricDramDirectoryMSI
::MemoryManager::accessTLB
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShRepFromDram
::TLB::allocate Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
Cache::insertSingleLine
::CacheCntlr::insertCacheBlock Access
CacheBase::tagToAddress
ParametricDramDirectoryMSI
NucaCache::write
::CacheCntlr::isInLowerLevelCache
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
6.3.5.1 m_ahl
6.3.5.2 m_associativity
6.3.5.3 m_blocksize
Generated by Doxygen
6.3 CacheBase Class Reference 37
6.3.5.4 m_cache_size
6.3.5.5 m_hash
6.3.5.6 m_log_blocksize
6.3.5.7 m_name
6.3.5.8 m_num_sets
The documentation for this class was generated from the following files:
cache_base.h
cache_base.cc
Generated by Doxygen
38 Class Documentation
#include <cache_block_info.h>
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
PrL2CacheBlockInfo
- m_cached_loc_bitvec SharedCacheBlockInfo
PrL1CacheBlockInfo + PrL2CacheBlockInfo()
+ ~PrL2CacheBlockInfo()
+ getCachedLoc() + SharedCacheBlockInfo()
+ PrL1CacheBlockInfo() + setCachedLoc() + ~SharedCacheBlockInfo()
+ ~PrL1CacheBlockInfo() + clearCachedLoc() + invalidate()
+ getCachedLocBitVec() + clone()
+ invalidate()
+ clone()
Generated by Doxygen
6.4 CacheBlockInfo Class Reference 39
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
Public Types
Generated by Doxygen
40 Class Documentation
Private Attributes
IntPtr m_tag
CacheState::cstate_t m_cstate
UInt64 m_owner
BitsUsedType m_used
UInt8 m_options
6.4.1.1 BitsUsedType
6.4.2.1 option_t
enum CacheBlockInfo::option_t
Generated by Doxygen
6.4 CacheBlockInfo Class Reference 41
Enumerator
PREFETCH
WARMUP
NUM_OPTIONS
6.4.3.1 CacheBlockInfo()
CacheBlockInfo::CacheBlockInfo (
IntPtr tag = 0,
CacheState::cstate_t cstate = CacheState::INVALID,
UInt64 options = 0 )
6.4.3.2 CacheBlockInfo()
CacheBlockInfo::CacheBlockInfo ( ) [virtual]
6.4.4.1 clearOption()
void CacheBlockInfo::clearOption (
option_t option ) [inline]
ParametricDramDirectoryMSI
CacheBlockInfo::clearOption ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
Generated by Doxygen
42 Class Documentation
6.4.4.2 clone()
void CacheBlockInfo::clone (
CacheBlockInfo cache_block_info ) [virtual]
CacheBlockInfo::getTag
CacheBlockInfo::clone
CacheBlockInfo::getCState
ParametricDramDirectoryMSI
::TLB::lookup ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::accessTLB
::TLB::allocate ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
CacheSet::insert Cache::insertSingleLine
::CacheCntlr::insertCacheBlock Access
PrL2CacheBlockInfo PrL2CacheBlockInfo
CacheBlockInfo::clone NucaCache::write
::clone ::getCachedLocBitVec
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel
SharedCacheBlockInfo SharedCacheBlockInfo
::clone ::~SharedCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
6.4.4.3 create()
CacheBlockInfo CacheBlockInfo::create (
CacheBase::cache_t cache_type ) [static]
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::TLB::lookup
::MemoryManager::accessTLB
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShRepFromDram
::TLB::allocate Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
Cache::insertSingleLine
::CacheCntlr::insertCacheBlock Access
CacheBlockInfo::create
CacheSet::CacheSet
NucaCache::write
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
Generated by Doxygen
6.4 CacheBlockInfo Class Reference 43
6.4.4.4 getCState()
SharedCacheBlockInfo SharedCacheBlockInfo
::clone ::~SharedCacheBlockInfo
CacheBlockInfo::clone
ParametricDramDirectoryMSI
CacheSet::insert Cache::insertSingleLine ::TLB::allocate ParametricDramDirectoryMSI
::TLB::lookup
ParametricDramDirectoryMSI
::MemoryManager::accessTLB
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShmemReqFrom
::CacheCntlr::initiateDirectory PrevCache
Access ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
CacheBlockInfo::getCState ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore
Access
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::accessCache
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom ::CacheCntlr::handleMsgFromDram
::CacheCntlr::updateCacheBlock
DramDirectory Directory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
6.4.4.5 getOptionName()
ParametricDramDirectoryMSI
CacheBlockInfo::getOptionName CacheBlockInfo::getUsage
::CacheCntlr::walkUsageBits
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI
Access
::CacheCntlr::processShmemReqFrom
PrevCache ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::processExRepFromDram
Directory ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::CacheCntlr::processShRepFromDram ::MemoryManager::handleMsgFromNetwork
Directory
Directory
6.4.4.6 getOwner()
ParametricDramDirectoryMSI
CacheBlockInfo::getOwner
::CacheCntlr::walkUsageBits
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI
Access
::CacheCntlr::processShmemReqFrom
PrevCache ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::processExRepFromDram
Directory ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::CacheCntlr::processShRepFromDram ::MemoryManager::handleMsgFromNetwork
Directory
Directory
Generated by Doxygen
44 Class Documentation
6.4.4.7 getTag()
ParametricDramDirectoryMSI
SharedCacheBlockInfo SharedCacheBlockInfo ::TLB::lookup ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::clone ::~SharedCacheBlockInfo ParametricDramDirectoryMSI
::MemoryManager::accessTLB ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::TLB::allocate ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram ::MemoryManager::coreInitiateMemory
Directory Access
PrL2CacheBlockInfo PrL2CacheBlockInfo
ParametricDramDirectoryMSI
::clone ::getCachedLocBitVec ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
CacheBlockInfo::clone Directory
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
CacheSet::insert
Directory
ParametricDramDirectoryMSI
Cache::insertSingleLine
::CacheCntlr::insertCacheBlock
CacheBlockInfo::getTag
NucaCache::write
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::isInLowerLevelCache ::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
6.4.4.8 getUsage()
CacheBlockInfo::updateUsage
CacheBlockInfo::getUsage
CacheBlockInfo::getOptionName
ParametricDramDirectoryMSI
CacheBlockInfo::getUsage
::CacheCntlr::walkUsageBits
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI
Access
::CacheCntlr::processShmemReqFrom
PrevCache ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::processExRepFromDram
Directory ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::CacheCntlr::processShRepFromDram ::MemoryManager::handleMsgFromNetwork
Directory
Directory
Generated by Doxygen
6.4 CacheBlockInfo Class Reference 45
6.4.4.9 hasOption()
bool CacheBlockInfo::hasOption (
option_t option ) [inline]
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI PrevCache
CacheBlockInfo::hasOption ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
::CacheCntlr::insertCacheBlock ::CacheCntlr::copyDataFromNextLevel
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI Access
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ParametricDramDirectoryMSI
Directory ::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram ::CacheCntlr::handleMsgFromDram
::CacheCntlr::updateCacheBlock
Directory Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::walkUsageBits
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
6.4.4.10 invalidate()
void CacheBlockInfo::invalidate (
void ) [virtual]
ParametricDramDirectoryMSI
CacheSet::invalidate Cache::invalidateSingleLine
::CacheCntlr::invalidateCacheBlock
CacheBlockInfo::invalidate
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
SharedCacheBlockInfo ::CacheCntlr::processMemOpFromCore ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ::MemoryManager::coreInitiateMemory
::invalidate ParametricDramDirectoryMSI
PrevCache Access
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
SharedCacheBlockInfo ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::~SharedCacheBlockInfo ::CacheCntlr::copyDataFromNextLevel ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
PrL2CacheBlockInfo
::invalidate
PrL2CacheBlockInfo ParametricDramDirectoryMSI
::getCachedLocBitVec ::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock ::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep ::CacheCntlr::handleMsgFromDram
FromDramDirectory Directory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
6.4.4.11 isValid()
ParametricDramDirectoryMSI
CacheBlockInfo::isValid
::CacheCntlr::walkUsageBits
Generated by Doxygen
46 Class Documentation
6.4.4.12 setCState()
void CacheBlockInfo::setCState (
CacheState::cstate_t cstate ) [inline]
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI ::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ::CacheCntlr::initiateDirectory PrevCache ParametricDramDirectoryMSI
CacheBlockInfo::setCState ::CacheCntlr::processMemOpFromCore
::CacheCntlr::setCacheState ::CacheCntlr::insertCacheBlock Access ::MemoryManager::coreInitiateMemory
Access
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
ParametricDramDirectoryMSI Directory
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
6.4.4.13 setOption()
void CacheBlockInfo::setOption (
option_t option ) [inline]
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram ::MemoryManager::handleMsgFromNetwork
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
CacheBlockInfo::setOption
::CacheCntlr::insertCacheBlock ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI Access
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel
6.4.4.14 setOwner()
void CacheBlockInfo::setOwner (
UInt64 owner ) [inline]
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
CacheBlockInfo::setOwner ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::CacheCntlr::processShmemReqFrom ::MemoryManager::coreInitiateMemory
PrevCache Access
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::CacheCntlr::Prefetch ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
ParametricDramDirectoryMSI ::MemoryManager::handleMsgFromNetwork
Directory
::CacheCntlr::processShRepFromDram
Directory
Generated by Doxygen
6.4 CacheBlockInfo Class Reference 47
6.4.4.15 setTag()
void CacheBlockInfo::setTag (
IntPtr tag ) [inline]
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::TLB::lookup
::MemoryManager::accessTLB
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShRepFromDram
::TLB::allocate Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
CacheBlockInfo::setTag Cache::insertSingleLine
::CacheCntlr::insertCacheBlock Access
NucaCache::write
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
bool CacheBlockInfo::updateUsage (
UInt32 offset,
UInt32 size )
ParametricDramDirectoryMSI
CacheBlockInfo::updateUsage
::CacheCntlr::updateUsageBits
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
Access
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
CacheBlockInfo::getUsage ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
::CacheCntlr::walkUsageBits
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram ::CacheCntlr::handleMsgFromDram
Directory Directory
ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork
bool CacheBlockInfo::updateUsage (
BitsUsedType used )
6.4.5.1 BitsUsedOffset
Generated by Doxygen
48 Class Documentation
6.4.5.2 m_cstate
6.4.5.3 m_options
6.4.5.4 m_owner
6.4.5.5 m_tag
6.4.5.6 m_used
6.4.5.7 option_names
Initial value:
=
{
"prefetch",
"warmup",
}
The documentation for this class was generated from the following files:
cache_block_info.h
cache_block_info.cc
Generated by Doxygen
6.5 CacheCntlr Class Reference 49
#include <cache_block_info.h>
CacheCntlr
+ isInLowerLevelCache()
+ incrementQBSLookupCost()
ParametricDramDirectoryMSI
::CacheCntlr
+ loads
+ stores
+ load_misses
+ store_misses
+ load_overlapping_misses
+ store_overlapping_misses
+ loads_state
+ stores_state
+ loads_where
+ stores_where
+ load_misses_state
+ store_misses_state
+ loads_prefetch
+ stores_prefetch
+ hits_prefetch
+ evict_prefetch
+ invalidate_prefetch
+ evict
and 13 more...
- m_mem_component
- m_memory_manager
- m_master
- m_next_cache_cntlr
- m_last_level
- m_tag_directory_home
_lookup
- m_shmem_req_source_map
- m_perfect
- m_passthrough
- m_coherent
- m_prefetch_on_prefetch_hit
- m_l1_mshr
- stats
- m_core_id
- m_cache_block_size
- m_cache_writethrough
- m_writeback_time
- m_next_level_read_bandwidth
and 10 more...
+ CacheCntlr()
+ ~CacheCntlr()
+ getCache()
+ getLock()
+ setPrevCacheCntlrs()
+ setNextCacheCntlr()
+ createSetLocks()
+ setDRAMDirectAccess()
+ processMemOpFromCore()
+ updateHits()
+ notifyPrevLevelInsert()
+ notifyPrevLevelEvict()
+ handleMsgFromDramDirectory()
+ acquireLock()
+ releaseLock()
+ acquireStackLock()
+ releaseStackLock()
+ isMasterCache()
+ isFirstLevel()
+ isLastLevel()
+ isShared()
+ isInLowerLevelCache()
+ incrementQBSLookupCost()
+ enable()
+ disable()
- updateCounters()
- cleanupMshr()
- transition()
- updateUncoreStatistics()
- accessCache()
- operationPermissibleinCache()
- copyDataFromNextLevel()
- trainPrefetcher()
- Prefetch()
- doPrefetch()
- getCacheBlockInfo()
- getCacheState()
- getCacheState()
- setCacheState()
- invalidateCacheBlock()
- retrieveCacheBlock()
- insertCacheBlock()
- updateCacheBlock()
and 26 more...
- __walkUsageBits()
Generated by Doxygen
50 Class Documentation
CacheCntlr
+ isInLowerLevelCache()
+ incrementQBSLookupCost()
6.5.1.1 incrementQBSLookupCost()
Reimplemented in ParametricDramDirectoryMSI::CacheCntlr.
CacheSetLRU::getReplacement
Index
CacheCntlr::incrementQBSLookupCost
CacheSetSRRIP::getReplacement
Index
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 51
6.5.1.2 isInLowerLevelCache()
Reimplemented in ParametricDramDirectoryMSI::CacheCntlr.
CacheSetLRU::getReplacement
Index
CacheCntlr::isInLowerLevel
Cache
CacheSetSRRIP::getReplacement
Index
The documentation for this class was generated from the following file:
cache_block_info.h
#include <cache_cntlr.h>
Generated by Doxygen
52 Class Documentation
CacheCntlr
+ isInLowerLevelCache()
+ incrementQBSLookupCost()
ParametricDramDirectoryMSI
::CacheCntlr
+ loads
+ stores
+ load_misses
+ store_misses
+ load_overlapping_misses
+ store_overlapping_misses
+ loads_state
+ stores_state
+ loads_where
+ stores_where
+ load_misses_state
+ store_misses_state
+ loads_prefetch
+ stores_prefetch
+ hits_prefetch
+ evict_prefetch
+ invalidate_prefetch
+ evict
and 13 more...
- m_mem_component
- m_memory_manager
- m_master
- m_next_cache_cntlr
- m_last_level
- m_tag_directory_home
_lookup
- m_shmem_req_source_map
- m_perfect
- m_passthrough
- m_coherent
- m_prefetch_on_prefetch_hit
- m_l1_mshr
- stats
- m_core_id
- m_cache_block_size
- m_cache_writethrough
- m_writeback_time
- m_next_level_read_bandwidth
and 10 more...
+ CacheCntlr()
+ ~CacheCntlr()
+ getCache()
+ getLock()
+ setPrevCacheCntlrs()
+ setNextCacheCntlr()
+ createSetLocks()
+ setDRAMDirectAccess()
+ processMemOpFromCore()
+ updateHits()
+ notifyPrevLevelInsert()
+ notifyPrevLevelEvict()
+ handleMsgFromDramDirectory()
+ acquireLock()
+ releaseLock()
+ acquireStackLock()
+ releaseStackLock()
+ isMasterCache()
+ isFirstLevel()
+ isLastLevel()
+ isShared()
+ isInLowerLevelCache()
+ incrementQBSLookupCost()
+ enable()
+ disable()
- updateCounters()
- cleanupMshr()
- transition()
- updateUncoreStatistics()
- accessCache()
- operationPermissibleinCache()
- copyDataFromNextLevel()
- trainPrefetcher()
- Prefetch()
- doPrefetch()
- getCacheBlockInfo()
- getCacheState()
- getCacheState()
- setCacheState()
- invalidateCacheBlock()
- retrieveCacheBlock()
- insertCacheBlock()
- updateCacheBlock()
and 26 more...
- __walkUsageBits()
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 53
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity CacheBase
# m_blocksize
# m_name
# m_lock
# m_cache_size
+ CacheSet() # m_associativity ReqQueueListTemplate
+ ~CacheSet() # m_blocksize < T_Req >
+ getBlockSize() # m_hash
- m_req_queue_list
+ getAssociativity() # m_num_sets
+ getLock() # m_ahl CacheSetInfo std::vector< CacheCntlr * > + ReqQueueListTemplate()
+ read_line() # m_log_blocksize + ~ReqQueueListTemplate()
+ write_line() + enqueue()
+ CacheBase()
+ find() + ~CacheSetInfo() + dequeue()
+ ~CacheBase()
+ invalidate() + front()
+ splitAddress()
+ insert() + back()
+ splitAddress()
+ peekBlock() + size()
+ tagToAddress()
+ getDataPtr() + empty()
+ getName()
+ getBlockSize()
+ getNumSets()
+ getReplacementIndex()
+ getAssociativity()
+ updateReplacementIndex()
+ parseAddressHash()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
Cache
- m_enabled
- m_num_accesses
- m_num_hits ReqQueueListTemplate
- m_cache_type < CacheDirectoryWaiter >
- m_fault_injector
- m_req_queue_list
+ Cache() ParametricDramDirectoryMSI Prefetcher
::CacheCntlrList + ReqQueueListTemplate()
+ ~Cache()
+ ~ReqQueueListTemplate()
+ getSetLock()
+ enqueue()
+ invalidateSingleLine() + getNextAddress()
+ dequeue()
+ accessSingleLine() + createPrefetcher()
+ front()
+ insertSingleLine()
+ back()
+ peekSingleLine()
+ size()
+ peekBlock()
+ empty()
+ updateCounters()
+ updateHits()
+ enable()
+ disable()
ParametricDramDirectoryMSI
::CacheMasterCntlr
- m_cache_lock
- m_smt_lock
- m_dram_cntlr
- m_dram_outstanding
_writebacks
- mshr
- m_l1_mshr
CacheCntlr - m_next_level_read_bandwidth
- m_evicting_address
- m_evicting_buf
- m_atds
+ isInLowerLevelCache() - m_setlocks
+ incrementQBSLookupCost() - m_log_blocksize
- m_num_sets
- m_prefetch_list
- m_prefetch_next
- createSetLocks()
- getSetLock()
- createATDs()
- accessATDs()
- CacheMasterCntlr()
- ~CacheMasterCntlr()
NucaCache
- m_core_id
- m_memory_manager
ParametricDramDirectoryMSI::TLB - m_shmem_perf_model
- m_home_lookup
- m_size - m_cache_block_size
- m_associativity - m_data_access_time
- m_access - m_tags_access_time
- m_miss - m_data_array_bandwidth
- SIM_PAGE_SHIFT -m_next_level - m_queue_model -m_master
- SIM_PAGE_SIZE - m_reads
- SIM_PAGE_MASK - m_writes
- m_read_misses
+ TLB() - m_write_misses
+ lookup()
+ allocate() + NucaCache()
+ ~NucaCache()
+ read()
+ write()
- accessDataArray()
ParametricDramDirectoryMSI
::CacheCntlr
+ loads
+ stores
+ load_misses
+ store_misses
+ load_overlapping_misses
+ store_overlapping_misses
+ loads_state
+ stores_state
+ loads_where
+ stores_where
+ load_misses_state
+ store_misses_state
+ loads_prefetch
+ stores_prefetch
+ hits_prefetch
+ evict_prefetch
+ invalidate_prefetch
+ evict
and 13 more...
- m_mem_component
- m_tag_directory_home
_lookup
- m_shmem_req_source_map
- m_perfect
- m_passthrough
- m_coherent
- m_prefetch_on_prefetch_hit
- m_l1_mshr
- stats
- m_core_id
- m_cache_block_size
- m_cache_writethrough
- m_writeback_time
- m_next_level_read_bandwidth
- m_shared_cores
- m_core_id_master
- m_user_thread_sem
- m_network_thread_sem
- m_last_remote_hit_where
- m_shmem_perf
- m_shmem_perf_global
MemoryManagerBase - m_shmem_perf_totaltime
-m_itlb - m_shmem_perf_numrequests
-m_next_cache_cntlr
-m_dtlb -m_nuca_cache - m_shmem_perf_model
-m_last_level
-m_stlb
+ CacheCntlr()
+ ~CacheCntlr()
+ getCache()
+ getLock()
+ setPrevCacheCntlrs()
+ setNextCacheCntlr()
+ createSetLocks()
+ setDRAMDirectAccess()
+ processMemOpFromCore()
+ updateHits()
+ notifyPrevLevelInsert()
+ notifyPrevLevelEvict()
+ handleMsgFromDramDirectory()
+ acquireLock()
+ releaseLock()
+ acquireStackLock()
+ releaseStackLock()
+ isMasterCache()
+ isFirstLevel()
+ isLastLevel()
+ isShared()
+ isInLowerLevelCache()
+ incrementQBSLookupCost()
+ enable()
+ disable()
- updateCounters()
- cleanupMshr()
- transition()
- updateUncoreStatistics()
- accessCache()
- operationPermissibleinCache()
- copyDataFromNextLevel()
- trainPrefetcher()
- Prefetch()
- doPrefetch()
- getCacheBlockInfo()
- getCacheState()
- getCacheState()
- setCacheState()
- invalidateCacheBlock()
- retrieveCacheBlock()
- insertCacheBlock()
- updateCacheBlock()
and 26 more...
- __walkUsageBits()
-m_memory_manager -m_cache_cntlrs
ParametricDramDirectoryMSI
::MemoryManager
- m_dram_cache
- m_dram_directory_cntlr
- m_dram_cntlr
- m_tag_directory_home
_lookup
- m_dram_controller_home
_lookup
- m_tlb_miss_penalty
- m_tlb_miss_parallel
- m_core_id_master
- m_tag_directory_present
- m_dram_cntlr_present
- m_user_thread_sem
- m_network_thread_sem
- m_cache_block_size
- m_last_level_cache
- m_enabled
- m_cache_perf_models
- m_all_cache_cntlrs
+ MemoryManager()
+ ~MemoryManager()
+ getCacheBlockSize()
+ getCache()
+ getL1ICache()
+ getL1DCache()
+ getLastLevelCache()
+ getDramDirectoryCache()
+ getDramCntlr()
+ getTagDirectoryHomeLookup()
+ getDramControllerHomeLookup()
+ getCacheCntlrAt()
+ setCacheCntlrAt()
+ coreInitiateMemoryAccess()
+ handleMsgFromNetwork()
+ sendMsg()
+ broadcastMsg()
+ getL1HitLatency()
+ addL1Hits()
+ enableModels()
+ disableModels()
+ getShmemRequester()
+ getModeledLength()
+ getCost()
+ incrElapsedTime()
+ incrElapsedTime()
- accessTLB()
Generated by Doxygen
54 Class Documentation
Cache getCache ()
Lock & getLock ()
void setPrevCacheCntlrs (CacheCntlrList &prev_cache_cntlrs)
void setNextCacheCntlr (CacheCntlr next_cache_cntlr)
void createSetLocks (UInt32 cache_block_size, UInt32 num_sets, UInt32 core_offset, UInt32 num_cores)
void setDRAMDirectAccess (DramCntlrInterface dram_cntlr, UInt64 num_outstanding)
HitWhere::where_t processMemOpFromCore (Core::lock_signal_t lock_signal, Core::mem_op_t mem_op-
_type, IntPtr ca_address, UInt32 offset, Byte data_buf, UInt32 data_length, bool modeled, bool count)
void updateHits (Core::mem_op_t mem_op_type, UInt64 hits)
void notifyPrevLevelInsert (core_id_t core_id, MemComponent::component_t mem_component, IntPtr ad-
dress)
void notifyPrevLevelEvict (core_id_t core_id, MemComponent::component_t mem_component, IntPtr ad-
dress)
void handleMsgFromDramDirectory (core_id_t sender, PrL1PrL2DramDirectoryMSI::ShmemMsg shmem-
_msg)
void acquireLock (UInt64 address)
void releaseLock (UInt64 address)
void acquireStackLock (UInt64 address, bool this_is_locked=false)
void releaseStackLock (UInt64 address, bool this_is_locked=false)
bool isMasterCache (void)
bool isFirstLevel (void)
bool isLastLevel (void)
bool isShared (core_id_t core_id)
bool isInLowerLevelCache (CacheBlockInfo block_info)
void incrementQBSLookupCost ()
void enable ()
void disable ()
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 55
Private Attributes
MemComponent::component_t m_mem_component
MemoryManager m_memory_manager
CacheMasterCntlr m_master
CacheCntlr m_next_cache_cntlr
CacheCntlr m_last_level
AddressHomeLookup m_tag_directory_home_lookup
Generated by Doxygen
56 Class Documentation
core_id_t m_core_id
UInt32 m_cache_block_size
bool m_cache_writethrough
ComponentLatency m_writeback_time
ComponentBandwidthPerCycle m_next_level_read_bandwidth
UInt32 m_shared_cores
core_id_t m_core_id_master
Semaphore m_user_thread_sem
Semaphore m_network_thread_sem
volatile HitWhere::where_t m_last_remote_hit_where
ShmemPerf m_shmem_perf
ShmemPerf m_shmem_perf_global
SubsecondTime m_shmem_perf_totaltime
UInt64 m_shmem_perf_numrequests
ShmemPerfModel m_shmem_perf_model
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 57
Friends
class CacheCntlrList
class MemoryManager
6.6.1.1 CacheCntlr()
CacheCntlr::CacheCntlr (
MemComponent::component_t mem_component,
String name,
core_id_t core_id,
MemoryManager memory_manager,
AddressHomeLookup tag_directory_home_lookup,
Semaphore user_thread_sem,
Semaphore network_thread_sem,
UInt32 cache_block_size,
CacheParameters & cache_params,
ShmemPerfModel shmem_perf_model,
bool is_last_level_cache )
Generated by Doxygen
58 Class Documentation
ParametricDramDirectoryMSI
::CacheCntlr::isMasterCache
CacheBase::parseAddressHash
Prefetcher::createPrefetcher
ParametricDramDirectoryMSI
::CacheMasterCntlr::createATDs
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::CacheCntlr ::CacheCntlr::__walkUsageBits
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::getCacheCntlrAt
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI
::ReasonString
6.6.1.2 CacheCntlr()
CacheCntlr::CacheCntlr ( ) [virtual]
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::~CacheCntlr ::CacheCntlr::isMasterCache
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 59
6.6.2.1 __walkUsageBits()
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::__walkUsageBits ::CacheCntlr::CacheCntlr
6.6.2.2 accessCache()
void CacheCntlr::accessCache (
Core::mem_op_t mem_op_type,
IntPtr ca_address,
UInt32 offset,
Byte data_buf,
UInt32 data_length,
bool update_replacement ) [private]
Cache::accessSingleLine CacheBase::splitAddress
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::accessCache ::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::acquireStackLock ::CacheMasterCntlr::getSetLock
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
CacheBlockInfo::getCState
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::accessCache ::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
Generated by Doxygen
60 Class Documentation
6.6.2.3 accessDRAM()
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI
::CacheCntlr::accessDRAM
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::CacheCntlr::handleMsgFromDram ParametricDramDirectoryMSI
Directory Directory ::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
::CacheCntlr::insertCacheBlock Access
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::accessDRAM
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
PrevCache
6.6.2.4 acquireLock()
void CacheCntlr::acquireLock (
UInt64 address )
ParametricDramDirectoryMSI
::CacheCntlr::isFirstLevel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
::CacheMasterCntlr::getSetLock
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 61
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::acquireLock ::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
6.6.2.5 acquireStackLock()
void CacheCntlr::acquireStackLock (
UInt64 address,
bool this_is_locked = false )
ParametricDramDirectoryMSI
::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock
ParametricDramDirectoryMSI
::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::accessCache ::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI Access
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram ::MemoryManager::handleMsgFromNetwork
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::CacheCntlr::updateCacheBlock
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
6.6.2.6 cleanupMshr()
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::updateHits
::CacheCntlr::updateCounters ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
Access
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::cleanupMshr ::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
PrevCache ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
Directory
Generated by Doxygen
62 Class Documentation
6.6.2.7 copyDataFromNextLevel()
void CacheCntlr::copyDataFromNextLevel (
Core::mem_op_t mem_op_type,
IntPtr address,
bool modeled,
SubsecondTime t_start ) [private]
Cache::invalidateSingleLine CacheSet::invalidate
ParametricDramDirectoryMSI CacheState::writable
::CacheCntlr::operationPermissibleinCache
CacheState::readable
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CStateString ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
CacheBase::splitAddress
Cache::accessSingleLine
Cache::peekSingleLine CacheSet::find
ParametricDramDirectoryMSI
::CacheCntlr::transition CacheBase::tagToAddress
CacheBlockInfo::hasOption CacheBlockInfo::getTag
Cache::insertSingleLine
CacheBlockInfo::create
CacheBlockInfo::setTag
CacheSet::getReplacement
CacheSet::insert
Index
CacheBlockInfo::getCState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI
::CacheCntlr::setCacheState CacheBlockInfo::setCState
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
CacheBlockInfo::setOption ::CacheCntlr::getShmemPerfModel
::CacheCntlr::insertCacheBlock
CacheBlockInfo::setOwner
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::accessDRAM ::CacheCntlr::getLock
CacheBlockInfo::getOwner
ParametricDramDirectoryMSI
::CacheCntlr::getHome
CacheBlockInfo::getOptionName
CacheBlockInfo::getUsage
CacheBlockInfo::updateUsage
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel ::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
6.6.2.8 createSetLocks()
void ParametricDramDirectoryMSI::CacheCntlr::createSetLocks (
UInt32 cache_block_size,
UInt32 num_sets,
UInt32 core_offset,
UInt32 num_cores ) [inline]
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 63
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::createSetLocks ::CacheMasterCntlr::createSetLocks
6.6.2.9 disable()
ParametricDramDirectoryMSI
Cache::disable
::CacheCntlr::disable
6.6.2.10 doPrefetch()
void CacheCntlr::doPrefetch (
IntPtr prefetch_address,
SubsecondTime t_start ) [private]
Generated by Doxygen
64 Class Documentation
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::accessDRAM ::CacheCntlr::getLock
ParametricDramDirectoryMSI
::CacheCntlr::updateUncoreStatistics
ParametricDramDirectoryMSI
::CacheCntlr::initiateDirectory
Access
ParametricDramDirectoryMSI
::make_mshr
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ::CacheCntlr::getShmemPerfModel
CacheBlockInfo::setOption
CacheBlockInfo::hasOption
ParametricDramDirectoryMSI
::CacheCntlr::transition
ParametricDramDirectoryMSI
::CacheCntlr::updateCounters
ParametricDramDirectoryMSI
::CacheCntlr::cleanupMshr ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher CacheBlockInfo::getCState
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::waitForNetworkThread
ParametricDramDirectoryMSI
::CacheCntlr::wakeUpNetworkThread
ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock CacheBlockInfo::setOwner
CacheBlockInfo::getOwner
CacheBlockInfo::getUsage
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ParametricDramDirectoryMSI
::CacheCntlr::getHome
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
CacheBlockInfo::setCState
ParametricDramDirectoryMSI
::CacheCntlr::setCacheState
Cache::insertSingleLine
CacheState::readable
ParametricDramDirectoryMSI
CacheState::writable
::CacheCntlr::operationPermissibleinCache
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert
ParametricDramDirectoryMSI
Cache::peekSingleLine
::CacheCntlr::getCacheBlockInfo
SharedCacheBlockInfo
::invalidate
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI ::CacheCntlr::getMemoryManager
::CacheCntlr::getCache
ParametricDramDirectoryMSI
Cache::updateCounters ::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock ::CacheCntlr::notifyPrevLevelEvict
CacheBlockInfo::clearOption
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch ::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
6.6.2.11 enable()
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 65
ParametricDramDirectoryMSI
Cache::enable
::CacheCntlr::enable
6.6.2.12 getCache()
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::updateHits ::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
::CacheCntlr::getCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
PrevCache
ParametricDramDirectoryMSI
::MemoryManager::getL1ICache
ParametricDramDirectoryMSI
::MemoryManager::getCache
ParametricDramDirectoryMSI
::MemoryManager::getL1DCache
ParametricDramDirectoryMSI
::MemoryManager::getLastLevelCache
6.6.2.13 getCacheBlockInfo()
SharedCacheBlockInfo CacheCntlr::getCacheBlockInfo (
IntPtr address ) [private]
CacheBase::splitAddress
ParametricDramDirectoryMSI
Cache::peekSingleLine
::CacheCntlr::getCacheBlockInfo
CacheSet::find
Generated by Doxygen
66 Class Documentation
ParametricDramDirectoryMSI
::CacheCntlr::updateUsageBits
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::operationPermissibleinCache ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
::CacheCntlr::setCacheState ::CacheCntlr::notifyPrevLevelInsert ParametricDramDirectoryMSI Access
::CacheCntlr::doPrefetch
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
ParametricDramDirectoryMSI Directory
ParametricDramDirectoryMSI ::CacheCntlr::initiateDirectory
::CacheCntlr::processUpgradeReq Access
ToDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processExReqToDirectory
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom ParametricDramDirectoryMSI
DramDirectory ::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
ParametricDramDirectoryMSI
FromDramDirectory
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
6.6.2.14 getCacheBlockSize()
ParametricDramDirectoryMSI
::CacheCntlr::accessCache
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI Access
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
PrevCache ::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
ParametricDramDirectoryMSI Directory
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::handleMsgFromNetwork
Directory
::CacheCntlr::retrieveCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
::CacheCntlr::processUpgradeRep ::CacheCntlr::handleMsgFromDram
FromDramDirectory Directory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::walkUsageBits ::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
CacheState::cstate_t CacheCntlr::getCacheState (
IntPtr address ) [private]
CacheBase::splitAddress
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
Cache::peekSingleLine
::CacheCntlr::getCacheState ::CacheCntlr::getCacheBlockInfo
CacheSet::find
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 67
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom ::CacheCntlr::handleMsgFromDram
::CacheCntlr::updateCacheBlock
DramDirectory Directory
ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeReq ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
ToDirectory ::CacheCntlr::processShRepFromDram Access
Directory
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel ::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExReqToDirectory ::CacheCntlr::initiateDirectory
Access ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI
PrevCache ::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::operationPermissibleinCache
ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher
CacheState::cstate_t CacheCntlr::getCacheState (
CacheBlockInfo cache_block_info ) [private]
ParametricDramDirectoryMSI
CacheBlockInfo::getCState
::CacheCntlr::getCacheState
6.6.2.17 getHome()
core_id_t ParametricDramDirectoryMSI::CacheCntlr::getHome (
IntPtr address ) [inline], [private]
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::CacheCntlr::handleMsgFromDram ParametricDramDirectoryMSI
Directory Directory ::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::insertCacheBlock ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI Access
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeReq
ParametricDramDirectoryMSI
ToDirectory
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::getHome ::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
::CacheCntlr::processExReqToDirectory
PrevCache
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::initiateDirectory
::CacheCntlr::processShReqToDirectory
Access
Generated by Doxygen
68 Class Documentation
6.6.2.18 getLock()
ParametricDramDirectoryMSI
::CacheCntlr::updateUsageBits
ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::initiateDirectory
Access ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::getLock ParametricDramDirectoryMSI ::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch Access
ParametricDramDirectoryMSI
::CacheCntlr::accessDRAM
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::CacheCntlr::updateCacheBlock
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::updateHits
6.6.2.19 getMemoryManager()
ParametricDramDirectoryMSI
::CacheCntlr::CacheCntlr
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processMemOpFromCore ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
PrevCache ::CacheCntlr::doPrefetch ParametricDramDirectoryMSI Access
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processExReqToDirectory ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShRepFromDram ::MemoryManager::handleMsgFromNetwork
::CacheCntlr::getMemoryManager Directory
ParametricDramDirectoryMSI
::CacheCntlr::processShReqToDirectory
ParametricDramDirectoryMSI
::CacheCntlr::initiateDirectory
ParametricDramDirectoryMSI Access
::CacheCntlr::processUpgradeReq
ToDirectory ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::incrementQBSLookupCost
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
6.6.2.20 getNetworkThreadSemaphore()
Semaphore CacheCntlr::getNetworkThreadSemaphore (
void ) [private]
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 69
6.6.2.21 getShmemPerfModel()
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::updateCounters ::CacheCntlr::updateHits
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::initiateDirectory ::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
Access
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI
Access
::CacheCntlr::accessDRAM
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
Directory ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock ::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
ParametricDramDirectoryMSI
Directory ParametricDramDirectoryMSI
::CacheCntlr::accessCache
::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
6.6.2.22 getUserThreadSemaphore()
Semaphore CacheCntlr::getUserThreadSemaphore (
void ) [private]
6.6.2.23 handleMsgFromDramDirectory()
void CacheCntlr::handleMsgFromDramDirectory (
core_id_t sender,
PrL1PrL2DramDirectoryMSI::ShmemMsg shmem_msg )
Generated by Doxygen
70 Class Documentation
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
CacheBlockInfo::setOption
CacheBlockInfo::getOwner
CacheBlockInfo::getUsage
CacheBlockInfo::setOwner
ParametricDramDirectoryMSI
::CacheCntlr::getLock Cache::insertSingleLine
ParametricDramDirectoryMSI
CacheBlockInfo::getCState
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ParametricDramDirectoryMSI
::CacheCntlr::accessDRAM
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert
CacheBase::splitAddress
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime Cache::peekSingleLine
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram CacheBlockInfo::hasOption
Directory
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
Directory ParametricDramDirectoryMSI
::CacheCntlr::transition
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ReqQueueListTemplate
::empty
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict ::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::updateUncoreStatistics
::CacheCntlr::getHome
ParametricDramDirectoryMSI
::CacheCntlr::wakeUpUserThread
ParametricDramDirectoryMSI
::CacheCntlr::waitForUserThread
ParametricDramDirectoryMSI
::make_mshr
CacheBlockInfo::setCState
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processUpgradeReq
::CacheCntlr::cleanupMshr ToDirectory ParametricDramDirectoryMSI
::CacheCntlr::setCacheState
ReqQueueListTemplate
::dequeue ParametricDramDirectoryMSI
::MemoryManager::sendMsg
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory
6.6.2.24 incrementQBSLookupCost()
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 71
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::incrementQBSLookupCost
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
6.6.2.25 initiateDirectoryAccess()
void CacheCntlr::initiateDirectoryAccess (
Core::mem_op_t mem_op_type,
IntPtr address,
bool isPrefetch,
SubsecondTime t_issue ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ReqQueueListTemplate
::enqueue
ReqQueueListTemplate
::size
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheCntlr::initiateDirectory CacheBlockInfo::setCState
Access
ParametricDramDirectoryMSI
::CacheCntlr::setCacheState CacheBase::splitAddress
ParametricDramDirectoryMSI
Cache::peekSingleLine
ParametricDramDirectoryMSI ::CacheCntlr::getCacheBlockInfo
::CacheCntlr::processUpgradeReq ParametricDramDirectoryMSI CacheSet::find
ToDirectory ::CacheCntlr::getCacheState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExReqToDirectory ::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShReqToDirectory ::MemoryManager::sendMsg
CacheBlockInfo::getCState ParametricDramDirectoryMSI
::CacheCntlr::getHome
Generated by Doxygen
72 Class Documentation
6.6.2.26 insertCacheBlock()
SharedCacheBlockInfo CacheCntlr::insertCacheBlock (
IntPtr address,
CacheState::cstate_t cstate,
Byte data_buf,
core_id_t requester,
ShmemPerfModel::Thread_t thread_num ) [private]
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
CacheBlockInfo::setCState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::setCacheState ::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert Cache::peekSingleLine
CacheSet::find
CacheBlockInfo::create
CacheBlockInfo::setTag
Cache::insertSingleLine
CacheSet::getReplacement
CacheBlockInfo::getTag
CacheSet::insert Index
CacheBase::tagToAddress CacheBlockInfo::clone
CacheBase::splitAddress
CacheBlockInfo::getCState
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
Cache::accessSingleLine
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::acquireStackLock ::CacheMasterCntlr::getSetLock
::CacheCntlr::accessDRAM
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI
CacheBlockInfo::setOption ::CacheCntlr::getShmemPerfModel
CacheBlockInfo::setOwner ParametricDramDirectoryMSI
::CacheCntlr::getLock
CacheBlockInfo::hasOption
CacheBlockInfo::getOwner
CacheBlockInfo::getOptionName
CacheBlockInfo::getUsage
CacheBlockInfo::updateUsage
ParametricDramDirectoryMSI
::CacheCntlr::transition
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::CacheCntlr::getHome
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::CacheCntlr::processShmemReqFrom ::MemoryManager::coreInitiateMemory
PrevCache Access
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::CacheCntlr::Prefetch ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
ParametricDramDirectoryMSI ::MemoryManager::handleMsgFromNetwork
Directory
::CacheCntlr::processShRepFromDram
Directory
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 73
6.6.2.27 invalidateCacheBlock()
void CacheCntlr::invalidateCacheBlock (
IntPtr address ) [private]
CacheBase::splitAddress
Cache::invalidateSingleLine CacheSet::invalidate CacheBlockInfo::invalidate
Cache::peekSingleLine CacheSet::find
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::getCacheState ::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShmemReqFrom
::CacheCntlr::copyDataFromNextLevel PrevCache ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::Prefetch ::CacheCntlr::processMemOpFromCore ::MemoryManager::coreInitiateMemory
Access ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom ::CacheCntlr::handleMsgFromDram ::MemoryManager::handleMsgFromNetwork
DramDirectory Directory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
6.6.2.28 isFirstLevel()
bool ParametricDramDirectoryMSI::CacheCntlr::isFirstLevel (
void ) [inline]
ParametricDramDirectoryMSI
::CacheCntlr::acquireLock
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::isFirstLevel ::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
::CacheCntlr::releaseLock
6.6.2.29 isInLowerLevelCache()
bool CacheCntlr::isInLowerLevelCache (
CacheBlockInfo block_info ) [virtual]
Generated by Doxygen
74 Class Documentation
CacheBase::tagToAddress
ParametricDramDirectoryMSI
::CacheCntlr::isInLowerLevelCache
CacheBlockInfo::getTag
6.6.2.30 isLastLevel()
bool ParametricDramDirectoryMSI::CacheCntlr::isLastLevel (
void ) [inline]
6.6.2.31 isMasterCache()
bool ParametricDramDirectoryMSI::CacheCntlr::isMasterCache (
void ) [inline]
ParametricDramDirectoryMSI
::CacheCntlr::CacheCntlr
ParametricDramDirectoryMSI
::CacheCntlr::isMasterCache
ParametricDramDirectoryMSI
::CacheCntlr::~CacheCntlr
6.6.2.32 isShared()
bool CacheCntlr::isShared (
core_id_t core_id )
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 75
6.6.2.33 lastLevelCache()
CacheCntlr CacheCntlr::lastLevelCache (
void ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::acquireLock
ParametricDramDirectoryMSI
::CacheCntlr::releaseLock
ParametricDramDirectoryMSI
::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI ParametricDramDirectoryMSI
PrevCache ::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory ParametricDramDirectoryMSI
::CacheCntlr::accessCache
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
Access
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processWbReqFromDram ::CacheCntlr::handleMsgFromDram
::CacheCntlr::acquireStackLock Directory Directory ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork
6.6.2.34 notifyPrevLevelEvict()
void CacheCntlr::notifyPrevLevelEvict (
core_id_t core_id,
MemComponent::component_t mem_component,
IntPtr address )
CacheBase::splitAddress
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict ::CStateString Cache::peekSingleLine
::CacheCntlr::getCacheBlockInfo
CacheSet::find
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork
Generated by Doxygen
76 Class Documentation
6.6.2.35 notifyPrevLevelInsert()
void CacheCntlr::notifyPrevLevelInsert (
core_id_t core_id,
MemComponent::component_t mem_component,
IntPtr address )
CacheBase::splitAddress
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
Cache::peekSingleLine
::CacheCntlr::notifyPrevLevelInsert ::CacheCntlr::getCacheBlockInfo
CacheSet::find
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert ::CacheCntlr::insertCacheBlock ::CacheCntlr::processShmemReqFrom ::MemoryManager::coreInitiateMemory
PrevCache Access
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::CacheCntlr::Prefetch ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
ParametricDramDirectoryMSI ::MemoryManager::handleMsgFromNetwork
Directory
::CacheCntlr::processShRepFromDram
Directory
6.6.2.36 operationPermissibleinCache()
bool CacheCntlr::operationPermissibleinCache (
IntPtr address,
Core::mem_op_t mem_op_type,
CacheBlockInfo cache_block_info = NULL ) [private]
CacheBase::splitAddress
ParametricDramDirectoryMSI
Cache::peekSingleLine
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI CacheSet::find
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
CacheState::readable
::CacheCntlr::operationPermissibleinCache
CacheState::writable
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::operationPermissibleinCache ::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 77
6.6.2.37 Prefetch()
void CacheCntlr::Prefetch (
SubsecondTime t_start ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::initiateDirectory
Access
ParametricDramDirectoryMSI
::CacheCntlr::waitForNetworkThread CacheState::writable
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::make_mshr
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
CacheBlockInfo::setOption
CacheBlockInfo::hasOption
ParametricDramDirectoryMSI
::CacheCntlr::accessDRAM
CacheBlockInfo::getCState
ParametricDramDirectoryMSI
Cache::peekSingleLine CacheBase::splitAddress
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI
PrevCache ::CacheCntlr::notifyPrevLevelInsert
Cache::insertSingleLine CacheSet::find
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::getShmemPerfModel
::CacheCntlr::setCacheState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel ::CacheCntlr::insertCacheBlock
CacheBlockInfo::setOwner
CacheBlockInfo::setCState
CacheBlockInfo::getOwner
ParametricDramDirectoryMSI CacheBlockInfo::getUsage
::CacheCntlr::retrieveCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::updateCounters
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
SharedCacheBlockInfo
::invalidate
ParametricDramDirectoryMSI
::CacheCntlr::getCache
ParametricDramDirectoryMSI
::CacheCntlr::transition
Cache::updateCounters ParametricDramDirectoryMSI
::CacheCntlr::cleanupMshr ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
CacheBlockInfo::clearOption ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::Prefetch ::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
6.6.2.38 processExRepFromDramDirectory()
void CacheCntlr::processExRepFromDramDirectory (
core_id_t sender,
core_id_t requester,
PrL1PrL2DramDirectoryMSI::ShmemMsg shmem_msg ) [private]
Generated by Doxygen
78 Class Documentation
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
CacheBlockInfo::setCState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::setCacheState ::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert Cache::peekSingleLine
CacheSet::find
CacheBlockInfo::create
CacheBlockInfo::setTag
Cache::insertSingleLine
CacheSet::getReplacement
CacheBlockInfo::getTag
CacheSet::insert Index
CacheBase::tagToAddress CacheBlockInfo::clone
CacheBase::splitAddress
CacheBlockInfo::getCState
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
Cache::accessSingleLine
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::acquireStackLock ::CacheMasterCntlr::getSetLock
::CacheCntlr::accessDRAM
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
::CacheCntlr::insertCacheBlock
Directory
ParametricDramDirectoryMSI
CacheBlockInfo::setOption ::CacheCntlr::getShmemPerfModel
CacheBlockInfo::setOwner ParametricDramDirectoryMSI
::CacheCntlr::getLock
CacheBlockInfo::hasOption
CacheBlockInfo::getOwner
CacheBlockInfo::getOptionName
CacheBlockInfo::getUsage
CacheBlockInfo::updateUsage
ParametricDramDirectoryMSI
::CacheCntlr::transition
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::CacheCntlr::getHome
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory Directory
6.6.2.39 processExReqToDirectory()
void CacheCntlr::processExReqToDirectory (
IntPtr address ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::getHome
CacheBase::splitAddress
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
Cache::peekSingleLine
::CacheCntlr::getCacheState ::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI CacheSet::find
::CacheCntlr::processExReqToDirectory
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 79
6.6.2.40 processFlushReqFromDramDirectory()
void CacheCntlr::processFlushReqFromDramDirectory (
core_id_t sender,
PrL1PrL2DramDirectoryMSI::ShmemMsg shmem_msg ) [private]
CacheBlockInfo::hasOption
ParametricDramDirectoryMSI
CacheBlockInfo::setCState
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock ParametricDramDirectoryMSI Cache::peekSingleLine CacheSet::find
::CStateString
CacheSet::invalidate CacheBlockInfo::invalidate
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock Cache::invalidateSingleLine
CacheBase::splitAddress
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock Cache::accessSingleLine
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ParametricDramDirectoryMSI
::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI
::CacheCntlr::transition
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ::CacheCntlr::lastLevelCache
::CacheCntlr::writeCacheBlock ::CacheCntlr::acquireStackLock
CacheBlockInfo::getCState
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom ::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
DramDirectory Directory
6.6.2.41 processInvReqFromDramDirectory()
void CacheCntlr::processInvReqFromDramDirectory (
core_id_t sender,
PrL1PrL2DramDirectoryMSI::ShmemMsg shmem_msg ) [private]
Generated by Doxygen
80 Class Documentation
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI Cache::peekSingleLine CacheSet::find
::CStateString
CacheSet::invalidate CacheBlockInfo::invalidate
ParametricDramDirectoryMSI Cache::invalidateSingleLine
::CacheCntlr::transition
CacheBase::splitAddress
CacheBlockInfo::hasOption
ParametricDramDirectoryMSI
CacheBlockInfo::setCState
::CacheCntlr::updateCacheBlock
CacheBlockInfo::getCState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI
::CacheCntlr::getLock Cache::accessSingleLine
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock ::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom ::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
DramDirectory Directory
6.6.2.42 processMemOpFromCore()
HitWhere::where_t CacheCntlr::processMemOpFromCore (
Core::lock_signal_t lock_signal,
Core::mem_op_t mem_op_type,
IntPtr ca_address,
UInt32 offset,
Byte data_buf,
UInt32 data_length,
bool modeled,
bool count )
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 81
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireLock ::CacheCntlr::isFirstLevel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseLock ::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::accessCache ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::incrElapsedTime
::CacheCntlr::copyDataFromNextLevel
CacheBlockInfo::getCState
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheCntlr::transition
ParametricDramDirectoryMSI
::CacheCntlr::updateCounters
CacheBlockInfo::setOwner
ParametricDramDirectoryMSI
::CacheCntlr::getHome
Cache::insertSingleLine
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert
ParametricDramDirectoryMSI
::CacheCntlr::setCacheState
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
CacheBlockInfo::setOption
ParametricDramDirectoryMSI
::CacheCntlr::accessDRAM
CacheBlockInfo::setCState
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CStateString
::CacheCntlr::getCache
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
Cache::updateCounters
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
CacheBlockInfo::clearOption
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
CacheBlockInfo::hasOption
CacheBlockInfo::getOwner
ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::Prefetch ::CacheCntlr::operationPermissibleinCache CacheState::readable
CacheState::writable
ParametricDramDirectoryMSI
::CacheCntlr::updateUsageBits
CacheBlockInfo::getUsage CacheBlockInfo::updateUsage
CacheBlockInfo::invalidate
ParametricDramDirectoryMSI
::CacheCntlr::waitForNetworkThread
ParametricDramDirectoryMSI
::CacheCntlr::wakeUpNetworkThread
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
Generated by Doxygen
82 Class Documentation
6.6.2.43 processShmemReqFromPrevCache()
HitWhere::where_t CacheCntlr::processShmemReqFromPrevCache (
CacheCntlr requester,
Core::mem_op_t mem_op_type,
IntPtr address,
bool modeled,
bool count,
Prefetch::prefetch_type_t isPrefetch,
SubsecondTime t_issue,
bool have_write_lock ) [private]
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheCntlr::lastLevelCache
CacheBlockInfo::setOption
CacheBlockInfo::hasOption
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
CacheBlockInfo::setCState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel ::CacheCntlr::setCacheState
ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock
CacheBlockInfo::getCState
Cache::insertSingleLine
CacheBlockInfo::setOwner
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
CacheBlockInfo::getOwner ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert
CacheBlockInfo::getUsage
ParametricDramDirectoryMSI
::CacheCntlr::getHome
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::sendMsg Cache::peekSingleLine
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI
PrevCache ::CacheCntlr::initiateDirectory
Access
ParametricDramDirectoryMSI
SharedCacheBlockInfo ::CacheCntlr::accessDRAM
CacheBlockInfo::invalidate
::invalidate
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI
::CacheCntlr::getCache
Cache::updateCounters
ParametricDramDirectoryMSI
::CacheCntlr::updateCounters ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::transition
::CacheMasterCntlr::accessATDs
CacheBlockInfo::clearOption
ParametricDramDirectoryMSI
::CacheCntlr::cleanupMshr
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CacheCntlr::updateUncoreStatistics
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CStateString
::CacheCntlr::invalidateCacheBlock
Cache::invalidateSingleLine
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::make_mshr ::CacheCntlr::trainPrefetcher
CacheState::readable
ParametricDramDirectoryMSI
::CacheCntlr::operationPermissibleinCache
CacheState::writable
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 83
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
PrevCache ::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
6.6.2.44 processShRepFromDramDirectory()
void CacheCntlr::processShRepFromDramDirectory (
core_id_t sender,
core_id_t requester,
PrL1PrL2DramDirectoryMSI::ShmemMsg shmem_msg ) [private]
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
CacheBlockInfo::setCState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::setCacheState ::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert Cache::peekSingleLine
CacheSet::find
CacheBlockInfo::create
CacheBlockInfo::setTag
Cache::insertSingleLine
CacheSet::getReplacement
CacheBlockInfo::getTag
CacheSet::insert Index
CacheBase::tagToAddress CacheBlockInfo::clone
CacheBase::splitAddress
CacheBlockInfo::getCState
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
Cache::accessSingleLine
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::acquireStackLock ::CacheMasterCntlr::getSetLock
::CacheCntlr::accessDRAM
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
::CacheCntlr::insertCacheBlock
Directory
ParametricDramDirectoryMSI
CacheBlockInfo::setOption ::CacheCntlr::getShmemPerfModel
CacheBlockInfo::setOwner ParametricDramDirectoryMSI
::CacheCntlr::getLock
CacheBlockInfo::hasOption
CacheBlockInfo::getOwner
CacheBlockInfo::getOptionName
CacheBlockInfo::getUsage
CacheBlockInfo::updateUsage
ParametricDramDirectoryMSI
::CacheCntlr::transition
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::CacheCntlr::getHome
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram ::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory Directory
Generated by Doxygen
84 Class Documentation
6.6.2.45 processShReqToDirectory()
void CacheCntlr::processShReqToDirectory (
IntPtr address ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShReqToDirectory ::MemoryManager::sendMsg
ParametricDramDirectoryMSI
::CacheCntlr::getHome
6.6.2.46 processUpgradeRepFromDramDirectory()
void CacheCntlr::processUpgradeRepFromDramDirectory (
core_id_t sender,
core_id_t requester,
PrL1PrL2DramDirectoryMSI::ShmemMsg shmem_msg ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep ParametricDramDirectoryMSI
FromDramDirectory ::CacheCntlr::notifyPrevLevelEvict
CacheBlockInfo::setCState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CStateString ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock ::CacheCntlr::getCacheBlockInfo
Cache::peekSingleLine CacheSet::find
ParametricDramDirectoryMSI
Cache::invalidateSingleLine CacheSet::invalidate CacheBlockInfo::invalidate
::CacheCntlr::updateCacheBlock
Cache::accessSingleLine
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI
::CacheCntlr::transition
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheCntlr::lastLevelCache
CacheBlockInfo::hasOption
CacheBlockInfo::getCState
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 85
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep ::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
FromDramDirectory Directory
6.6.2.47 processUpgradeReqToDirectory()
void CacheCntlr::processUpgradeReqToDirectory (
IntPtr address,
ShmemPerf perf,
ShmemPerfModel::Thread_t thread_num ) [private]
CacheBase::splitAddress
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::getCacheState Cache::peekSingleLine
::CacheCntlr::getCacheBlockInfo
CacheSet::find
ParametricDramDirectoryMSI
CacheBlockInfo::setCState
::CacheCntlr::setCacheState
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeReq
::CacheCntlr::getMemoryManager
ToDirectory
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
ParametricDramDirectoryMSI
::CacheCntlr::getHome
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::initiateDirectory ::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ParametricDramDirectoryMSI
Access PrevCache ::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI ::CacheCntlr::Prefetch ::CacheCntlr::processMemOpFromCore
Access
::CacheCntlr::processUpgradeReq ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ToDirectory ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
Directory
6.6.2.48 processWbReqFromDramDirectory()
void CacheCntlr::processWbReqFromDramDirectory (
core_id_t sender,
PrL1PrL2DramDirectoryMSI::ShmemMsg shmem_msg ) [private]
Generated by Doxygen
86 Class Documentation
CacheBlockInfo::hasOption
ParametricDramDirectoryMSI
CacheBlockInfo::setCState
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock ParametricDramDirectoryMSI Cache::peekSingleLine CacheSet::find
::CStateString
CacheSet::invalidate CacheBlockInfo::invalidate
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock Cache::invalidateSingleLine
CacheBase::splitAddress
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock Cache::accessSingleLine
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ParametricDramDirectoryMSI
::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI
::CacheCntlr::transition
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ::CacheCntlr::lastLevelCache
::CacheCntlr::writeCacheBlock ::CacheCntlr::acquireStackLock
CacheBlockInfo::getCState
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram ::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory Directory
6.6.2.49 releaseLock()
void CacheCntlr::releaseLock (
UInt64 address )
ParametricDramDirectoryMSI
::CacheCntlr::isFirstLevel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
::CacheMasterCntlr::getSetLock
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 87
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::releaseLock ::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
6.6.2.50 releaseStackLock()
void CacheCntlr::releaseStackLock (
UInt64 address,
bool this_is_locked = false )
ParametricDramDirectoryMSI
::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock
ParametricDramDirectoryMSI
::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::accessCache ::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI Access
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram ::MemoryManager::handleMsgFromNetwork
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::CacheCntlr::updateCacheBlock
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
6.6.2.51 retrieveCacheBlock()
void CacheCntlr::retrieveCacheBlock (
IntPtr address,
Byte data_buf,
Generated by Doxygen
88 Class Documentation
ShmemPerfModel::Thread_t thread_num,
bool update_replacement ) [private]
Cache::accessSingleLine CacheBase::splitAddress
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock ::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ::CacheCntlr::processShmemReqFrom
::CacheCntlr::retrieveCacheBlock ::CacheCntlr::copyDataFromNextLevel PrevCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processMemOpFromCore ::MemoryManager::coreInitiateMemory
::CacheCntlr::processUpgradeRep Access
FromDramDirectory ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ::MemoryManager::handleMsgFromNetwork
::CacheCntlr::processInvReqFrom ::CacheCntlr::handleMsgFromDram
DramDirectory Directory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
6.6.2.52 setCacheState()
SharedCacheBlockInfo CacheCntlr::setCacheState (
IntPtr address,
CacheState::cstate_t cstate ) [private]
CacheBase::splitAddress
ParametricDramDirectoryMSI
Cache::peekSingleLine
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI CacheSet::find
::CacheCntlr::setCacheState
CacheBlockInfo::setCState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeReq ::CacheCntlr::initiateDirectory
ToDirectory Access
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processExRepFromDram ::CacheCntlr::handleMsgFromDram ParametricDramDirectoryMSI
::CacheCntlr::setCacheState Directory Directory ::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 89
6.6.2.53 setDRAMDirectAccess()
void CacheCntlr::setDRAMDirectAccess (
DramCntlrInterface dram_cntlr,
UInt64 num_outstanding )
6.6.2.54 setNextCacheCntlr()
void ParametricDramDirectoryMSI::CacheCntlr::setNextCacheCntlr (
CacheCntlr next_cache_cntlr ) [inline]
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::setNextCacheCntlr ::MemoryManager::MemoryManager
6.6.2.55 setPrevCacheCntlrs()
void CacheCntlr::setPrevCacheCntlrs (
CacheCntlrList & prev_cache_cntlrs )
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::setPrevCacheCntlrs ::MemoryManager::MemoryManager
Generated by Doxygen
90 Class Documentation
6.6.2.56 trainPrefetcher()
void CacheCntlr::trainPrefetcher (
IntPtr address,
bool cache_hit,
bool prefetch_hit,
SubsecondTime t_issue ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::getLock CacheBase::splitAddress
ParametricDramDirectoryMSI
Cache::peekSingleLine
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI ParametricDramDirectoryMSI CacheSet::find
Prefetcher::getNextAddress
::CacheCntlr::trainPrefetcher ::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
CacheState::readable
::CacheCntlr::operationPermissibleinCache
CacheState::writable
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher ::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
6.6.2.57 transition()
void CacheCntlr::transition (
IntPtr address,
Transition::reason_t reason,
CacheState::cstate_t old_state,
CacheState::cstate_t new_state ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::updateHits
ParametricDramDirectoryMSI
::CacheCntlr::updateCounters
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI PrevCache
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
::CacheCntlr::transition ::CacheCntlr::insertCacheBlock ::CacheCntlr::copyDataFromNextLevel
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI Access
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram ParametricDramDirectoryMSI
Directory ::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram ::CacheCntlr::handleMsgFromDram
Directory Directory
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 91
6.6.2.58 updateCacheBlock()
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI Cache::peekSingleLine CacheSet::find
::CacheCntlr::invalidateCacheBlock
::CStateString
CacheSet::invalidate CacheBlockInfo::invalidate
Cache::invalidateSingleLine
CacheBase::splitAddress
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::getShmemPerfModel
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI
Cache::accessSingleLine
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::getLock
::CacheCntlr::releaseStackLock ::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI
CacheBlockInfo::getCState
::CacheCntlr::transition
CacheBlockInfo::hasOption
CacheBlockInfo::setCState
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep ::CacheCntlr::processMemOpFromCore
PrevCache ::MemoryManager::coreInitiateMemory
FromDramDirectory ParametricDramDirectoryMSI Access ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
::CacheCntlr::updateCacheBlock ParametricDramDirectoryMSI
DramDirectory ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
6.6.2.59 updateCounters()
void CacheCntlr::updateCounters (
Core::mem_op_t mem_op_type,
IntPtr address,
bool cache_hit,
CacheState::cstate_t state,
Prefetch::prefetch_type_t isPrefetch ) [private]
Generated by Doxygen
92 Class Documentation
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheMasterCntlr::accessATDs
ParametricDramDirectoryMSI
::CacheCntlr::updateCounters
ParametricDramDirectoryMSI
::CacheCntlr::cleanupMshr
ParametricDramDirectoryMSI
::CacheCntlr::transition
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::updateCounters ::CacheCntlr::updateHits ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
PrevCache
6.6.2.60 updateHits()
void CacheCntlr::updateHits (
Core::mem_op_t mem_op_type,
UInt64 hits )
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI
::CacheCntlr::getCache ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::getShmemPerfModel
::CacheCntlr::updateHits
Cache::updateCounters
ParametricDramDirectoryMSI
::CacheMasterCntlr::accessATDs
ParametricDramDirectoryMSI
::CacheCntlr::updateCounters
ParametricDramDirectoryMSI
::CacheCntlr::cleanupMshr
ParametricDramDirectoryMSI
::CacheCntlr::transition
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 93
6.6.2.61 updateUncoreStatistics()
void CacheCntlr::updateUncoreStatistics (
HitWhere::where_t hit_where,
SubsecondTime now ) [private]
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ::MemoryManager::coreInitiateMemory
PrevCache ::CacheCntlr::Prefetch ::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI Access
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::updateUncoreStatistics ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
Directory
6.6.2.62 updateUsageBits()
void CacheCntlr::updateUsageBits (
IntPtr address,
CacheBlockInfo::BitsUsedType used ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::getLock
CacheBase::splitAddress
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
Cache::peekSingleLine
::CacheCntlr::updateUsageBits ::CacheCntlr::getCacheBlockInfo
CacheSet::find
CacheBlockInfo::updateUsage
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::updateUsageBits ::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
6.6.2.63 waitForNetworkThread()
void CacheCntlr::waitForNetworkThread (
void ) [private]
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::waitForNetworkThread ::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
Generated by Doxygen
94 Class Documentation
6.6.2.64 waitForUserThread()
void CacheCntlr::waitForUserThread (
Semaphore network_thread_sem = NULL ) [private]
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::CacheCntlr::waitForUserThread ::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory
6.6.2.65 wakeUpNetworkThread()
void CacheCntlr::wakeUpNetworkThread (
void ) [private]
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::wakeUpNetworkThread ::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
6.6.2.66 wakeUpUserThread()
void CacheCntlr::wakeUpUserThread (
Semaphore user_thread_sem = NULL ) [private]
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::CacheCntlr::wakeUpUserThread ::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 95
6.6.2.67 walkUsageBits()
CacheBase::getNumSets
CacheBase::parseAddressHash
CacheBase::getAssociativity
CacheSet::peekBlock
Cache::peekBlock
Cache::updateCounters
CacheBlockInfo::isValid
ParametricDramDirectoryMSI
Cache::updateHits
::CacheCntlr::walkUsageBits
CacheBlockInfo::hasOption
CacheBlockInfo::getOwner
CacheBlockInfo::updateUsage
CacheBlockInfo::getUsage
CacheBlockInfo::getOptionName
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
6.6.2.68 writeCacheBlock()
void CacheCntlr::writeCacheBlock (
IntPtr address,
UInt32 offset,
Byte data_buf,
UInt32 data_length,
ShmemPerfModel::Thread_t thread_num ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
Cache::accessSingleLine CacheBase::splitAddress
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
CacheBlockInfo::getCState
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheCntlr::lastLevelCache
Generated by Doxygen
96 Class Documentation
ParametricDramDirectoryMSI
::CacheCntlr::accessCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ::CacheCntlr::processShmemReqFrom ::CacheCntlr::processMemOpFromCore
::CacheCntlr::writeCacheBlock ::CacheCntlr::insertCacheBlock ::CacheCntlr::copyDataFromNextLevel PrevCache ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::Prefetch ::MemoryManager::coreInitiateMemory
Access
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::handleMsgFromNetwork
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom ::CacheCntlr::handleMsgFromDram
DramDirectory Directory
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
6.6.3.1 CacheCntlrList
6.6.3.2 MemoryManager
6.6.4.1 backinval
UInt64 ParametricDramDirectoryMSI::CacheCntlr::backinval[CacheState::NUM_CSTATE_STATES]
6.6.4.2 coherency_downgrades
UInt64 ParametricDramDirectoryMSI::CacheCntlr::coherency_downgrades
6.6.4.3 coherency_invalidates
UInt64 ParametricDramDirectoryMSI::CacheCntlr::coherency_invalidates
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 97
6.6.4.4 coherency_upgrades
UInt64 ParametricDramDirectoryMSI::CacheCntlr::coherency_upgrades
6.6.4.5 coherency_writebacks
UInt64 ParametricDramDirectoryMSI::CacheCntlr::coherency_writebacks
6.6.4.6 evict
UInt64 ParametricDramDirectoryMSI::CacheCntlr::evict[CacheState::NUM_CSTATE_STATES]
6.6.4.7 evict_prefetch
UInt64 ParametricDramDirectoryMSI::CacheCntlr::evict_prefetch
6.6.4.8 evict_warmup
UInt64 ParametricDramDirectoryMSI::CacheCntlr::evict_warmup
6.6.4.9 hits_prefetch
UInt64 ParametricDramDirectoryMSI::CacheCntlr::hits_prefetch
6.6.4.10 hits_warmup
UInt64 ParametricDramDirectoryMSI::CacheCntlr::hits_warmup
6.6.4.11 invalidate_prefetch
UInt64 ParametricDramDirectoryMSI::CacheCntlr::invalidate_prefetch
Generated by Doxygen
98 Class Documentation
6.6.4.12 invalidate_warmup
UInt64 ParametricDramDirectoryMSI::CacheCntlr::invalidate_warmup
6.6.4.13 load_misses
UInt64 ParametricDramDirectoryMSI::CacheCntlr::load_misses
6.6.4.14 load_misses_state
UInt64 ParametricDramDirectoryMSI::CacheCntlr::load_misses_state[CacheState::NUM_CSTATE_STAT-
ES]
6.6.4.15 load_overlapping_misses
UInt64 ParametricDramDirectoryMSI::CacheCntlr::load_overlapping_misses
6.6.4.16 loads
UInt64 ParametricDramDirectoryMSI::CacheCntlr::loads
6.6.4.17 loads_prefetch
UInt64 ParametricDramDirectoryMSI::CacheCntlr::loads_prefetch
6.6.4.18 loads_state
UInt64 ParametricDramDirectoryMSI::CacheCntlr::loads_state[CacheState::NUM_CSTATE_STATES]
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 99
6.6.4.19 loads_where
UInt64 ParametricDramDirectoryMSI::CacheCntlr::loads_where[HitWhere::NUM_HITWHERES]
6.6.4.20 m_cache_block_size
6.6.4.21 m_cache_writethrough
6.6.4.22 m_coherent
6.6.4.23 m_core_id
6.6.4.24 m_core_id_master
6.6.4.25 m_l1_mshr
6.6.4.26 m_last_level
Generated by Doxygen
100 Class Documentation
6.6.4.27 m_last_remote_hit_where
6.6.4.28 m_master
6.6.4.29 m_mem_component
6.6.4.30 m_memory_manager
6.6.4.31 m_network_thread_sem
6.6.4.32 m_next_cache_cntlr
6.6.4.33 m_next_level_read_bandwidth
ComponentBandwidthPerCycle ParametricDramDirectoryMSI::CacheCntlr::m_next_level_read_bandwidth
[private]
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 101
6.6.4.34 m_passthrough
6.6.4.35 m_perfect
6.6.4.36 m_prefetch_on_prefetch_hit
6.6.4.37 m_shared_cores
6.6.4.38 m_shmem_perf
6.6.4.39 m_shmem_perf_global
6.6.4.40 m_shmem_perf_model
6.6.4.41 m_shmem_perf_numrequests
Generated by Doxygen
102 Class Documentation
6.6.4.42 m_shmem_perf_totaltime
6.6.4.43 m_shmem_req_source_map
6.6.4.44 m_tag_directory_home_lookup
6.6.4.45 m_user_thread_sem
6.6.4.46 m_writeback_time
6.6.4.47 mshr_latency
SubsecondTime ParametricDramDirectoryMSI::CacheCntlr::mshr_latency
6.6.4.48 prefetches
UInt64 ParametricDramDirectoryMSI::CacheCntlr::prefetches
Generated by Doxygen
6.6 ParametricDramDirectoryMSI::CacheCntlr Class Reference 103
6.6.4.49 qbs_query_latency
SubsecondTime ParametricDramDirectoryMSI::CacheCntlr::qbs_query_latency
6.6.4.50 snoop_latency
SubsecondTime ParametricDramDirectoryMSI::CacheCntlr::snoop_latency
6.6.4.51 stats
6.6.4.52 store_misses
UInt64 ParametricDramDirectoryMSI::CacheCntlr::store_misses
6.6.4.53 store_misses_state
UInt64 ParametricDramDirectoryMSI::CacheCntlr::store_misses_state[CacheState::NUM_CSTATE_STA-
TES]
6.6.4.54 store_overlapping_misses
UInt64 ParametricDramDirectoryMSI::CacheCntlr::store_overlapping_misses
6.6.4.55 stores
UInt64 ParametricDramDirectoryMSI::CacheCntlr::stores
Generated by Doxygen
104 Class Documentation
6.6.4.56 stores_prefetch
UInt64 ParametricDramDirectoryMSI::CacheCntlr::stores_prefetch
6.6.4.57 stores_state
UInt64 ParametricDramDirectoryMSI::CacheCntlr::stores_state[CacheState::NUM_CSTATE_STATES]
6.6.4.58 stores_where
UInt64 ParametricDramDirectoryMSI::CacheCntlr::stores_where[HitWhere::NUM_HITWHERES]
6.6.4.59 total_latency
SubsecondTime ParametricDramDirectoryMSI::CacheCntlr::total_latency
The documentation for this class was generated from the following files:
cache_cntlr.h
cache_cntlr.cc
#include <cache_cntlr.h>
ParametricDramDirectoryMSI
::CacheCntlrList
Generated by Doxygen
6.8 ParametricDramDirectoryMSI::CacheDirectoryWaiter Class Reference 105
ParametricDramDirectoryMSI
::CacheCntlrList
The documentation for this class was generated from the following file:
cache_cntlr.h
#include <cache_cntlr.h>
Generated by Doxygen
106 Class Documentation
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity CacheBase
# m_blocksize
# m_name
# m_lock
# m_cache_size
ReqQueueListTemplate + CacheSet() # m_associativity
< T_Req > + ~CacheSet() # m_blocksize
+ getBlockSize() # m_hash
- m_req_queue_list
+ getAssociativity() # m_num_sets
+ ReqQueueListTemplate() std::vector< CacheCntlr * > CacheSetInfo + getLock() # m_ahl
+ ~ReqQueueListTemplate() + read_line() # m_log_blocksize
+ enqueue() + write_line()
+ CacheBase()
+ dequeue() + ~CacheSetInfo() + find()
+ ~CacheBase()
+ front() + invalidate()
+ splitAddress()
+ back() + insert()
+ splitAddress()
+ size() + peekBlock()
+ tagToAddress()
+ empty() + getDataPtr()
+ getName()
+ getBlockSize()
+ getNumSets()
+ getReplacementIndex()
+ getAssociativity()
+ updateReplacementIndex()
+ parseAddressHash()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
Cache
- m_enabled
- m_num_accesses
ReqQueueListTemplate - m_num_hits
< CacheDirectoryWaiter > - m_cache_type
- m_fault_injector
- m_req_queue_list
Prefetcher ParametricDramDirectoryMSI + Cache()
+ ReqQueueListTemplate() ::CacheCntlrList + ~Cache()
+ ~ReqQueueListTemplate()
+ getSetLock()
+ enqueue()
+ getNextAddress() + invalidateSingleLine()
+ dequeue()
+ createPrefetcher() + accessSingleLine()
+ front()
+ insertSingleLine()
+ back()
+ peekSingleLine()
+ size()
+ peekBlock()
+ empty()
+ updateCounters()
+ updateHits()
+ enable()
+ disable()
ParametricDramDirectoryMSI
::CacheMasterCntlr
- m_cache_lock
- m_smt_lock
- m_dram_cntlr
- m_dram_outstanding
_writebacks
- mshr
- m_l1_mshr
CacheCntlr - m_next_level_read_bandwidth
- m_evicting_address
- m_evicting_buf
- m_atds
+ isInLowerLevelCache() - m_setlocks
+ incrementQBSLookupCost() - m_log_blocksize
- m_num_sets
- m_prefetch_list
- m_prefetch_next
- createSetLocks()
- getSetLock()
- createATDs()
- accessATDs()
- CacheMasterCntlr()
- ~CacheMasterCntlr()
NucaCache
- m_core_id
- m_memory_manager
- m_shmem_perf_model ParametricDramDirectoryMSI::TLB
- m_home_lookup
- m_cache_block_size - m_size
- m_data_access_time - m_associativity
- m_tags_access_time - m_access
- m_data_array_bandwidth - m_miss
-m_master - m_queue_model - SIM_PAGE_SHIFT -m_next_level
- m_reads - SIM_PAGE_SIZE
- m_writes - SIM_PAGE_MASK
- m_read_misses
- m_write_misses + TLB()
+ lookup()
+ NucaCache() + allocate()
+ ~NucaCache()
+ read()
+ write()
- accessDataArray()
ParametricDramDirectoryMSI
::CacheCntlr
+ loads
+ stores
+ load_misses
+ store_misses
+ load_overlapping_misses
+ store_overlapping_misses
+ loads_state
+ stores_state
+ loads_where
+ stores_where
+ load_misses_state
+ store_misses_state
+ loads_prefetch
+ stores_prefetch
+ hits_prefetch
+ evict_prefetch
+ invalidate_prefetch
+ evict
and 13 more...
- m_mem_component
- m_tag_directory_home
_lookup
- m_shmem_req_source_map
- m_perfect
- m_passthrough
- m_coherent
- m_prefetch_on_prefetch_hit
- m_l1_mshr
- stats
- m_core_id
- m_cache_block_size
- m_cache_writethrough
- m_writeback_time
- m_next_level_read_bandwidth
- m_shared_cores
- m_core_id_master
- m_user_thread_sem
- m_network_thread_sem
- m_last_remote_hit_where
- m_shmem_perf
- m_shmem_perf_global
- m_shmem_perf_totaltime MemoryManagerBase
- m_shmem_perf_numrequests -m_itlb
-m_next_cache_cntlr
- m_shmem_perf_model -m_nuca_cache -m_dtlb
-m_last_level
-m_stlb
+ CacheCntlr()
+ ~CacheCntlr()
+ getCache()
+ getLock()
+ setPrevCacheCntlrs()
+ setNextCacheCntlr()
+ createSetLocks()
+ setDRAMDirectAccess()
+ processMemOpFromCore()
+ updateHits()
+ notifyPrevLevelInsert()
+ notifyPrevLevelEvict()
+ handleMsgFromDramDirectory()
+ acquireLock()
+ releaseLock()
+ acquireStackLock()
+ releaseStackLock()
+ isMasterCache()
+ isFirstLevel()
+ isLastLevel()
+ isShared()
+ isInLowerLevelCache()
+ incrementQBSLookupCost()
+ enable()
+ disable()
- updateCounters()
- cleanupMshr()
- transition()
- updateUncoreStatistics()
- accessCache()
- operationPermissibleinCache()
- copyDataFromNextLevel()
- trainPrefetcher()
- Prefetch()
- doPrefetch()
- getCacheBlockInfo()
- getCacheState()
- getCacheState()
- setCacheState()
- invalidateCacheBlock()
- retrieveCacheBlock()
- insertCacheBlock()
- updateCacheBlock()
and 26 more...
- __walkUsageBits()
ParametricDramDirectoryMSI
::MemoryManager
- m_dram_cache
- m_dram_directory_cntlr
- m_dram_cntlr
- m_tag_directory_home
_lookup
- m_dram_controller_home
_lookup
- m_tlb_miss_penalty
- m_tlb_miss_parallel
- m_core_id_master
- m_tag_directory_present
- m_dram_cntlr_present
- m_user_thread_sem
- m_network_thread_sem
- m_cache_block_size
- m_last_level_cache
- m_enabled
- m_cache_perf_models
ParametricDramDirectoryMSI - m_all_cache_cntlrs
::CacheDirectoryWaiter + MemoryManager()
+ exclusive + ~MemoryManager()
+ isPrefetch + getCacheBlockSize()
+ t_issue + getCache()
+ getL1ICache()
+ CacheDirectoryWaiter() + getL1DCache()
+ getLastLevelCache()
+ getDramDirectoryCache()
+ getDramCntlr()
+ getTagDirectoryHomeLookup()
+ getDramControllerHomeLookup()
+ getCacheCntlrAt()
+ setCacheCntlrAt()
+ coreInitiateMemoryAccess()
+ handleMsgFromNetwork()
+ sendMsg()
+ broadcastMsg()
+ getL1HitLatency()
+ addL1Hits()
+ enableModels()
+ disableModels()
+ getShmemRequester()
+ getModeledLength()
+ getCost()
+ incrElapsedTime()
+ incrElapsedTime()
- accessTLB()
Public Attributes
bool exclusive
Generated by Doxygen
6.8 ParametricDramDirectoryMSI::CacheDirectoryWaiter Class Reference 107
bool isPrefetch
CacheCntlr cache_cntlr
SubsecondTime t_issue
6.8.1.1 CacheDirectoryWaiter()
ParametricDramDirectoryMSI::CacheDirectoryWaiter::CacheDirectoryWaiter (
bool _exclusive,
bool _isPrefetch,
CacheCntlr _cache_cntlr,
SubsecondTime _t_issue ) [inline]
6.8.2.1 cache_cntlr
CacheCntlr ParametricDramDirectoryMSI::CacheDirectoryWaiter::cache_cntlr
6.8.2.2 exclusive
bool ParametricDramDirectoryMSI::CacheDirectoryWaiter::exclusive
6.8.2.3 isPrefetch
bool ParametricDramDirectoryMSI::CacheDirectoryWaiter::isPrefetch
6.8.2.4 t_issue
SubsecondTime ParametricDramDirectoryMSI::CacheDirectoryWaiter::t_issue
The documentation for this class was generated from the following file:
cache_cntlr.h
Generated by Doxygen
108 Class Documentation
#include <cache_cntlr.h>
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
CacheBase # m_associativity
# m_blocksize
# m_name
# m_lock
# m_cache_size
ReqQueueListTemplate # m_associativity + CacheSet()
< T_Req > # m_blocksize + ~CacheSet()
# m_hash + getBlockSize()
- m_req_queue_list
# m_num_sets + getAssociativity()
std::vector< CacheCntlr * > + ReqQueueListTemplate() # m_ahl CacheSetInfo + getLock()
+ ~ReqQueueListTemplate() # m_log_blocksize + read_line()
+ enqueue() + write_line()
+ CacheBase()
+ dequeue() + ~CacheSetInfo() + find()
+ ~CacheBase()
+ front() + invalidate()
+ splitAddress()
+ back() + insert()
+ splitAddress()
+ size() + peekBlock()
+ tagToAddress()
+ empty() + getDataPtr()
+ getName()
+ getBlockSize()
+ getNumSets()
+ getReplacementIndex()
+ getAssociativity()
+ updateReplacementIndex()
+ parseAddressHash()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
Cache
- m_enabled
- m_num_accesses
ReqQueueListTemplate - m_num_hits
< CacheDirectoryWaiter > - m_cache_type
- m_fault_injector
- m_req_queue_list
Prefetcher ParametricDramDirectoryMSI
+ Cache()
::CacheCntlrList + ReqQueueListTemplate()
+ ~Cache()
+ ~ReqQueueListTemplate()
+ getSetLock()
+ enqueue()
+ getNextAddress() + invalidateSingleLine()
+ dequeue()
+ createPrefetcher() + accessSingleLine()
+ front()
+ insertSingleLine()
+ back()
+ peekSingleLine()
+ size()
+ peekBlock()
+ empty()
+ updateCounters()
+ updateHits()
+ enable()
+ disable()
ParametricDramDirectoryMSI
::CacheMasterCntlr
- m_cache_lock
- m_smt_lock
- m_dram_cntlr
- m_dram_outstanding
_writebacks
- mshr
- m_l1_mshr
- m_next_level_read_bandwidth
- m_evicting_address
- m_evicting_buf
- m_atds
- m_setlocks
- m_log_blocksize
- m_num_sets
- m_prefetch_list
- m_prefetch_next
- createSetLocks()
- getSetLock()
- createATDs()
- accessATDs()
- CacheMasterCntlr()
- ~CacheMasterCntlr()
void createSetLocks (UInt32 cache_block_size, UInt32 num_sets, UInt32 core_offset, UInt32 num_cores)
SetLock getSetLock (IntPtr addr)
Generated by Doxygen
6.9 ParametricDramDirectoryMSI::CacheMasterCntlr Class Reference 109
void createATDs (String name, String configName, core_id_t core_id, UInt32 shared_cores, UInt32 size,
UInt32 associativity, UInt32 block_size, String replacement_policy, CacheBase::hash_t hash_function)
void accessATDs (Core::mem_op_t mem_op_type, bool hit, IntPtr address, UInt32 core_num)
CacheMasterCntlr (String name, core_id_t core_id, UInt32 outstanding_misses)
CacheMasterCntlr ()
Private Attributes
Cache m_cache
Lock m_cache_lock
Lock m_smt_lock
CacheCntlrList m_prev_cache_cntlrs
Prefetcher m_prefetcher
DramCntlrInterface m_dram_cntlr
ContentionModel m_dram_outstanding_writebacks
Mshr mshr
ContentionModel m_l1_mshr
ContentionModel m_next_level_read_bandwidth
CacheDirectoryWaiterMap m_directory_waiters
IntPtr m_evicting_address
Byte m_evicting_buf
std::vector< ATD > m_atds
std::vector< SetLock > m_setlocks
UInt32 m_log_blocksize
UInt32 m_num_sets
std::deque< IntPtr > m_prefetch_list
SubsecondTime m_prefetch_next
Friends
class CacheCntlr
6.9.1.1 CacheMasterCntlr()
ParametricDramDirectoryMSI::CacheMasterCntlr::CacheMasterCntlr (
String name,
core_id_t core_id,
UInt32 outstanding_misses ) [inline], [private]
6.9.1.2 CacheMasterCntlr()
ParametricDramDirectoryMSI::CacheMasterCntlr::CacheMasterCntlr ( ) [private]
Generated by Doxygen
110 Class Documentation
6.9.2.1 accessATDs()
void ParametricDramDirectoryMSI::CacheMasterCntlr::accessATDs (
Core::mem_op_t mem_op_type,
bool hit,
IntPtr address,
UInt32 core_num ) [private]
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
PrevCache
6.9.2.2 createATDs()
void ParametricDramDirectoryMSI::CacheMasterCntlr::createATDs (
String name,
String configName,
core_id_t core_id,
UInt32 shared_cores,
UInt32 size,
UInt32 associativity,
UInt32 block_size,
String replacement_policy,
CacheBase::hash_t hash_function ) [private]
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheMasterCntlr::createATDs ::CacheCntlr::CacheCntlr
Generated by Doxygen
6.9 ParametricDramDirectoryMSI::CacheMasterCntlr Class Reference 111
6.9.2.3 createSetLocks()
void ParametricDramDirectoryMSI::CacheMasterCntlr::createSetLocks (
UInt32 cache_block_size,
UInt32 num_sets,
UInt32 core_offset,
UInt32 num_cores ) [private]
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheMasterCntlr::createSetLocks ::CacheCntlr::createSetLocks
6.9.2.4 getSetLock()
SetLock ParametricDramDirectoryMSI::CacheMasterCntlr::getSetLock (
IntPtr addr ) [private]
ParametricDramDirectoryMSI
::CacheCntlr::acquireLock
ParametricDramDirectoryMSI
::CacheCntlr::releaseLock
ParametricDramDirectoryMSI
::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock
ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI ParametricDramDirectoryMSI
PrevCache ::CacheCntlr::doPrefetch ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory ParametricDramDirectoryMSI
::CacheCntlr::accessCache
ParametricDramDirectoryMSI
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
Access
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processWbReqFromDram ::CacheCntlr::handleMsgFromDram
::CacheCntlr::acquireStackLock Directory Directory ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork
6.9.3.1 CacheCntlr
Generated by Doxygen
112 Class Documentation
6.9.4.1 m_atds
6.9.4.2 m_cache
6.9.4.3 m_cache_lock
6.9.4.4 m_directory_waiters
CacheDirectoryWaiterMap ParametricDramDirectoryMSI::CacheMasterCntlr::m_directory_waiters
[private]
6.9.4.5 m_dram_cntlr
6.9.4.6 m_dram_outstanding_writebacks
ContentionModel ParametricDramDirectoryMSI::CacheMasterCntlr::m_dram_outstanding_writebacks
[private]
6.9.4.7 m_evicting_address
Generated by Doxygen
6.9 ParametricDramDirectoryMSI::CacheMasterCntlr Class Reference 113
6.9.4.8 m_evicting_buf
6.9.4.9 m_l1_mshr
6.9.4.10 m_log_blocksize
6.9.4.11 m_next_level_read_bandwidth
ContentionModel ParametricDramDirectoryMSI::CacheMasterCntlr::m_next_level_read_bandwidth
[private]
6.9.4.12 m_num_sets
6.9.4.13 m_prefetch_list
6.9.4.14 m_prefetch_next
Generated by Doxygen
114 Class Documentation
6.9.4.15 m_prefetcher
6.9.4.16 m_prev_cache_cntlrs
6.9.4.17 m_setlocks
6.9.4.18 m_smt_lock
6.9.4.19 mshr
The documentation for this class was generated from the following files:
cache_cntlr.h
cache_cntlr.cc
Generated by Doxygen
6.10 ParametricDramDirectoryMSI::CacheParameters Class Reference 115
#include <cache_cntlr.h>
ParametricDramDirectoryMSI
::CacheParameters
+ configName
+ size
+ num_sets
+ associativity
+ hash_function
+ replacement_policy
+ perfect
+ coherent
+ data_access_time
+ tags_access_time
+ writeback_time
+ next_level_read_bandwidth
+ perf_model_type
+ writethrough
+ shared_cores
+ prefetcher
+ outstanding_misses
+ CacheParameters()
+ CacheParameters()
CacheParameters ()
CacheParameters (String _configName, UInt32 _size, UInt32 _associativity, UInt32 block_size, String _-
hash_function, String _replacement_policy, bool _perfect, bool _coherent, const ComponentLatency &_-
data_access_time, const ComponentLatency &_tags_access_time, const ComponentLatency &_writeback-
_time, const ComponentBandwidthPerCycle &_next_level_read_bandwidth, String _perf_model_type, bool
_writethrough, UInt32 _shared_cores, String _prefetcher, UInt32 _outstanding_misses)
Public Attributes
String configName
UInt32 size
UInt32 num_sets
UInt32 associativity
String hash_function
String replacement_policy
bool perfect
Generated by Doxygen
116 Class Documentation
bool coherent
ComponentLatency data_access_time
ComponentLatency tags_access_time
ComponentLatency writeback_time
ComponentBandwidthPerCycle next_level_read_bandwidth
String perf_model_type
bool writethrough
UInt32 shared_cores
String prefetcher
UInt32 outstanding_misses
ParametricDramDirectoryMSI::CacheParameters::CacheParameters ( ) [inline]
ParametricDramDirectoryMSI::CacheParameters::CacheParameters (
String _configName,
UInt32 _size,
UInt32 _associativity,
UInt32 block_size,
String _hash_function,
String _replacement_policy,
bool _perfect,
bool _coherent,
const ComponentLatency & _data_access_time,
const ComponentLatency & _tags_access_time,
const ComponentLatency & _writeback_time,
const ComponentBandwidthPerCycle & _next_level_read_bandwidth,
String _perf_model_type,
bool _writethrough,
UInt32 _shared_cores,
String _prefetcher,
UInt32 _outstanding_misses ) [inline]
6.10.2.1 associativity
UInt32 ParametricDramDirectoryMSI::CacheParameters::associativity
Generated by Doxygen
6.10 ParametricDramDirectoryMSI::CacheParameters Class Reference 117
6.10.2.2 coherent
bool ParametricDramDirectoryMSI::CacheParameters::coherent
6.10.2.3 configName
String ParametricDramDirectoryMSI::CacheParameters::configName
6.10.2.4 data_access_time
ComponentLatency ParametricDramDirectoryMSI::CacheParameters::data_access_time
6.10.2.5 hash_function
String ParametricDramDirectoryMSI::CacheParameters::hash_function
6.10.2.6 next_level_read_bandwidth
ComponentBandwidthPerCycle ParametricDramDirectoryMSI::CacheParameters::next_level_read_-
bandwidth
6.10.2.7 num_sets
UInt32 ParametricDramDirectoryMSI::CacheParameters::num_sets
6.10.2.8 outstanding_misses
UInt32 ParametricDramDirectoryMSI::CacheParameters::outstanding_misses
Generated by Doxygen
118 Class Documentation
6.10.2.9 perf_model_type
String ParametricDramDirectoryMSI::CacheParameters::perf_model_type
6.10.2.10 perfect
bool ParametricDramDirectoryMSI::CacheParameters::perfect
6.10.2.11 prefetcher
String ParametricDramDirectoryMSI::CacheParameters::prefetcher
6.10.2.12 replacement_policy
String ParametricDramDirectoryMSI::CacheParameters::replacement_policy
6.10.2.13 shared_cores
UInt32 ParametricDramDirectoryMSI::CacheParameters::shared_cores
6.10.2.14 size
UInt32 ParametricDramDirectoryMSI::CacheParameters::size
6.10.2.15 tags_access_time
ComponentLatency ParametricDramDirectoryMSI::CacheParameters::tags_access_time
6.10.2.16 writeback_time
ComponentLatency ParametricDramDirectoryMSI::CacheParameters::writeback_time
Generated by Doxygen
6.11 CacheSet Class Reference 119
6.10.2.17 writethrough
bool ParametricDramDirectoryMSI::CacheParameters::writethrough
The documentation for this class was generated from the following file:
cache_cntlr.h
Cache_Set class.
#include <cache_set.h>
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetEWSRRIP
CacheSetEWLRU + m_rrip_flag
+ m_rrip_W_index CacheSetSRRIP
+ m_stored_EW_type
+ m_rrip_RW_index CacheSetMRUT
+ m_lru_W_index CacheSetLRU
+ m_rrip_R_index CacheSetNRU - m_rrip_numbits
+ m_lru_RW_index CacheSetNMRU
- m_rrip_numbits CacheSetMRU - m_lru_bits CacheSetPLRU CacheSetRandom CacheSetRoundRobin - m_rrip_max
+ m_lru_R_index # m_num_attempts
- m_rrip_max - m_mru_bits - m_lru_bits - m_rrip_insert
# m_num_attempts # m_lru_bits - m_lru_bits
- m_rrip_insert - m_lru_bits - m_rand - m_num_bits_set -b - m_rand - m_replacement_index - m_num_attempts
# m_lru_bits # m_set_info - m_replacement_pointer
- m_num_attempts - m_replacement_pointer - m_rrip_bits
# m_set_info + CacheSetMRU() + CacheSetMRUT() + CacheSetPLRU() + CacheSetRandom() + CacheSetRoundRobin()
- m_rrip_bits + CacheSetLRU() + CacheSetNMRU() - m_replacement_pointer
- m_replacement_pointer + ~CacheSetMRU() + ~CacheSetMRUT() + CacheSetNRU() + ~CacheSetPLRU() + ~CacheSetRandom() + ~CacheSetRoundRobin() - m_set_info
+ CacheSetEWLRU() + ~CacheSetLRU() + ~CacheSetNMRU()
- m_set_info + getReplacementIndex() + getReplacementIndex() + ~CacheSetNRU() + getReplacementIndex() + getReplacementIndex() + getReplacementIndex()
+ ~CacheSetEWLRU() + getReplacementIndex() + getReplacementIndex()
+ updateReplacementIndex() + updateReplacementIndex() + getReplacementIndex() + updateReplacementIndex() + updateReplacementIndex() + updateReplacementIndex() + CacheSetSRRIP()
+ getReplacementIndex() + updateReplacementIndex() + updateReplacementIndex()
+ CacheSetEWSRRIP() + updateReplacementForFetched + updateReplacementIndex() + ~CacheSetSRRIP()
+ updateReplacementIndex() # moveToMRU()
+ ~CacheSetEWSRRIP() Index() + getReplacementIndex()
# moveToMRU()
+ getReplacementIndex() + updateReplacementIndex()
# evictEW()
+ updateReplacementIndex()
# updateEW()
# evictEW()
# updateEW()
Generated by Doxygen
120 Class Documentation
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
Public Types
Generated by Doxygen
6.11 CacheSet Class Reference 121
static CacheSet createCacheSet (String cfgname, core_id_t core_id, String replacement_policy, Cache-
Base::cache_t cache_type, UInt32 associativity, UInt32 blocksize, CacheSetInfo set_info=NULL)
create Cache Set
static CacheSetInfo createCacheSetInfo (String name, String cfgname, core_id_t core_id, String
replacement_policy, UInt32 associativity)
static CacheBase::ReplacementPolicy parsePolicyType (String policy)
static UInt8 getNumQBSAttempts (CacheBase::ReplacementPolicy, String cfgname, core_id_t core_id)
Public Attributes
UInt32 m_coming_EW_type
A public variable.
UInt32 m_block_op
A public variable.
Protected Attributes
CacheBlockInfo m_cache_block_info_array
char m_blocks
UInt32 m_associativity
UInt32 m_blocksize
Lock m_lock
Generated by Doxygen
122 Class Documentation
Cache_Set class.
Everything related to cache sets. When the pointer of the execution reaches this class's methods, this means the
CPU wants to access or insert a specific block in a set. Per-cache object to store replacement-policy related info
(e.g. statistics), can collect data from all CacheSet objects which are per set and implement the actual replacement
policy
6.11.2.1 ew_access_t
enum CacheSet::ew_access_t
Enumerator
EMPTY
WRITE
READ
6.11.3.1 CacheSet()
CacheSet::CacheSet (
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize )
A constructor.
The constructor wil be use to initialize "m_block_op" array and "m_coming_EW_type" to EMPTY. Here is the call
graph for this function:
CacheSet::CacheSet CacheBlockInfo::create
Generated by Doxygen
6.11 CacheSet Class Reference 123
6.11.3.2 CacheSet()
CacheSet::CacheSet ( ) [virtual]
A destructor.
Free "m_block_op" array from the data that acquired during its lifetime.
6.11.4.1 createCacheSet()
CacheSet CacheSet::createCacheSet (
String cfgname,
core_id_t core_id,
String replacement_policy,
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize,
CacheSetInfo set_info = NULL ) [static]
CacheSet::parsePolicyType
CacheSet::createCacheSet
CacheSet::getNumQBSAttempts
Cache::Cache
CacheSet::createCacheSet
ATD::ATD
Generated by Doxygen
124 Class Documentation
6.11.4.2 createCacheSetInfo()
CacheSetInfo CacheSet::createCacheSetInfo (
String name,
String cfgname,
core_id_t core_id,
String replacement_policy,
UInt32 associativity ) [static]
CacheSet::parsePolicyType
CacheSet::createCacheSetInfo
CacheSet::getNumQBSAttempts
Cache::Cache
CacheSet::createCacheSetInfo
ATD::ATD
6.11.4.3 find()
CacheBlockInfo CacheSet::find (
IntPtr tag,
UInt32 line_index = NULL )
Generated by Doxygen
6.11 CacheSet Class Reference 125
ParametricDramDirectoryMSI
::CacheCntlr::updateUsageBits
ParametricDramDirectoryMSI
::CacheCntlr::operationPermissibleinCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelInsert ::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::Prefetch ::CacheCntlr::processMemOpFromCore
::CacheCntlr::doPrefetch
NucaCache::read ParametricDramDirectoryMSI
Cache::peekSingleLine ::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
CacheSet::find NucaCache::write ::CacheCntlr::setCacheState ::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeReq ::CacheCntlr::initiateDirectory
ToDirectory Access
ParametricDramDirectoryMSI
::CacheCntlr::processExReqToDirectory
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::getCacheState ::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram ::CacheCntlr::handleMsgFromDram
Directory Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
ParametricDramDirectoryMSI ::MemoryManager::accessTLB Access
::CacheCntlr::updateCacheBlock ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
FromDramDirectory
ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom ::TLB::lookup
DramDirectory
ParametricDramDirectoryMSI
::TLB::allocate
6.11.4.4 getAssociativity()
UInt32 CacheSet::getBlockSize (
void ) const [inline]
6.11.4.7 getDataPtr()
char CacheSet::getDataPtr (
UInt32 line_index,
UInt32 offset = 0 )
Generated by Doxygen
126 Class Documentation
6.11.4.8 getLock()
CacheSet::getLock Cache::getSetLock
6.11.4.9 getNumQBSAttempts()
UInt8 CacheSet::getNumQBSAttempts (
CacheBase::ReplacementPolicy policy,
String cfgname,
core_id_t core_id ) [static]
CacheSet::createCacheSet Cache::Cache
CacheSet::getNumQBSAttempts
CacheSet::createCacheSetInfo ATD::ATD
6.11.4.10 getReplacementIndex()
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::TLB::lookup
::MemoryManager::accessTLB
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShRepFromDram
::TLB::allocate Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory ParametricDramDirectoryMSI
CacheSet::getReplacement ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
CacheSet::insert Cache::insertSingleLine
Index ::CacheCntlr::insertCacheBlock Access
NucaCache::write
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
Generated by Doxygen
6.11 CacheSet Class Reference 127
6.11.4.11 insert()
void CacheSet::insert (
CacheBlockInfo cache_block_info,
Byte fill_buff,
bool eviction,
CacheBlockInfo evict_block_info,
Byte evict_buff,
CacheCntlr cntlr = NULL )
On miss, the cache will get the index that will be evicted from the cache set.In order to get the victim index, the
"insert" method will call getReplacementIndex method from the specified replacement policy in the command line.
Here is the call graph for this function:
CacheSet::getReplacement
Index
CacheSet::insert CacheBlockInfo::getTag
CacheBlockInfo::clone
CacheBlockInfo::getCState
ParametricDramDirectoryMSI
::TLB::lookup ParametricDramDirectoryMSI
::MemoryManager::accessTLB
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShRepFromDram
::TLB::allocate Directory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::coreInitiateMemory
CacheSet::insert Cache::insertSingleLine
::CacheCntlr::insertCacheBlock Access
NucaCache::write
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processMemOpFromCore
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
6.11.4.12 invalidate()
bool CacheSet::invalidate (
IntPtr & tag )
CacheSet::invalidate CacheBlockInfo::invalidate
Generated by Doxygen
128 Class Documentation
ParametricDramDirectoryMSI
CacheSet::invalidate Cache::invalidateSingleLine
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShmemReqFrom
::CacheCntlr::copyDataFromNextLevel PrevCache ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::Prefetch ::CacheCntlr::processMemOpFromCore ::MemoryManager::coreInitiateMemory
Access ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::updateCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom ::CacheCntlr::handleMsgFromDram ::MemoryManager::handleMsgFromNetwork
DramDirectory Directory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
6.11.4.13 isValidReplacement()
bool CacheSet::isValidReplacement (
UInt32 index )
CacheSetEWLRU::getReplacement
Index
CacheSetLRU::getReplacement
Index
CacheSetMRU::getReplacement
Index
CacheSetNMRU::getReplacement
Index
CacheSetNRU::getReplacement
CacheSet::isValidReplacement
Index
CacheSetPLRU::getReplacement
Index
CacheSetRandom::getReplacement
Index
CacheSetRoundRobin
::getReplacementIndex
CacheSetSRRIP::getReplacement
Index
Generated by Doxygen
6.11 CacheSet Class Reference 129
6.11.4.14 parsePolicyType()
CacheBase::ReplacementPolicy CacheSet::parsePolicyType (
String policy ) [static]
CacheSet::createCacheSet Cache::Cache
CacheSet::parsePolicyType
CacheSet::createCacheSetInfo ATD::ATD
6.11.4.15 peekBlock()
CacheBlockInfo CacheSet::peekBlock (
UInt32 way ) const [inline]
ParametricDramDirectoryMSI
CacheSet::peekBlock Cache::peekBlock
::CacheCntlr::walkUsageBits
6.11.4.16 read_line()
void CacheSet::read_line (
UInt32 line_index,
UInt32 offset,
Byte out_buff,
UInt32 bytes,
bool update_replacement )
A read line method is called when the block is found and read process is sent from CPU- hit.
For EW-SRRIP :the m_block_op array will save the operation corresponded to the line(block)index. 1 is read, 2 for
write, and 3 for both
For EW-LRU : "m_coming_EW_type" will be set to ew_access_t(READ=2), so we can check this in the EWLRU
replacement policy class when this method is invoked during a hit and the operation is read. The m_block_op array
Generated by Doxygen
130 Class Documentation
will save the operation corresponded to the line(block)index. 1 is read, 2 for write, and 3 for bothHere is the call
graph for this function:
CacheSet::updateReplacement
CacheSet::read_line
Index
6.11.4.17 updateReplacementIndex()
CacheSet::read_line
CacheSet::updateReplacement
Index
CacheSet::write_line
6.11.4.18 write_line()
void CacheSet::write_line (
UInt32 line_index,
UInt32 offset,
Byte in_buff,
UInt32 bytes,
bool update_replacement )
A write line method is called when the block is found and write process is sent from CPU- hit-.
Generated by Doxygen
6.11 CacheSet Class Reference 131
For EW-SRRIP :the m_block_op array will save the operation corresponded to the line(block)index. 1 is read, 2 for
write, and 3 for both
For EW-LRU : "m_coming_EW_type" will be set to ew_access_t(WRITE = 1), so we can check this in the EWLRU
replacement policy class when this method is invoked when we got a hit and the operation is write. The m_block_op
array will save the operation corresponded to the line(block)index. 1 is read, 2 for write, and 3 for both Here is the
call graph for this function:
CacheSet::updateReplacement
CacheSet::write_line
Index
6.11.5.1 m_associativity
6.11.5.2 m_block_op
UInt32 CacheSet::m_block_op
A public variable.
6.11.5.3 m_blocks
6.11.5.4 m_blocksize
Generated by Doxygen
132 Class Documentation
6.11.5.5 m_cache_block_info_array
6.11.5.6 m_coming_EW_type
UInt32 CacheSet::m_coming_EW_type
A public variable.
6.11.5.7 m_lock
The documentation for this class was generated from the following files:
cache_set.h
cache_set.cc
EW-LRU: Evict Write strategy for Least Recently Used cache replacement policy.
#include <cache_set_ew_lru.h>
Generated by Doxygen
6.12 CacheSetEWLRU Class Reference 133
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetEWLRU
+ m_stored_EW_type
+ m_lru_W_index
+ m_lru_RW_index
+ m_lru_R_index
# m_num_attempts
# m_lru_bits
# m_set_info
+ CacheSetEWLRU()
+ ~CacheSetEWLRU()
+ getReplacementIndex()
+ updateReplacementIndex()
# moveToMRU()
# evictEW()
# updateEW()
Generated by Doxygen
134 Class Documentation
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
CacheSetInfo
+ clone()
+ isValid()
+ getTag()
+ getCState() + ~CacheSetInfo()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet() CacheSetInfoLRU
+ getBlockSize()
+ getAssociativity() CacheSetEWLRU::ew_array - m_associativity
+ getLock() - m_access
+ read_line() + was_read - m_attempts
+ write_line() + was_written
+ CacheSetInfoLRU()
+ find()
+ ~CacheSetInfoLRU()
+ invalidate()
+ increment()
+ insert()
+ incrementAttempt()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
+m_stored_EW_type #m_set_info
CacheSetEWLRU
+ m_lru_W_index
+ m_lru_RW_index
+ m_lru_R_index
# m_num_attempts
# m_lru_bits
+ CacheSetEWLRU()
+ ~CacheSetEWLRU()
+ getReplacementIndex()
+ updateReplacementIndex()
# moveToMRU()
# evictEW()
# updateEW()
Classes
struct ew_array
A public struct variable.
Generated by Doxygen
6.12 CacheSetEWLRU Class Reference 135
Public Attributes
Protected Attributes
EW-LRU: Evict Write strategy for Least Recently Used cache replacement policy.
EWLRU eviction decision evicts the LRU block that was reused by write operation since it was brought in the cache.
If there are no blocks in the set are reused by writes, blocks that have both read and written are the next candidates
for replacement. If there are no block had both read and write, then the strategy fallbacks to LRU eviction for the
read blocks. When the candidate has been chosen, then evict it and replace it by the new block which will move to
the MRU position
Generated by Doxygen
136 Class Documentation
6.12.2.1 CacheSetEWLRU()
CacheSetEWLRU::CacheSetEWLRU (
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize,
CacheSetInfoLRU set_info,
UInt8 num_attempts )
A constructor.
"m_stored_EW_type" is of the type struct ew_array. It has two bool values "was_read" and "was_write", and they
will be initialized to false.
6.12.2.2 CacheSetEWLRU()
CacheSetEWLRU::CacheSetEWLRU ( ) [virtual]
A destructor.
Free m_lru_bits and m_stored_EW_type from the data that acquired during their lifetime.
6.12.3.1 evictEW()
evictEW() method for return the type of the operation that happened in the block
2.1- If the index is found with "m_stored_EW_type.was_read" and "m_stored_EW_type.was_written" are ture , then
save it in "m_lru_RW_index"
2.2- If the index is with only "m_stored_EW_type.was_read" being true, then save it in "m_lru_R_index" variable
2.3- If the index is with only "m_stored_EW_type[i].was_written" being true, then save it in " m_lru_W_index" variable
2.4- keep repeating and looping through the entire set to get the LRU blocks
3.1- Check if block with write operation was found then return it
3.2- Check if block with both operations was found then return it
3.3- Check if block with read operation was found then return it
Generated by Doxygen
6.12 CacheSetEWLRU Class Reference 137
Returns
CacheSetEWLRU::getReplacement
CacheSetEWLRU::evictEW
Index
6.12.3.2 getReplacementIndex()
UInt32 CacheSetEWLRU::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
getReplacementIndex method will first uses loop and checks if there is an invalid line(s) in the set. When a block
is found, the block will be moved to MRU and then the new block will overwritten it in the CacheSet::insert method.
Next, updateEW() will be called to update m_stored_EW_type variable.
See also
updateEW()
Returns
If there is no valid block, then calling evictEW() method will be made to find the right block. When a block is found,
the block will be moved to MRU and then the new block will overwritten it in the CacheSet::insert method. Then later
updateEW() will be called to update m_stored_EW_type variable.
See also
updateEW() , evictEW()
Generated by Doxygen
138 Class Documentation
Returns
Implements CacheSet.
CacheSetEWLRU::moveToMRU
CacheSetEWLRU::updateEW
CacheSetEWLRU::getReplacement
Index
CacheSet::isValidReplacement
CacheSetEWLRU::evictEW
6.12.3.3 moveToMRU()
void CacheSetEWLRU::moveToMRU (
UInt32 accessed_index ) [protected]
Method responsible to move the block to MRU position. the MRU is index "0" in m_lru_bits array, which will be send
back to CacheSet::insert method.
CacheSetEWLRU::getReplacement
Index
CacheSetEWLRU::moveToMRU
CacheSetEWLRU::updateReplacement
Index
Generated by Doxygen
6.12 CacheSetEWLRU Class Reference 139
6.12.3.4 updateEW()
void CacheSetEWLRU::updateEW (
UInt32 accessed_index ) [protected]
See also:
See also
CacheSet::read_line()
CacheSet::write_line()
CacheSetEWLRU::getReplacement
Index
CacheSetEWLRU::updateEW
CacheSetEWLRU::updateReplacement
Index
6.12.3.5 updateReplacementIndex()
void CacheSetEWLRU::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
The accessed block will be updated by moving to MRU position. Then later updateEW() will be called to update
m_stored_EW_type variable. See also:
See also
CacheSet::read_line()
CacheSet::write_line()
updateEW()
Generated by Doxygen
140 Class Documentation
Implements CacheSet.
CacheSetInfoLRU::increment
CacheSetEWLRU::updateReplacement
CacheSetEWLRU::moveToMRU
Index
CacheSetEWLRU::updateEW
6.12.4.1 m_lru_bits
6.12.4.2 m_lru_R_index
SInt32 CacheSetEWLRU::m_lru_R_index
A public variable.
we use this variable to assign the type of the read operation that was done on a block
6.12.4.3 m_lru_RW_index
SInt32 CacheSetEWLRU::m_lru_RW_index
A public variable.
we use this variable to assign the type of the read/ write operation that was done on a block
6.12.4.4 m_lru_W_index
SInt32 CacheSetEWLRU::m_lru_W_index
A public variable.
we use the variable to assign the type of the write operation that was done on a block
Generated by Doxygen
6.13 CacheSetEWSRRIP Class Reference 141
6.12.4.5 m_num_attempts
6.12.4.6 m_set_info
6.12.4.7 m_stored_EW_type
The documentation for this class was generated from the following files:
cache_set_ew_lru.h
cache_set_ew_lru.cc
EW-S-RRIP: Evict Write strategy for Static Re-reference Interval Prediction cache replacement policy.
#include <cache_set_ew_srrip.h>
Generated by Doxygen
142 Class Documentation
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetEWSRRIP
+ m_rrip_flag
+ m_rrip_W_index
+ m_rrip_RW_index
+ m_rrip_R_index
- m_rrip_numbits
- m_rrip_max
- m_rrip_insert
- m_num_attempts
- m_rrip_bits
- m_replacement_pointer
- m_set_info
+ CacheSetEWSRRIP()
+ ~CacheSetEWSRRIP()
+ getReplacementIndex()
+ updateReplacementIndex()
# evictEW()
# updateEW()
Generated by Doxygen
6.13 CacheSetEWSRRIP Class Reference 143
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
CacheSetInfo
+ clone()
+ isValid()
+ getTag()
+ getCState() + ~CacheSetInfo()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet() CacheSetInfoLRU
+ getBlockSize()
+ getAssociativity() - m_associativity
+ getLock() - m_access
+ read_line() - m_attempts
+ write_line()
+ CacheSetInfoLRU()
+ find()
+ ~CacheSetInfoLRU()
+ invalidate()
+ increment()
+ insert()
+ incrementAttempt()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
-m_set_info
CacheSetEWSRRIP
+ m_rrip_flag
+ m_rrip_W_index
+ m_rrip_RW_index
+ m_rrip_R_index
- m_rrip_numbits
- m_rrip_max
- m_rrip_insert
- m_num_attempts
- m_rrip_bits
- m_replacement_pointer
+ CacheSetEWSRRIP()
+ ~CacheSetEWSRRIP()
+ getReplacementIndex()
+ updateReplacementIndex()
# evictEW()
# updateEW()
Generated by Doxygen
144 Class Documentation
Public Attributes
char m_rrip_flag
A public variable.
UInt32 m_rrip_W_index
A public variable.
UInt32 m_rrip_RW_index
A public variable.
UInt32 m_rrip_R_index
A public variable.
UInt32 evictEW ()
evictEW() method for return the type of the operation that happened in the block
void updateEW (UInt32 accessed_index)
Private Attributes
EW-S-RRIP: Evict Write strategy for Static Re-reference Interval Prediction cache replacement policy.
EW-SRRIP eviction decision finds the block that has max RRPV bits and it had only write operation. If there are
no write blocks, it chooses the block that has read and write operation. when the block with both operations is
not found, then the strategy fallbacks to SRRIP eviction for the read blocks, which evict the block with max RRPV.
Eventually, the block is found and its RRPV decremented by one.
Generated by Doxygen
6.13 CacheSetEWSRRIP Class Reference 145
6.13.2.1 CacheSetEWSRRIP()
CacheSetEWSRRIP::CacheSetEWSRRIP (
String cfgname,
core_id_t core_id,
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize,
CacheSetInfoLRU set_info,
UInt8 num_attempts )
A constructor.
Parameters
6.13.2.2 CacheSetEWSRRIP()
CacheSetEWSRRIP::CacheSetEWSRRIP ( )
A destructor.
Free m_rrip_bits from the data that acquired during its lifetime.
6.13.3.1 evictEW()
evictEW() method for return the type of the operation that happened in the block
1- Search through the m_rrip_bits and return the index that have max bit
2.1- If index is found with max rrip bits, then check if has write/read operations
Generated by Doxygen
146 Class Documentation
2.2- If index is found with max rrip bits, then check if has read operation
2.3- If index is found with max rrip bits, then check if has write operation
2.4- If the index rrip bit is not max, then move to the next block and complete in round robin manner using "m_-
replacement_pointer"
3.1- Check if block with write operation was found then increment the pointer
3.2- Check if block with both operations was found then increment the pointer
3.3- Check if block with read operation was found then increment the pointer
Returns
CacheSetEWSRRIP::getReplacement
CacheSetEWSRRIP::evictEW
Index
6.13.3.2 getReplacementIndex()
UInt32 CacheSetEWSRRIP::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
getReplacementIndex method will first uses loop and checks if there is an invalid line(s) in the set, regardless of the
LRU bits of other lines, we choose the first invalid line to replace Prepare way for a new line: set prediction to 'long'.
If there is no valid block, then another for loop will start calling evictEW() method.
See also
evictEW()
Returns
Implements CacheSet.
CacheSetEWSRRIP::getReplacement
CacheSetEWSRRIP::evictEW
Index
Generated by Doxygen
6.13 CacheSetEWSRRIP Class Reference 147
6.13.3.3 updateEW()
void CacheSetEWSRRIP::updateEW (
UInt32 accessed_index ) [protected]
6.13.3.4 updateReplacementIndex()
void CacheSetEWSRRIP::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
m_rrip_bits will be decrement by one each time we get a hit. See also:
See also
CacheSet::read_line()
CacheSet::write_line()
Implements CacheSet.
CacheSetEWSRRIP::updateReplacement
CacheSetInfoLRU::increment
Index
6.13.4.1 m_num_attempts
6.13.4.2 m_replacement_pointer
Generated by Doxygen
148 Class Documentation
6.13.4.3 m_rrip_bits
6.13.4.4 m_rrip_flag
char CacheSetEWSRRIP::m_rrip_flag
A public variable.
6.13.4.5 m_rrip_insert
6.13.4.6 m_rrip_max
6.13.4.7 m_rrip_numbits
6.13.4.8 m_rrip_R_index
UInt32 CacheSetEWSRRIP::m_rrip_R_index
A public variable.
we use this variable to assign the type of the read operation that was done on a block
6.13.4.9 m_rrip_RW_index
UInt32 CacheSetEWSRRIP::m_rrip_RW_index
A public variable.
we use this variable to assign the type of the read/ write operation that was done on a block
Generated by Doxygen
6.14 CacheSetInfo Class Reference 149
6.13.4.10 m_rrip_W_index
UInt32 CacheSetEWSRRIP::m_rrip_W_index
A public variable.
we use the variable to assign the type of the write operation that was done on a block
6.13.4.11 m_set_info
The documentation for this class was generated from the following files:
cache_set_ew_srrip.h
cache_set_ew_srrip.cc
#include <cache_set.h>
CacheSetInfo
+ ~CacheSetInfo()
CacheSetInfoLRU
- m_associativity
- m_access
- m_attempts
+ CacheSetInfoLRU()
+ ~CacheSetInfoLRU()
+ increment()
+ incrementAttempt()
Generated by Doxygen
150 Class Documentation
CacheSetInfo
+ ~CacheSetInfo()
virtual CacheSetInfo ()
6.14.1.1 CacheSetInfo()
The documentation for this class was generated from the following file:
cache_set.h
#include <cache_set_lru.h>
Generated by Doxygen
6.15 CacheSetInfoLRU Class Reference 151
CacheSetInfo
+ ~CacheSetInfo()
CacheSetInfoLRU
- m_associativity
- m_access
- m_attempts
+ CacheSetInfoLRU()
+ ~CacheSetInfoLRU()
+ increment()
+ incrementAttempt()
CacheSetInfo
+ ~CacheSetInfo()
CacheSetInfoLRU
- m_associativity
- m_access
- m_attempts
+ CacheSetInfoLRU()
+ ~CacheSetInfoLRU()
+ increment()
+ incrementAttempt()
Generated by Doxygen
152 Class Documentation
CacheSetInfoLRU (String name, String cfgname, core_id_t core_id, UInt32 associativity, UInt8 num_-
attempts)
virtual CacheSetInfoLRU ()
void increment (UInt32 index)
void incrementAttempt (UInt8 attempt)
Private Attributes
6.15.1.1 CacheSetInfoLRU()
CacheSetInfoLRU::CacheSetInfoLRU (
String name,
String cfgname,
core_id_t core_id,
UInt32 associativity,
UInt8 num_attempts )
6.15.1.2 CacheSetInfoLRU()
CacheSetInfoLRU::CacheSetInfoLRU ( ) [virtual]
Generated by Doxygen
6.15 CacheSetInfoLRU Class Reference 153
6.15.2.1 increment()
void CacheSetInfoLRU::increment (
UInt32 index ) [inline]
CacheSetEWLRU::updateReplacement
Index
CacheSetEWSRRIP::updateReplacement
Index
CacheSetInfoLRU::increment
CacheSetLRU::updateReplacement
Index
CacheSetSRRIP::updateReplacement
Index
6.15.2.2 incrementAttempt()
void CacheSetInfoLRU::incrementAttempt (
UInt8 attempt ) [inline]
CacheSetLRU::getReplacement
Index
CacheSetInfoLRU::increment
Attempt
CacheSetSRRIP::getReplacement
Index
Generated by Doxygen
154 Class Documentation
6.15.3.1 m_access
6.15.3.2 m_associativity
6.15.3.3 m_attempts
The documentation for this class was generated from the following files:
cache_set_lru.h
cache_set_lru.cc
#include <cache_set_lru.h>
Generated by Doxygen
6.16 CacheSetLRU Class Reference 155
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetLRU
# m_num_attempts
# m_lru_bits
# m_set_info
+ CacheSetLRU()
+ ~CacheSetLRU()
+ getReplacementIndex()
+ updateReplacementIndex()
# moveToMRU()
Generated by Doxygen
156 Class Documentation
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
CacheSetInfo
+ clone()
+ isValid()
+ getTag()
+ getCState() + ~CacheSetInfo()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet() CacheSetInfoLRU
+ getBlockSize()
+ getAssociativity() - m_associativity
+ getLock() - m_access
+ read_line() - m_attempts
+ write_line()
+ CacheSetInfoLRU()
+ find()
+ ~CacheSetInfoLRU()
+ invalidate()
+ increment()
+ insert()
+ incrementAttempt()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
#m_set_info
CacheSetLRU
# m_num_attempts
# m_lru_bits
+ CacheSetLRU()
+ ~CacheSetLRU()
+ getReplacementIndex()
+ updateReplacementIndex()
# moveToMRU()
Generated by Doxygen
6.16 CacheSetLRU Class Reference 157
Protected Attributes
6.16.1.1 CacheSetLRU()
CacheSetLRU::CacheSetLRU (
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize,
CacheSetInfoLRU set_info,
UInt8 num_attempts )
6.16.1.2 CacheSetLRU()
CacheSetLRU::CacheSetLRU ( ) [virtual]
Generated by Doxygen
158 Class Documentation
6.16.2.1 getReplacementIndex()
UInt32 CacheSetLRU::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
Implements CacheSet.
CacheSetLRU::moveToMRU
CacheSet::isValidReplacement
CacheSetLRU::getReplacement CacheCntlr::isInLowerLevel
Index Cache
CacheCntlr::incrementQBSLookupCost
CacheSetInfoLRU::increment
Attempt
6.16.2.2 moveToMRU()
void CacheSetLRU::moveToMRU (
UInt32 accessed_index ) [protected]
CacheSetLRU::getReplacement
Index
CacheSetLRU::moveToMRU
CacheSetLRU::updateReplacement
Index
Generated by Doxygen
6.16 CacheSetLRU Class Reference 159
6.16.2.3 updateReplacementIndex()
void CacheSetLRU::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
Implements CacheSet.
CacheSetInfoLRU::increment
CacheSetLRU::updateReplacement
Index
CacheSetLRU::moveToMRU
6.16.3.1 m_lru_bits
6.16.3.2 m_num_attempts
6.16.3.3 m_set_info
The documentation for this class was generated from the following files:
cache_set_lru.h
cache_set_lru.cc
Generated by Doxygen
160 Class Documentation
#include <cache_set_mru.h>
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetMRU
- m_lru_bits
+ CacheSetMRU()
+ ~CacheSetMRU()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
6.17 CacheSetMRU Class Reference 161
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetMRU
- m_lru_bits
+ CacheSetMRU()
+ ~CacheSetMRU()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
162 Class Documentation
Private Attributes
UInt8 m_lru_bits
6.17.1.1 CacheSetMRU()
CacheSetMRU::CacheSetMRU (
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize )
6.17.1.2 CacheSetMRU()
CacheSetMRU::CacheSetMRU ( )
6.17.2.1 getReplacementIndex()
UInt32 CacheSetMRU::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
Implements CacheSet.
CacheSetMRU::updateReplacement
Index
CacheSetMRU::getReplacement
Index
CacheSet::isValidReplacement
Generated by Doxygen
6.18 CacheSetMRUT Class Reference 163
6.17.2.2 updateReplacementIndex()
void CacheSetMRU::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
Implements CacheSet.
CacheSetMRU::updateReplacement CacheSetMRU::getReplacement
Index Index
6.17.3.1 m_lru_bits
The documentation for this class was generated from the following files:
cache_set_mru.h
cache_set_mru.cc
#include <cache_set_mrut.h>
Generated by Doxygen
164 Class Documentation
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetMRUT
- m_lru_bits
- m_mru_bits
- m_rand
+ CacheSetMRUT()
+ ~CacheSetMRUT()
+ getReplacementIndex()
+ updateReplacementIndex()
+ updateReplacementForFetched
Index()
Generated by Doxygen
6.18 CacheSetMRUT Class Reference 165
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetMRUT
- m_lru_bits
- m_mru_bits
- m_rand
+ CacheSetMRUT()
+ ~CacheSetMRUT()
+ getReplacementIndex()
+ updateReplacementIndex()
+ updateReplacementForFetched
Index()
Generated by Doxygen
166 Class Documentation
Private Attributes
UInt8 m_lru_bits
UInt8 m_mru_bits
A private variable.
Random m_rand
A private variable.
MRU-Tour algorithm basic idea is to keep checking the number of the times the block occupies the MRU position
while it stored in the cache. When the block is fetched, this will indicate that the first tour for this block has begun.
If the block has never been referenced, then it is a candidate for eviction. Otherwise, the block is referenced which
represents the second tour for the block has begun, which means that the block has multiple MRUTs.
6.18.2.1 CacheSetMRUT()
CacheSetMRUT::CacheSetMRUT (
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize )
A constructor.
Parameters
m_mru_bits : to save the number of times the block has been accessed during its life time in the cache
m_lru_bits : used to move the block to the MRU position
6.18.2.2 CacheSetMRUT()
CacheSetMRUT::CacheSetMRUT ( )
Generated by Doxygen
6.18 CacheSetMRUT Class Reference 167
A destructor.
Free m_lru_bits and m_mru_bits from the data that acquired during their lifetime.
6.18.3.1 getReplacementIndex()
UInt32 CacheSetMRUT::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
getReplacementIndex method will first uses loop and checks if there is an invalid line(s) in the set, which is for the
compulsory miss. The blocks in the set are fetched to the cache, then they will have MRUT-bit =0, then they will
be moved to the MRU position updateReplacementForFetchedIndex method will be invoked to set the bit to "0" and
move the block to MRU. The a block that is found will be moved to MRU and then the new block will overwritten it in
the CacheSet::insert method.
See also
updateReplacementForFetchedIndex()
Returns
If the are no valid blocks then we have to choose a victim block to evict. Another for loop is used, and here we
could either choose the first index with bit = 0, or randomly, but we make the attempets equals to the number of
the associativity. when the block is found, the updateReplacementForFetchedIndex method will be called to set the
block m_mru_bits to "0" and move it to MRU position
See also
updateReplacementForFetchedIndex()
Returns
Another for loop is used, and here we could either choose the first index with bit = 0, If there are no index with bit=
0 then choose randomly from the indices that has m_mru_bits "1". loop until you find one satisfy the if statement
when the block is found, the updateReplacementForFetchedIndex method will be called to set the block m_mru_bits
to "0" and move it to MRU position
See also
updateReplacementForFetchedIndex()
Generated by Doxygen
168 Class Documentation
Returns
Implements CacheSet.
CacheSetMRUT::getReplacement CacheSetMRUT::updateReplacement
Index ForFetchedIndex
6.18.3.2 updateReplacementForFetchedIndex()
void CacheSetMRUT::updateReplacementForFetchedIndex (
UInt32 accessed_index )
This method is for setting the m_mru_bits to "0" and move the block to MRU.
updateReplacementForFetchedIndex will be invoked when the block is fetched. The block MRUT-bit will be set to
0 which means starting the first tour. The a block that is found will be moved to MRU and then the new block will
overwritten it in the CacheSet::insert method. Here is the caller graph for this function:
CacheSetMRUT::updateReplacement CacheSetMRUT::getReplacement
ForFetchedIndex Index
6.18.3.3 updateReplacementIndex()
void CacheSetMRUT::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
This method is for setting the m_mru_bits to "1" which means block has multiple tours, and it will be moved to MRU.
See also
CacheSet::read_line()
CacheSet::write_line()The a block that is found will be moved to MRU and then the new block will overwritten
it in the CacheSet::insert method.
Implements CacheSet.
Generated by Doxygen
6.19 CacheSetNMRU Class Reference 169
6.18.4.1 m_lru_bits
6.18.4.2 m_mru_bits
A private variable.
we use this variable as array to save the number of times the block get to the MRU position
6.18.4.3 m_rand
A private variable.
we use this variable of type Random to get a random number for the index in the set when all the "m_mru_bits" is
"1"
The documentation for this class was generated from the following files:
cache_set_mrut.h
cache_set_mrut.cc
#include <cache_set_nmru.h>
Generated by Doxygen
170 Class Documentation
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetNMRU
- m_lru_bits
- m_replacement_pointer
+ CacheSetNMRU()
+ ~CacheSetNMRU()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
6.19 CacheSetNMRU Class Reference 171
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetNMRU
- m_lru_bits
- m_replacement_pointer
+ CacheSetNMRU()
+ ~CacheSetNMRU()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
172 Class Documentation
Private Attributes
UInt8 m_lru_bits
UInt8 m_replacement_pointer
6.19.1.1 CacheSetNMRU()
CacheSetNMRU::CacheSetNMRU (
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize )
6.19.1.2 CacheSetNMRU()
CacheSetNMRU::CacheSetNMRU ( )
6.19.2.1 getReplacementIndex()
UInt32 CacheSetNMRU::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
Implements CacheSet.
CacheSetNMRU::updateReplacement
Index
CacheSetNMRU::getReplacement
Index
CacheSet::isValidReplacement
Generated by Doxygen
6.19 CacheSetNMRU Class Reference 173
6.19.2.2 updateReplacementIndex()
void CacheSetNMRU::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
Implements CacheSet.
CacheSetNMRU::updateReplacement CacheSetNMRU::getReplacement
Index Index
6.19.3.1 m_lru_bits
6.19.3.2 m_replacement_pointer
The documentation for this class was generated from the following files:
cache_set_nmru.h
cache_set_nmru.cc
Generated by Doxygen
174 Class Documentation
#include <cache_set_nru.h>
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetNRU
- m_lru_bits
- m_num_bits_set
- m_replacement_pointer
+ CacheSetNRU()
+ ~CacheSetNRU()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
6.20 CacheSetNRU Class Reference 175
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetNRU
- m_lru_bits
- m_num_bits_set
- m_replacement_pointer
+ CacheSetNRU()
+ ~CacheSetNRU()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
176 Class Documentation
Private Attributes
UInt8 m_lru_bits
UInt8 m_num_bits_set
UInt8 m_replacement_pointer
6.20.1.1 CacheSetNRU()
CacheSetNRU::CacheSetNRU (
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize )
6.20.1.2 CacheSetNRU()
CacheSetNRU::CacheSetNRU ( )
6.20.2.1 getReplacementIndex()
UInt32 CacheSetNRU::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
Implements CacheSet.
CacheSetNRU::updateReplacement
Index
CacheSetNRU::getReplacement
Index
CacheSet::isValidReplacement
Generated by Doxygen
6.20 CacheSetNRU Class Reference 177
6.20.2.2 updateReplacementIndex()
void CacheSetNRU::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
Implements CacheSet.
CacheSetNRU::updateReplacement CacheSetNRU::getReplacement
Index Index
6.20.3.1 m_lru_bits
6.20.3.2 m_num_bits_set
6.20.3.3 m_replacement_pointer
The documentation for this class was generated from the following files:
cache_set_nru.h
cache_set_nru.cc
Generated by Doxygen
178 Class Documentation
#include <cache_set_plru.h>
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetPLRU
-b
+ CacheSetPLRU()
+ ~CacheSetPLRU()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
6.21 CacheSetPLRU Class Reference 179
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetPLRU
-b
+ CacheSetPLRU()
+ ~CacheSetPLRU()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
180 Class Documentation
Private Attributes
UInt8 b [8]
6.21.1.1 CacheSetPLRU()
CacheSetPLRU::CacheSetPLRU (
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize )
6.21.1.2 CacheSetPLRU()
CacheSetPLRU::CacheSetPLRU ( )
6.21.2.1 getReplacementIndex()
UInt32 CacheSetPLRU::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
Implements CacheSet.
CacheSetPLRU::updateReplacement
Index
CacheSetPLRU::getReplacement
Index
CacheSet::isValidReplacement
Generated by Doxygen
6.22 CacheSetRandom Class Reference 181
6.21.2.2 updateReplacementIndex()
void CacheSetPLRU::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
Implements CacheSet.
CacheSetPLRU::updateReplacement CacheSetPLRU::getReplacement
Index Index
6.21.3.1 b
The documentation for this class was generated from the following files:
cache_set_plru.h
cache_set_plru.cc
#include <cache_set_random.h>
Generated by Doxygen
182 Class Documentation
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetRandom
- m_rand
+ CacheSetRandom()
+ ~CacheSetRandom()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
6.22 CacheSetRandom Class Reference 183
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetRandom
- m_rand
+ CacheSetRandom()
+ ~CacheSetRandom()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
184 Class Documentation
Private Attributes
Random m_rand
6.22.1.1 CacheSetRandom()
CacheSetRandom::CacheSetRandom (
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize )
6.22.1.2 CacheSetRandom()
CacheSetRandom::CacheSetRandom ( )
6.22.2.1 getReplacementIndex()
UInt32 CacheSetRandom::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
Implements CacheSet.
CacheSetRandom::getReplacement
CacheSet::isValidReplacement
Index
Generated by Doxygen
6.23 CacheSetRoundRobin Class Reference 185
6.22.2.2 updateReplacementIndex()
void CacheSetRandom::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
Implements CacheSet.
6.22.3.1 m_rand
The documentation for this class was generated from the following files:
cache_set_random.h
cache_set_random.cc
#include <cache_set_round_robin.h>
Generated by Doxygen
186 Class Documentation
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetRoundRobin
- m_replacement_index
+ CacheSetRoundRobin()
+ ~CacheSetRoundRobin()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
6.23 CacheSetRoundRobin Class Reference 187
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetRoundRobin
- m_replacement_index
+ CacheSetRoundRobin()
+ ~CacheSetRoundRobin()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
188 Class Documentation
Private Attributes
UInt32 m_replacement_index
6.23.1.1 CacheSetRoundRobin()
CacheSetRoundRobin::CacheSetRoundRobin (
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize )
6.23.1.2 CacheSetRoundRobin()
CacheSetRoundRobin::CacheSetRoundRobin ( )
6.23.2.1 getReplacementIndex()
UInt32 CacheSetRoundRobin::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
Implements CacheSet.
CacheSetRoundRobin
CacheSet::isValidReplacement
::getReplacementIndex
Generated by Doxygen
6.24 CacheSetSRRIP Class Reference 189
6.23.2.2 updateReplacementIndex()
void CacheSetRoundRobin::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
Implements CacheSet.
6.23.3.1 m_replacement_index
The documentation for this class was generated from the following files:
cache_set_round_robin.h
cache_set_round_robin.cc
#include <cache_set_srrip.h>
Generated by Doxygen
190 Class Documentation
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_cache_block_info
_array
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet()
+ getBlockSize()
+ getAssociativity()
+ getLock()
+ read_line()
+ write_line()
+ find()
+ invalidate()
+ insert()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
CacheSetSRRIP
- m_rrip_numbits
- m_rrip_max
- m_rrip_insert
- m_num_attempts
- m_rrip_bits
- m_replacement_pointer
- m_set_info
+ CacheSetSRRIP()
+ ~CacheSetSRRIP()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
6.24 CacheSetSRRIP Class Reference 191
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone() CacheSetInfo
+ isValid()
+ getTag()
+ getCState() + ~CacheSetInfo()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity
# m_blocksize
# m_lock
+ CacheSet()
+ ~CacheSet() CacheSetInfoLRU
+ getBlockSize()
+ getAssociativity() - m_associativity
+ getLock() - m_access
+ read_line() - m_attempts
+ write_line()
+ CacheSetInfoLRU()
+ find()
+ ~CacheSetInfoLRU()
+ invalidate()
+ increment()
+ insert()
+ incrementAttempt()
+ peekBlock()
+ getDataPtr()
+ getBlockSize()
+ getReplacementIndex()
+ updateReplacementIndex()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
-m_set_info
CacheSetSRRIP
- m_rrip_numbits
- m_rrip_max
- m_rrip_insert
- m_num_attempts
- m_rrip_bits
- m_replacement_pointer
+ CacheSetSRRIP()
+ ~CacheSetSRRIP()
+ getReplacementIndex()
+ updateReplacementIndex()
Generated by Doxygen
192 Class Documentation
Private Attributes
6.24.1.1 CacheSetSRRIP()
CacheSetSRRIP::CacheSetSRRIP (
String cfgname,
core_id_t core_id,
CacheBase::cache_t cache_type,
UInt32 associativity,
UInt32 blocksize,
CacheSetInfoLRU set_info,
UInt8 num_attempts )
6.24.1.2 CacheSetSRRIP()
CacheSetSRRIP::CacheSetSRRIP ( )
Generated by Doxygen
6.24 CacheSetSRRIP Class Reference 193
6.24.2.1 getReplacementIndex()
UInt32 CacheSetSRRIP::getReplacementIndex (
CacheCntlr cntlr ) [virtual]
Implements CacheSet.
CacheCntlr::isInLowerLevel
Cache
CacheCntlr::incrementQBSLookupCost
CacheSetSRRIP::getReplacement
Index
CacheSetInfoLRU::increment
Attempt
CacheSet::isValidReplacement
6.24.2.2 updateReplacementIndex()
void CacheSetSRRIP::updateReplacementIndex (
UInt32 accessed_index ) [virtual]
Implements CacheSet.
CacheSetSRRIP::updateReplacement
CacheSetInfoLRU::increment
Index
Generated by Doxygen
194 Class Documentation
6.24.3.1 m_num_attempts
6.24.3.2 m_replacement_pointer
6.24.3.3 m_rrip_bits
6.24.3.4 m_rrip_insert
6.24.3.5 m_rrip_max
6.24.3.6 m_rrip_numbits
6.24.3.7 m_set_info
The documentation for this class was generated from the following files:
cache_set_srrip.h
cache_set_srrip.cc
Generated by Doxygen
6.25 CacheState Class Reference 195
#include <cache_state.h>
CacheState
- cstate
+ CacheState()
+ ~CacheState()
+ readable()
+ writable()
Public Types
enum cstate_t {
CSTATE_FIRST = 0, INVALID = CSTATE_FIRST, SHARED, SHARED_UPGRADING,
EXCLUSIVE, OWNED, MODIFIED, NUM_CSTATE_STATES,
INVALID_COLD = NUM_CSTATE_STATES, INVALID_EVICT, INVALID_COHERENCY, NUM_CSTATE_-
SPECIAL_STATES }
Private Attributes
cstate_t cstate
6.25.1.1 cstate_t
enum CacheState::cstate_t
Generated by Doxygen
196 Class Documentation
Enumerator
CSTATE_FIRST
INVALID
SHARED
SHARED_UPGRADING
EXCLUSIVE
OWNED
MODIFIED
NUM_CSTATE_STATES
INVALID_COLD
INVALID_EVICT
INVALID_COHERENCY
NUM_CSTATE_SPECIAL_STATES
6.25.2.1 CacheState()
CacheState::CacheState (
cstate_t state = INVALID ) [inline]
6.25.2.2 CacheState()
CacheState::CacheState ( ) [inline]
6.25.3.1 readable()
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
CacheState::readable
::CacheCntlr::operationPermissibleinCache ::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
Generated by Doxygen
6.26 CacheSetEWLRU::ew_array Struct Reference 197
6.25.3.2 writable()
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
CacheState::writable
::CacheCntlr::operationPermissibleinCache ::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
6.25.4.1 cstate
The documentation for this class was generated from the following file:
cache_state.h
#include <cache_set_ew_lru.h>
CacheSetEWLRU::ew_array
+ was_read
+ was_written
Public Attributes
bool was_read
bool was_written
Generated by Doxygen
198 Class Documentation
we declare a structure type ew_array, and defines it having two boolean members "was_read" and "was_written". a
declaration for variable "m_stored_EW_type which is then used to declare the two boolean objects, which is of the
type ew_array.
6.26.2.1 was_read
bool CacheSetEWLRU::ew_array::was_read
6.26.2.2 was_written
bool CacheSetEWLRU::ew_array::was_written
The documentation for this struct was generated from the following file:
cache_set_ew_lru.h
GhbPrefetcher::GHBEntry
+ nextIndex
+ delta
+ generation
+ GHBEntry()
GHBEntry ()
Generated by Doxygen
6.27 GhbPrefetcher::GHBEntry Struct Reference 199
Public Attributes
UInt32 nextIndex
SInt64 delta
UInt32 generation
6.27.1.1 GHBEntry()
GhbPrefetcher::GHBEntry::GHBEntry ( ) [inline]
6.27.2.1 delta
SInt64 GhbPrefetcher::GHBEntry::delta
6.27.2.2 generation
UInt32 GhbPrefetcher::GHBEntry::generation
6.27.2.3 nextIndex
UInt32 GhbPrefetcher::GHBEntry::nextIndex
The documentation for this struct was generated from the following file:
ghb_prefetcher.h
Generated by Doxygen
200 Class Documentation
#include <ghb_prefetcher.h>
Prefetcher
+ getNextAddress()
+ createPrefetcher()
GhbPrefetcher
- m_prefetchWidth
- m_prefetchDepth
- m_lastAddress
- m_ghbSize
- m_ghbHead
- m_generation
- m_ghb
- m_tableSize
- m_tableHead
- m_ghbTable
- INVALID_DELTA
- INVALID_INDEX
+ GhbPrefetcher()
+ getNextAddress()
+ ~GhbPrefetcher()
Generated by Doxygen
6.28 GhbPrefetcher Class Reference 201
Prefetcher
+ getNextAddress()
+ createPrefetcher()
GhbPrefetcher
- m_prefetchWidth
- m_prefetchDepth
- m_lastAddress
- m_ghbSize
- m_ghbHead
- m_generation
- m_ghb
- m_tableSize
- m_tableHead
- m_ghbTable
- INVALID_DELTA
- INVALID_INDEX
+ GhbPrefetcher()
+ getNextAddress()
+ ~GhbPrefetcher()
Classes
struct GHBEntry
struct TableEntry
Private Attributes
UInt32 m_prefetchWidth
UInt32 m_prefetchDepth
IntPtr m_lastAddress
UInt32 m_ghbSize
UInt32 m_ghbHead
Generated by Doxygen
202 Class Documentation
UInt32 m_generation
std::vector< GHBEntry > m_ghb
UInt32 m_tableSize
UInt32 m_tableHead
std::vector< TableEntry > m_ghbTable
6.28.1.1 GhbPrefetcher()
GhbPrefetcher::GhbPrefetcher (
String configName,
core_id_t core_id )
6.28.1.2 GhbPrefetcher()
GhbPrefetcher::GhbPrefetcher ( )
6.28.2.1 getNextAddress()
Implements Prefetcher.
Generated by Doxygen
6.28 GhbPrefetcher Class Reference 203
6.28.3.1 INVALID_DELTA
6.28.3.2 INVALID_INDEX
6.28.3.3 m_generation
6.28.3.4 m_ghb
6.28.3.5 m_ghbHead
6.28.3.6 m_ghbSize
6.28.3.7 m_ghbTable
6.28.3.8 m_lastAddress
Generated by Doxygen
204 Class Documentation
6.28.3.9 m_prefetchDepth
6.28.3.10 m_prefetchWidth
6.28.3.11 m_tableHead
6.28.3.12 m_tableSize
The documentation for this class was generated from the following files:
ghb_prefetcher.h
ghb_prefetcher.cc
#include <memory_manager.h>
Generated by Doxygen
6.29 ParametricDramDirectoryMSI::MemoryManager Class Reference 205
MemoryManagerBase
ParametricDramDirectoryMSI
::MemoryManager
- m_cache_cntlrs
- m_nuca_cache
- m_dram_cache
- m_dram_directory_cntlr
- m_dram_cntlr
- m_tag_directory_home
_lookup
- m_dram_controller_home
_lookup
- m_itlb
- m_dtlb
- m_stlb
- m_tlb_miss_penalty
- m_tlb_miss_parallel
- m_core_id_master
- m_tag_directory_present
- m_dram_cntlr_present
- m_user_thread_sem
- m_network_thread_sem
- m_cache_block_size
- m_last_level_cache
- m_enabled
- m_cache_perf_models
- m_all_cache_cntlrs
+ MemoryManager()
+ ~MemoryManager()
+ getCacheBlockSize()
+ getCache()
+ getL1ICache()
+ getL1DCache()
+ getLastLevelCache()
+ getDramDirectoryCache()
+ getDramCntlr()
+ getTagDirectoryHomeLookup()
+ getDramControllerHomeLookup()
+ getCacheCntlrAt()
+ setCacheCntlrAt()
+ coreInitiateMemoryAccess()
+ handleMsgFromNetwork()
+ sendMsg()
+ broadcastMsg()
+ getL1HitLatency()
+ addL1Hits()
+ enableModels()
+ disableModels()
+ getShmemRequester()
+ getModeledLength()
+ getCost()
+ incrElapsedTime()
+ incrElapsedTime()
- accessTLB()
Generated by Doxygen
206 Class Documentation
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
# m_associativity CacheBase
# m_blocksize
# m_name
# m_lock
# m_cache_size
+ CacheSet() # m_associativity ReqQueueListTemplate
+ ~CacheSet() # m_blocksize < T_Req >
+ getBlockSize() # m_hash
- m_req_queue_list
+ getAssociativity() # m_num_sets
+ getLock() # m_ahl CacheSetInfo std::vector< CacheCntlr * > + ReqQueueListTemplate()
+ read_line() # m_log_blocksize + ~ReqQueueListTemplate()
+ write_line() + enqueue()
+ CacheBase()
+ find() + ~CacheSetInfo() + dequeue()
+ ~CacheBase()
+ invalidate() + front()
+ splitAddress()
+ insert() + back()
+ splitAddress()
+ peekBlock() + size()
+ tagToAddress()
+ getDataPtr() + empty()
+ getName()
+ getBlockSize()
+ getNumSets()
+ getReplacementIndex()
+ getAssociativity()
+ updateReplacementIndex()
+ parseAddressHash()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
Cache
- m_enabled
- m_num_accesses
- m_num_hits ReqQueueListTemplate
- m_cache_type < CacheDirectoryWaiter >
- m_fault_injector
- m_req_queue_list
+ Cache() ParametricDramDirectoryMSI Prefetcher
::CacheCntlrList + ReqQueueListTemplate()
+ ~Cache()
+ ~ReqQueueListTemplate()
+ getSetLock()
+ enqueue()
+ invalidateSingleLine() + getNextAddress()
+ dequeue()
+ accessSingleLine() + createPrefetcher()
+ front()
+ insertSingleLine()
+ back()
+ peekSingleLine()
+ size()
+ peekBlock()
+ empty()
+ updateCounters()
+ updateHits()
+ enable()
+ disable()
ParametricDramDirectoryMSI
::CacheMasterCntlr
NucaCache - m_cache_lock
- m_smt_lock
- m_core_id
- m_dram_cntlr
- m_memory_manager
- m_dram_outstanding
- m_shmem_perf_model ParametricDramDirectoryMSI::TLB _writebacks
- m_home_lookup
- mshr
- m_cache_block_size - m_size
- m_l1_mshr
- m_data_access_time - m_associativity
- m_next_level_read_bandwidth
- m_tags_access_time - m_access MemoryManagerBase - m_evicting_address
- m_data_array_bandwidth - m_miss
- m_evicting_buf
- m_queue_model - SIM_PAGE_SHIFT -m_next_level
- m_atds
- m_reads - SIM_PAGE_SIZE
- m_setlocks
- m_writes - SIM_PAGE_MASK
- m_log_blocksize
- m_read_misses
+ TLB() - m_num_sets
- m_write_misses
+ lookup() - m_prefetch_list
+ NucaCache() + allocate() - m_prefetch_next
+ ~NucaCache()
- createSetLocks()
+ read()
- getSetLock()
+ write()
- createATDs()
- accessDataArray()
- accessATDs()
- CacheMasterCntlr()
- ~CacheMasterCntlr()
-m_itlb
-m_nuca_cache -m_dtlb
-m_stlb
ParametricDramDirectoryMSI
::MemoryManager
- m_dram_cache
- m_dram_directory_cntlr
- m_dram_cntlr
- m_tag_directory_home
_lookup
- m_dram_controller_home
_lookup
- m_tlb_miss_penalty
- m_tlb_miss_parallel
- m_core_id_master
- m_tag_directory_present
- m_dram_cntlr_present
- m_user_thread_sem
- m_network_thread_sem
- m_cache_block_size
- m_last_level_cache
- m_enabled
- m_cache_perf_models
- m_all_cache_cntlrs
CacheCntlr + MemoryManager()
+ ~MemoryManager()
+ getCacheBlockSize() -m_master
+ isInLowerLevelCache() + getCache()
+ incrementQBSLookupCost() + getL1ICache()
+ getL1DCache()
+ getLastLevelCache()
+ getDramDirectoryCache()
+ getDramCntlr()
+ getTagDirectoryHomeLookup()
+ getDramControllerHomeLookup()
+ getCacheCntlrAt()
+ setCacheCntlrAt()
+ coreInitiateMemoryAccess()
+ handleMsgFromNetwork()
+ sendMsg()
+ broadcastMsg()
+ getL1HitLatency()
+ addL1Hits()
+ enableModels()
+ disableModels()
+ getShmemRequester()
+ getModeledLength()
+ getCost()
+ incrElapsedTime()
+ incrElapsedTime()
- accessTLB()
-m_memory_manager -m_cache_cntlrs
ParametricDramDirectoryMSI
::CacheCntlr
+ loads
+ stores
+ load_misses
+ store_misses
+ load_overlapping_misses
+ store_overlapping_misses
+ loads_state
+ stores_state
+ loads_where
+ stores_where
+ load_misses_state
+ store_misses_state
+ loads_prefetch
+ stores_prefetch
+ hits_prefetch
+ evict_prefetch
+ invalidate_prefetch
+ evict
and 13 more...
- m_mem_component
- m_tag_directory_home
_lookup
- m_shmem_req_source_map
- m_perfect
- m_passthrough
- m_coherent
- m_prefetch_on_prefetch_hit
- m_l1_mshr
- stats
- m_core_id
- m_cache_block_size
- m_cache_writethrough
- m_writeback_time
- m_next_level_read_bandwidth
- m_shared_cores
- m_core_id_master
- m_user_thread_sem
- m_network_thread_sem
- m_last_remote_hit_where
- m_shmem_perf
- m_shmem_perf_global
- m_shmem_perf_totaltime
- m_shmem_perf_numrequests
-m_next_cache_cntlr
- m_shmem_perf_model
-m_last_level
+ CacheCntlr()
+ ~CacheCntlr()
+ getCache()
+ getLock()
+ setPrevCacheCntlrs()
+ setNextCacheCntlr()
+ createSetLocks()
+ setDRAMDirectAccess()
+ processMemOpFromCore()
+ updateHits()
+ notifyPrevLevelInsert()
+ notifyPrevLevelEvict()
+ handleMsgFromDramDirectory()
+ acquireLock()
+ releaseLock()
+ acquireStackLock()
+ releaseStackLock()
+ isMasterCache()
+ isFirstLevel()
+ isLastLevel()
+ isShared()
+ isInLowerLevelCache()
+ incrementQBSLookupCost()
+ enable()
+ disable()
- updateCounters()
- cleanupMshr()
- transition()
- updateUncoreStatistics()
- accessCache()
- operationPermissibleinCache()
- copyDataFromNextLevel()
- trainPrefetcher()
- Prefetch()
- doPrefetch()
- getCacheBlockInfo()
- getCacheState()
- getCacheState()
- setCacheState()
- invalidateCacheBlock()
- retrieveCacheBlock()
- insertCacheBlock()
- updateCacheBlock()
and 26 more...
- __walkUsageBits()
Generated by Doxygen
6.29 ParametricDramDirectoryMSI::MemoryManager Class Reference 207
Cache getL1DCache ()
Cache getLastLevelCache ()
PrL1PrL2DramDirectoryMSI::DramDirectoryCache getDramDirectoryCache ()
PrL1PrL2DramDirectoryMSI::DramCntlr getDramCntlr ()
AddressHomeLookup getTagDirectoryHomeLookup ()
AddressHomeLookup getDramControllerHomeLookup ()
CacheCntlr getCacheCntlrAt (core_id_t core_id, MemComponent::component_t mem_component)
void setCacheCntlrAt (core_id_t core_id, MemComponent::component_t mem_component, CacheCntlr
cache_cntlr)
HitWhere::where_t coreInitiateMemoryAccess (MemComponent::component_t mem_component, Core-
::lock_signal_t lock_signal, Core::mem_op_t mem_op_type, IntPtr address, UInt32 offset, Byte data_buf,
UInt32 data_length, Core::MemModeled modeled)
void handleMsgFromNetwork (NetPacket &packet)
void sendMsg (PrL1PrL2DramDirectoryMSI::ShmemMsg::msg_t msg_type, MemComponent::component-
_t sender_mem_component, MemComponent::component_t receiver_mem_component, core_id_t re-
quester, core_id_t receiver, IntPtr address, Byte data_buf=NULL, UInt32 data_length=0, HitWhere-
::where_t where=HitWhere::UNKNOWN, ShmemPerf perf=NULL, ShmemPerfModel::Thread_t thread_-
num=ShmemPerfModel::NUM_CORE_THREADS)
void broadcastMsg (PrL1PrL2DramDirectoryMSI::ShmemMsg::msg_t msg_type, MemComponent-
::component_t sender_mem_component, MemComponent::component_t receiver_mem_component, core-
_id_t requester, IntPtr address, Byte data_buf=NULL, UInt32 data_length=0, ShmemPerf perf=NULL,
ShmemPerfModel::Thread_t thread_num=ShmemPerfModel::NUM_CORE_THREADS)
SubsecondTime getL1HitLatency (void)
void addL1Hits (bool icache, Core::mem_op_t mem_op_type, UInt64 hits)
void enableModels ()
void disableModels ()
core_id_t getShmemRequester (const void pkt_data)
UInt32 getModeledLength (const void pkt_data)
SubsecondTime getCost (MemComponent::component_t mem_component, CachePerfModel::Cache-
Access_t access_type)
void incrElapsedTime (SubsecondTime latency, ShmemPerfModel::Thread_t thread_num=ShmemPerf-
Model::NUM_CORE_THREADS)
void incrElapsedTime (MemComponent::component_t mem_component, CachePerfModel::CacheAccess_t
access_type, ShmemPerfModel::Thread_t thread_num=ShmemPerfModel::NUM_CORE_THREADS)
void accessTLB (TLB tlb, IntPtr address, bool isIfetch, Core::MemModeled modeled)
Private Attributes
Generated by Doxygen
208 Class Documentation
core_id_t m_core_id_master
bool m_tag_directory_present
bool m_dram_cntlr_present
Semaphore m_user_thread_sem
Semaphore m_network_thread_sem
UInt32 m_cache_block_size
MemComponent::component_t m_last_level_cache
bool m_enabled
6.29.1.1 MemoryManager()
ParametricDramDirectoryMSI::MemoryManager::MemoryManager (
Core core,
Network network,
ShmemPerfModel shmem_perf_model )
Generated by Doxygen
6.29 ParametricDramDirectoryMSI::MemoryManager Class Reference 209
ParametricDramDirectoryMSI
::TLB::lookup
ParametricDramDirectoryMSI
::MemoryManager::accessTLB
CacheBlockInfo::getUsage CacheBlockInfo::updateUsage
ParametricDramDirectoryMSI
::CacheCntlr::updateUsageBits
ParametricDramDirectoryMSI CacheBlockInfo::getOwner
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireLock ::CacheCntlr::operationPermissibleinCache
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
CacheBlockInfo::invalidate
ParametricDramDirectoryMSI
::CacheCntlr::releaseLock ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::CacheCntlr::waitForNetworkThread
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI
::CacheCntlr::wakeUpNetworkThread
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::getCache ::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory ParametricDramDirectoryMSI
::CacheCntlr::processMemOpFromCore
Access ::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
Cache::updateCounters
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
CacheBlockInfo::clearOption
ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock
ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
::CacheCntlr::handleMsgFromDram ::MemoryManager::sendMsg
DramDirectory
Directory
ReqQueueListTemplate
::front
CacheBlockInfo::hasOption
ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheCntlr::updateCounters
ParametricDramDirectoryMSI
::MemoryManager::getCacheBlockSize
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::accessCache
::MemoryManager::setCacheCntlrAt
ParametricDramDirectoryMSI
::MemoryManager::MemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::setNextCacheCntlr
ParametricDramDirectoryMSI
::MemoryManager::broadcastMsg
ParametricDramDirectoryMSI
::CacheCntlr::setPrevCacheCntlrs
6.29.1.2 MemoryManager()
ParametricDramDirectoryMSI::MemoryManager::MemoryManager ( )
6.29.2.1 accessTLB()
void ParametricDramDirectoryMSI::MemoryManager::accessTLB (
TLB tlb,
IntPtr address,
bool isIfetch,
Core::MemModeled modeled ) [private]
Generated by Doxygen
210 Class Documentation
Cache::accessSingleLine CacheBase::splitAddress
ParametricDramDirectoryMSI CacheBlockInfo::create
::TLB::lookup
ParametricDramDirectoryMSI CacheSet::getReplacement
::MemoryManager::accessTLB ParametricDramDirectoryMSI CacheBlockInfo::setTag Index
ParametricDramDirectoryMSI ::TLB::allocate
::MemoryManager::incrElapsedTime
Cache::insertSingleLine CacheSet::insert CacheBlockInfo::clone CacheBlockInfo::getCState
CacheBlockInfo::getTag
CacheBase::tagToAddress
CacheSet::find
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::MemoryManager::accessTLB ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
6.29.2.2 addL1Hits()
void ParametricDramDirectoryMSI::MemoryManager::addL1Hits (
bool icache,
Core::mem_op_t mem_op_type,
UInt64 hits ) [inline]
ParametricDramDirectoryMSI
::MemoryManager::enableModels
ParametricDramDirectoryMSI
::MemoryManager::addL1Hits
ParametricDramDirectoryMSI
::MemoryManager::disableModels
6.29.2.3 broadcastMsg()
void ParametricDramDirectoryMSI::MemoryManager::broadcastMsg (
PrL1PrL2DramDirectoryMSI::ShmemMsg::msg_t msg_type,
MemComponent::component_t sender_mem_component,
MemComponent::component_t receiver_mem_component,
Generated by Doxygen
6.29 ParametricDramDirectoryMSI::MemoryManager Class Reference 211
core_id_t requester,
IntPtr address,
Byte data_buf = NULL,
UInt32 data_length = 0,
ShmemPerf perf = NULL,
ShmemPerfModel::Thread_t thread_num = ShmemPerfModel::NUM_CORE_THREADS )
6.29.2.4 coreInitiateMemoryAccess()
HitWhere::where_t ParametricDramDirectoryMSI::MemoryManager::coreInitiateMemoryAccess (
MemComponent::component_t mem_component,
Core::lock_signal_t lock_signal,
Core::mem_op_t mem_op_type,
IntPtr address,
UInt32 offset,
Byte data_buf,
UInt32 data_length,
Core::MemModeled modeled )
Generated by Doxygen
212 Class Documentation
ParametricDramDirectoryMSI
::TLB::allocate
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::TLB::lookup
::MemoryManager::accessTLB Cache::accessSingleLine
ParametricDramDirectoryMSI
::CacheCntlr::accessCache Cache::insertSingleLine
ParametricDramDirectoryMSI
::CacheCntlr::wakeUpNetworkThread
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::updateCounters ::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseLock ::CacheCntlr::isFirstLevel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheMasterCntlr::getSetLock
ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory ::CacheCntlr::copyDataFromNextLevel
Access ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI CacheState::readable
::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
::CStateString
ParametricDramDirectoryMSI
::CacheCntlr::setCacheState
CacheBlockInfo::setOption
CacheBlockInfo::getCState
CacheBlockInfo::hasOption
ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher
CacheBlockInfo::setCState
ParametricDramDirectoryMSI
::CacheCntlr::getCache
Cache::updateCounters
CacheBlockInfo::clearOption
CacheBlockInfo::getOwner
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI
::CacheCntlr::updateUsageBits
CacheBlockInfo::getUsage CacheBlockInfo::updateUsage
CacheBlockInfo::invalidate
ParametricDramDirectoryMSI
::CacheCntlr::waitForNetworkThread
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
6.29.2.5 disableModels()
void ParametricDramDirectoryMSI::MemoryManager::disableModels ( )
Generated by Doxygen
6.29 ParametricDramDirectoryMSI::MemoryManager Class Reference 213
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::disableModels ::MemoryManager::addL1Hits
6.29.2.6 enableModels()
void ParametricDramDirectoryMSI::MemoryManager::enableModels ( )
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::enableModels ::MemoryManager::addL1Hits
6.29.2.7 getCache()
Cache ParametricDramDirectoryMSI::MemoryManager::getCache (
MemComponent::component_t mem_component ) [inline]
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::getCache ::CacheCntlr::getCache
Generated by Doxygen
214 Class Documentation
ParametricDramDirectoryMSI
::MemoryManager::getL1ICache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::getCache ::MemoryManager::getL1DCache
ParametricDramDirectoryMSI
::MemoryManager::getLastLevelCache
6.29.2.8 getCacheBlockSize()
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::getCacheBlockSize ::MemoryManager::MemoryManager
6.29.2.9 getCacheCntlrAt()
CacheCntlr ParametricDramDirectoryMSI::MemoryManager::getCacheCntlrAt (
core_id_t core_id,
MemComponent::component_t mem_component ) [inline]
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::getCacheCntlrAt ::CacheCntlr::CacheCntlr
Generated by Doxygen
6.29 ParametricDramDirectoryMSI::MemoryManager Class Reference 215
6.29.2.10 getCost()
SubsecondTime ParametricDramDirectoryMSI::MemoryManager::getCost (
MemComponent::component_t mem_component,
CachePerfModel::CacheAccess_t access_type )
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::MemoryManager::getCost
ParametricDramDirectoryMSI
::MemoryManager::getModeledLength
6.29.2.11 getDramCntlr()
PrL1PrL2DramDirectoryMSI::DramCntlr ParametricDramDirectoryMSI::MemoryManager::getDramCntlr (
) [inline]
6.29.2.12 getDramControllerHomeLookup()
AddressHomeLookup ParametricDramDirectoryMSI::MemoryManager::getDramControllerHomeLookup ( )
[inline]
6.29.2.13 getDramDirectoryCache()
PrL1PrL2DramDirectoryMSI::DramDirectoryCache ParametricDramDirectoryMSI::MemoryManager::get-
DramDirectoryCache ( ) [inline]
Generated by Doxygen
216 Class Documentation
6.29.2.14 getL1DCache()
6.29.2.15 getL1HitLatency()
SubsecondTime ParametricDramDirectoryMSI::MemoryManager::getL1HitLatency (
void ) [inline]
6.29.2.16 getL1ICache()
6.29.2.17 getLastLevelCache()
Generated by Doxygen
6.29 ParametricDramDirectoryMSI::MemoryManager Class Reference 217
6.29.2.18 getModeledLength()
UInt32 ParametricDramDirectoryMSI::MemoryManager::getModeledLength (
const void pkt_data ) [inline]
ParametricDramDirectoryMSI
::MemoryManager::getCost
ParametricDramDirectoryMSI
::MemoryManager::getModeledLength
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
6.29.2.19 getShmemRequester()
core_id_t ParametricDramDirectoryMSI::MemoryManager::getShmemRequester (
const void pkt_data ) [inline]
6.29.2.20 getTagDirectoryHomeLookup()
AddressHomeLookup ParametricDramDirectoryMSI::MemoryManager::getTagDirectoryHomeLookup ( )
[inline]
6.29.2.21 handleMsgFromNetwork()
void ParametricDramDirectoryMSI::MemoryManager::handleMsgFromNetwork (
NetPacket & packet )
Generated by Doxygen
218 Class Documentation
ReqQueueListTemplate
::front
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock ::CacheCntlr::lastLevelCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock ::CacheMasterCntlr::getSetLock
CacheBlockInfo::setOption
ParametricDramDirectoryMSI
::CacheCntlr::setCacheState
ParametricDramDirectoryMSI
::CacheCntlr::getHome
Cache::insertSingleLine
CacheBlockInfo::setOwner
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::getLock
::CacheCntlr::processUpgradeReq CacheBlockInfo::getOwner
ToDirectory
ParametricDramDirectoryMSI
::CacheCntlr::accessDRAM
CacheBlockInfo::setCState
CacheBlockInfo::getUsage
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI
::MemoryManager::sendMsg
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom ParametricDramDirectoryMSI
DramDirectory ::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::notifyPrevLevelInsert
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
CacheBlockInfo::getCState
::CacheCntlr::writeCacheBlock
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom ParametricDramDirectoryMSI
DramDirectory ::CacheCntlr::transition
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
CacheBlockInfo::hasOption
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep ::CacheCntlr::getCacheBlockSize
::CacheCntlr::updateCacheBlock
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::retrieveCacheBlock
ReqQueueListTemplate
::empty
ParametricDramDirectoryMSI
::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
Cache::peekSingleLine
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::updateUncoreStatistics
ParametricDramDirectoryMSI
::CacheCntlr::wakeUpUserThread ParametricDramDirectoryMSI
::CacheCntlr::notifyPrevLevelEvict
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ::CStateString
::CacheCntlr::waitForUserThread ::CacheCntlr::invalidateCacheBlock
ParametricDramDirectoryMSI
::make_mshr
ParametricDramDirectoryMSI
::CacheCntlr::cleanupMshr
ReqQueueListTemplate
::dequeue
void ParametricDramDirectoryMSI::MemoryManager::incrElapsedTime (
SubsecondTime latency,
ShmemPerfModel::Thread_t thread_num = ShmemPerfModel::NUM_CORE_THREADS )
Generated by Doxygen
6.29 ParametricDramDirectoryMSI::MemoryManager Class Reference 219
ParametricDramDirectoryMSI
::MemoryManager::accessTLB
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore
Access
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache ParametricDramDirectoryMSI ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory
ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork
ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::incrementQBSLookupCost ParametricDramDirectoryMSI ::CacheCntlr::handleMsgFromDram
::CacheCntlr::processInvReqFrom Directory
DramDirectory
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
ParametricDramDirectoryMSI DramDirectory
::MemoryManager::getModeledLength
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
void ParametricDramDirectoryMSI::MemoryManager::incrElapsedTime (
MemComponent::component_t mem_component,
CachePerfModel::CacheAccess_t access_type,
ShmemPerfModel::Thread_t thread_num = ShmemPerfModel::NUM_CORE_THREADS )
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::MemoryManager::getCost
6.29.2.24 sendMsg()
void ParametricDramDirectoryMSI::MemoryManager::sendMsg (
PrL1PrL2DramDirectoryMSI::ShmemMsg::msg_t msg_type,
MemComponent::component_t sender_mem_component,
MemComponent::component_t receiver_mem_component,
core_id_t requester,
core_id_t receiver,
IntPtr address,
Byte data_buf = NULL,
UInt32 data_length = 0,
HitWhere::where_t where = HitWhere::UNKNOWN,
ShmemPerf perf = NULL,
ShmemPerfModel::Thread_t thread_num = ShmemPerfModel::NUM_CORE_THREADS )
Generated by Doxygen
220 Class Documentation
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::CacheCntlr::processShmemReqFrom
::CacheCntlr::insertCacheBlock PrevCache
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShRepFromDram ::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
Directory ::CacheCntlr::Prefetch
ParametricDramDirectoryMSI
::CacheCntlr::processExReqToDirectory ParametricDramDirectoryMSI
::CacheCntlr::processExRepFromDram
Directory ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ::MemoryManager::handleMsgFromNetwork
::CacheCntlr::processShReqToDirectory
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::initiateDirectory
::MemoryManager::sendMsg
Access
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeReq
ToDirectory ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
DramDirectory
6.29.2.25 setCacheCntlrAt()
void ParametricDramDirectoryMSI::MemoryManager::setCacheCntlrAt (
core_id_t core_id,
MemComponent::component_t mem_component,
CacheCntlr cache_cntlr ) [inline]
Generated by Doxygen
6.29 ParametricDramDirectoryMSI::MemoryManager Class Reference 221
ParametricDramDirectoryMSI
::TLB::lookup
ParametricDramDirectoryMSI
::MemoryManager::accessTLB
CacheBlockInfo::updateUsage
ParametricDramDirectoryMSI
::CacheCntlr::updateUsageBits CacheBlockInfo::getUsage
ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
CacheBlockInfo::invalidate
ParametricDramDirectoryMSI
::CacheCntlr::getLock
ParametricDramDirectoryMSI
::CacheCntlr::invalidateCacheBlock
CacheBlockInfo::setCState
ParametricDramDirectoryMSI
::CacheCntlr::getCache
Cache::updateCounters
ParametricDramDirectoryMSI
CacheBlockInfo::hasOption
::CacheCntlr::trainPrefetcher
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI CacheBlockInfo::clearOption
::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore
Access
ParametricDramDirectoryMSI
::CacheCntlr::releaseLock ParametricDramDirectoryMSI
::CacheCntlr::operationPermissibleinCache
ParametricDramDirectoryMSI
::CacheCntlr::waitForNetworkThread ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockInfo
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
CacheBlockInfo::getOwner
ParametricDramDirectoryMSI
::CacheCntlr::copyDataFromNextLevel
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::insertCacheBlock ::CacheCntlr::getCacheState
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeRep
FromDramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::getCacheBlockSize
ParametricDramDirectoryMSI
::CacheCntlr::wakeUpNetworkThread
ParametricDramDirectoryMSI
::MemoryManager::incrElapsedTime
ParametricDramDirectoryMSI
::CacheCntlr::updateCounters
ParametricDramDirectoryMSI
::CacheCntlr::acquireLock
ParametricDramDirectoryMSI
::CacheCntlr::acquireStackLock
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI
::CacheCntlr::releaseStackLock
::CacheCntlr::processWbReqFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::getMemoryManager
ParametricDramDirectoryMSI
::CacheCntlr::processUpgradeReq
ParametricDramDirectoryMSI ToDirectory
::CacheCntlr::processExRepFromDram ParametricDramDirectoryMSI
Directory ::MemoryManager::sendMsg
ParametricDramDirectoryMSI
::CacheCntlr::processFlushReqFrom
ParametricDramDirectoryMSI DramDirectory
::CacheCntlr::processShRepFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::processInvReqFrom
DramDirectory
ParametricDramDirectoryMSI
::CacheCntlr::getShmemPerfModel
ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
Directory
ParametricDramDirectoryMSI
::CacheCntlr::accessCache
ParametricDramDirectoryMSI
::MemoryManager::handleMsgFromNetwork ReqQueueListTemplate
::empty
ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ReqQueueListTemplate
::front
ParametricDramDirectoryMSI
::MemoryManager::broadcastMsg
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Generated by Doxygen
222 Class Documentation
6.29.3.1 m_all_cache_cntlrs
6.29.3.2 m_cache_block_size
6.29.3.3 m_cache_cntlrs
CacheCntlr ParametricDramDirectoryMSI::MemoryManager::m_cache_cntlrs[MemComponent::LAST_LEVE-
L_CACHE+1] [private]
6.29.3.4 m_cache_perf_models
CachePerfModel ParametricDramDirectoryMSI::MemoryManager::m_cache_perf_models[MemComponent::-
LAST_LEVEL_CACHE+1] [private]
6.29.3.5 m_core_id_master
6.29.3.6 m_dram_cache
6.29.3.7 m_dram_cntlr
PrL1PrL2DramDirectoryMSI::DramCntlr ParametricDramDirectoryMSI::MemoryManager::m_dram_cntlr
[private]
Generated by Doxygen
6.29 ParametricDramDirectoryMSI::MemoryManager Class Reference 223
6.29.3.8 m_dram_cntlr_present
6.29.3.9 m_dram_controller_home_lookup
AddressHomeLookup ParametricDramDirectoryMSI::MemoryManager::m_dram_controller_home_lookup
[private]
6.29.3.10 m_dram_directory_cntlr
PrL1PrL2DramDirectoryMSI::DramDirectoryCntlr ParametricDramDirectoryMSI::MemoryManager::m_-
dram_directory_cntlr [private]
6.29.3.11 m_dtlb
6.29.3.12 m_enabled
6.29.3.13 m_itlb
6.29.3.14 m_last_level_cache
Generated by Doxygen
224 Class Documentation
6.29.3.15 m_network_thread_sem
6.29.3.16 m_nuca_cache
6.29.3.17 m_stlb
6.29.3.18 m_tag_directory_home_lookup
AddressHomeLookup ParametricDramDirectoryMSI::MemoryManager::m_tag_directory_home_lookup
[private]
6.29.3.19 m_tag_directory_present
6.29.3.20 m_tlb_miss_parallel
6.29.3.21 m_tlb_miss_penalty
Generated by Doxygen
6.30 ParametricDramDirectoryMSI::MshrEntry Struct Reference 225
6.29.3.22 m_user_thread_sem
The documentation for this class was generated from the following files:
memory_manager.h
memory_manager.cc
#include <cache_cntlr.h>
ParametricDramDirectoryMSI
::MshrEntry
+ t_issue
+ t_complete
Public Attributes
SubsecondTime t_issue
SubsecondTime t_complete
6.30.1.1 t_complete
SubsecondTime ParametricDramDirectoryMSI::MshrEntry::t_complete
Generated by Doxygen
226 Class Documentation
6.30.1.2 t_issue
SubsecondTime ParametricDramDirectoryMSI::MshrEntry::t_issue
The documentation for this struct was generated from the following file:
cache_cntlr.h
#include <nuca_cache.h>
Generated by Doxygen
6.31 NucaCache Class Reference 227
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
CacheBase # m_associativity
# m_blocksize
# m_name
# m_lock
# m_cache_size
# m_associativity + CacheSet()
# m_blocksize + ~CacheSet()
# m_hash + getBlockSize()
# m_num_sets + getAssociativity()
# m_ahl CacheSetInfo + getLock()
# m_log_blocksize + read_line()
+ write_line()
+ CacheBase()
+ ~CacheSetInfo() + find()
+ ~CacheBase()
+ invalidate()
+ splitAddress()
+ insert()
+ splitAddress()
+ peekBlock()
+ tagToAddress()
+ getDataPtr()
+ getName()
+ getBlockSize()
+ getNumSets()
+ getReplacementIndex()
+ getAssociativity()
+ updateReplacementIndex()
+ parseAddressHash()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
-m_set_info -m_sets
Cache
- m_enabled
- m_num_accesses
- m_num_hits
- m_cache_type
- m_fault_injector
+ Cache()
+ ~Cache()
+ getSetLock()
+ invalidateSingleLine()
+ accessSingleLine()
+ insertSingleLine()
+ peekSingleLine()
+ peekBlock()
+ updateCounters()
+ updateHits()
+ enable()
+ disable()
-m_cache
NucaCache
- m_core_id
- m_memory_manager
- m_shmem_perf_model
- m_home_lookup
- m_cache_block_size
- m_data_access_time
- m_tags_access_time
- m_data_array_bandwidth
- m_queue_model
- m_reads
- m_writes
- m_read_misses
- m_write_misses
+ NucaCache()
+ ~NucaCache()
+ read()
+ write()
- accessDataArray()
Generated by Doxygen
228 Class Documentation
boost::tuple< SubsecondTime, HitWhere::where_t > write (IntPtr address, Byte data_buf, bool &eviction,
IntPtr &evict_address, Byte evict_buf, SubsecondTime now, bool count)
Private Attributes
core_id_t m_core_id
MemoryManagerBase m_memory_manager
ShmemPerfModel m_shmem_perf_model
AddressHomeLookup m_home_lookup
UInt32 m_cache_block_size
ComponentLatency m_data_access_time
ComponentLatency m_tags_access_time
ComponentBandwidth m_data_array_bandwidth
Cache m_cache
QueueModel m_queue_model
UInt64 m_reads
UInt64 m_writes
UInt64 m_read_misses
UInt64 m_write_misses
6.31.1.1 NucaCache()
NucaCache::NucaCache (
MemoryManagerBase memory_manager,
ShmemPerfModel shmem_perf_model,
AddressHomeLookup home_lookup,
UInt32 cache_block_size,
ParametricDramDirectoryMSI::CacheParameters & parameters )
NucaCache::NucaCache CacheBase::parseAddressHash
Generated by Doxygen
6.31 NucaCache Class Reference 229
6.31.1.2 NucaCache()
NucaCache::NucaCache ( )
6.31.2.1 accessDataArray()
SubsecondTime NucaCache::accessDataArray (
Cache::access_t access,
SubsecondTime t_start,
ShmemPerf perf ) [private]
NucaCache::read
NucaCache::accessDataArray
NucaCache::write
6.31.2.2 read()
Cache::accessSingleLine CacheBase::splitAddress
NucaCache::accessDataArray
Generated by Doxygen
230 Class Documentation
6.31.2.3 write()
Cache::accessSingleLine CacheBase::splitAddress
Cache::peekSingleLine CacheSet::find
CacheBlockInfo::setTag
Cache::insertSingleLine
CacheSet::insert CacheSet::getReplacement
CacheBlockInfo::getTag
Index
NucaCache::write CacheBase::tagToAddress
CacheBlockInfo::clone
CacheBlockInfo::create
CacheBlockInfo::getCState
CacheBlockInfo::setCState
NucaCache::accessDataArray
6.31.3.1 m_cache
6.31.3.2 m_cache_block_size
6.31.3.3 m_core_id
Generated by Doxygen
6.31 NucaCache Class Reference 231
6.31.3.4 m_data_access_time
6.31.3.5 m_data_array_bandwidth
6.31.3.6 m_home_lookup
6.31.3.7 m_memory_manager
6.31.3.8 m_queue_model
6.31.3.9 m_read_misses
6.31.3.10 m_reads
6.31.3.11 m_shmem_perf_model
Generated by Doxygen
232 Class Documentation
6.31.3.12 m_tags_access_time
6.31.3.13 m_write_misses
6.31.3.14 m_writes
The documentation for this class was generated from the following files:
nuca_cache.h
nuca_cache.cc
#include <cache_cntlr.h>
Collaboration diagram for ParametricDramDirectoryMSI::Prefetch:
ParametricDramDirectoryMSI
::Prefetch
Public Types
enum prefetch_type_t { NONE, OWN, OTHER }
6.32.1.1 prefetch_type_t
enum ParametricDramDirectoryMSI::Prefetch::prefetch_type_t
Generated by Doxygen
6.33 Prefetcher Class Reference 233
Enumerator
NONE
OWN
OTHER
The documentation for this class was generated from the following file:
cache_cntlr.h
#include <prefetcher.h>
Prefetcher
+ getNextAddress()
+ createPrefetcher()
GhbPrefetcher
- m_prefetchWidth
- m_prefetchDepth SimplePrefetcher
- m_lastAddress
- core_id
- m_ghbSize
- shared_cores
- m_ghbHead
- n_flows
- m_generation
- flows_per_core
- m_ghb
- num_prefetches
- m_tableSize
- stop_at_page
- m_tableHead
- n_flow_next
- m_ghbTable
- m_prev_address
- INVALID_DELTA
- INVALID_INDEX + SimplePrefetcher()
+ getNextAddress()
+ GhbPrefetcher()
+ getNextAddress()
+ ~GhbPrefetcher()
Generated by Doxygen
234 Class Documentation
Prefetcher
+ getNextAddress()
+ createPrefetcher()
static Prefetcher createPrefetcher (String type, String configName, core_id_t core_id, UInt32 shared_cores)
6.33.1.1 createPrefetcher()
Prefetcher Prefetcher::createPrefetcher (
String type,
String configName,
core_id_t core_id,
UInt32 shared_cores ) [static]
ParametricDramDirectoryMSI
Prefetcher::createPrefetcher
::CacheCntlr::CacheCntlr
Generated by Doxygen
6.34 PrL1CacheBlockInfo Class Reference 235
6.33.1.2 getNextAddress()
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
Prefetcher::getNextAddress ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::trainPrefetcher ::MemoryManager::coreInitiateMemory
::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom
PrevCache
ParametricDramDirectoryMSI
::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
The documentation for this class was generated from the following files:
prefetcher.h
prefetcher.cc
#include <pr_l1_cache_block_info.h>
Generated by Doxygen
236 Class Documentation
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
PrL1CacheBlockInfo
+ PrL1CacheBlockInfo()
+ ~PrL1CacheBlockInfo()
Generated by Doxygen
6.34 PrL1CacheBlockInfo Class Reference 237
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
PrL1CacheBlockInfo
+ PrL1CacheBlockInfo()
+ ~PrL1CacheBlockInfo()
Generated by Doxygen
238 Class Documentation
6.34.1.1 PrL1CacheBlockInfo()
PrL1CacheBlockInfo::PrL1CacheBlockInfo (
IntPtr tag = 0,
CacheState::cstate_t cstate = CacheState::INVALID ) [inline]
6.34.1.2 PrL1CacheBlockInfo()
PrL1CacheBlockInfo::PrL1CacheBlockInfo ( ) [inline]
The documentation for this class was generated from the following file:
pr_l1_cache_block_info.h
#include <pr_l2_cache_block_info.h>
Generated by Doxygen
6.35 PrL2CacheBlockInfo Class Reference 239
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
PrL2CacheBlockInfo
- m_cached_loc_bitvec
+ PrL2CacheBlockInfo()
+ ~PrL2CacheBlockInfo()
+ getCachedLoc()
+ setCachedLoc()
+ clearCachedLoc()
+ getCachedLocBitVec()
+ invalidate()
+ clone()
Generated by Doxygen
240 Class Documentation
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
PrL2CacheBlockInfo
- m_cached_loc_bitvec
+ PrL2CacheBlockInfo()
+ ~PrL2CacheBlockInfo()
+ getCachedLoc()
+ setCachedLoc()
+ clearCachedLoc()
+ getCachedLocBitVec()
+ invalidate()
+ clone()
Generated by Doxygen
6.35 PrL2CacheBlockInfo Class Reference 241
UInt32 getCachedLocBitVec ()
void invalidate ()
void clone (CacheBlockInfo cache_block_info)
Private Attributes
UInt32 m_cached_loc_bitvec
6.35.1.1 PrL2CacheBlockInfo()
PrL2CacheBlockInfo::PrL2CacheBlockInfo (
IntPtr tag = 0,
CacheState::cstate_t cstate = CacheState::INVALID ) [inline]
6.35.1.2 PrL2CacheBlockInfo()
PrL2CacheBlockInfo::PrL2CacheBlockInfo ( ) [inline]
PrL2CacheBlockInfo
::getCachedLoc
PrL2CacheBlockInfo PrL2CacheBlockInfo
::~PrL2CacheBlockInfo ::setCachedLoc
PrL2CacheBlockInfo
::clearCachedLoc
Generated by Doxygen
242 Class Documentation
6.35.2.1 clearCachedLoc()
void PrL2CacheBlockInfo::clearCachedLoc (
MemComponent::component_t cached_loc )
PrL2CacheBlockInfo PrL2CacheBlockInfo
::clearCachedLoc ::~PrL2CacheBlockInfo
6.35.2.2 clone()
void PrL2CacheBlockInfo::clone (
CacheBlockInfo cache_block_info ) [virtual]
CacheBlockInfo::getTag
PrL2CacheBlockInfo
CacheBlockInfo::clone
::clone
CacheBlockInfo::getCState
PrL2CacheBlockInfo PrL2CacheBlockInfo
::clone ::getCachedLocBitVec
Generated by Doxygen
6.35 PrL2CacheBlockInfo Class Reference 243
6.35.2.3 getCachedLoc()
MemComponent::component_t PrL2CacheBlockInfo::getCachedLoc ( )
PrL2CacheBlockInfo PrL2CacheBlockInfo
::getCachedLoc ::~PrL2CacheBlockInfo
6.35.2.4 getCachedLocBitVec()
PrL2CacheBlockInfo
CacheBlockInfo::invalidate
::invalidate
PrL2CacheBlockInfo
::getCachedLocBitVec CacheBlockInfo::getTag
PrL2CacheBlockInfo
CacheBlockInfo::clone
::clone
CacheBlockInfo::getCState
6.35.2.5 invalidate()
void PrL2CacheBlockInfo::invalidate (
void ) [virtual]
PrL2CacheBlockInfo
CacheBlockInfo::invalidate
::invalidate
Generated by Doxygen
244 Class Documentation
PrL2CacheBlockInfo PrL2CacheBlockInfo
::invalidate ::getCachedLocBitVec
6.35.2.6 setCachedLoc()
void PrL2CacheBlockInfo::setCachedLoc (
MemComponent::component_t cached_loc )
PrL2CacheBlockInfo PrL2CacheBlockInfo
::setCachedLoc ::~PrL2CacheBlockInfo
6.35.3.1 m_cached_loc_bitvec
The documentation for this class was generated from the following files:
pr_l2_cache_block_info.h
pr_l2_cache_block_info.cc
Generated by Doxygen
6.36 ReqQueueListTemplate< T_Req > Class Template Reference 245
#include <req_queue_list_template.h>
ReqQueueListTemplate
< T_Req >
- m_req_queue_list
+ ReqQueueListTemplate()
+ ~ReqQueueListTemplate()
+ enqueue()
+ dequeue()
+ front()
+ back()
+ size()
+ empty()
ReqQueueListTemplate
< CacheDirectoryWaiter >
- m_req_queue_list
+ ReqQueueListTemplate()
+ ~ReqQueueListTemplate()
+ enqueue()
+ dequeue()
+ front()
+ back()
+ size()
+ empty()
Generated by Doxygen
246 Class Documentation
ReqQueueListTemplate
< T_Req >
- m_req_queue_list
+ ReqQueueListTemplate()
+ ~ReqQueueListTemplate()
+ enqueue()
+ dequeue()
+ front()
+ back()
+ size()
+ empty()
ReqQueueListTemplate ()
ReqQueueListTemplate ()
void enqueue (IntPtr address, T_Req shmem_req)
T_Req dequeue (IntPtr address)
T_Req front (IntPtr address)
T_Req back (IntPtr address)
UInt32 size (IntPtr address)
bool empty (IntPtr address)
Private Attributes
6.36.1.1 ReqQueueListTemplate()
template<class T_Req>
ReqQueueListTemplate< T_Req >::ReqQueueListTemplate ( ) [inline]
Generated by Doxygen
6.36 ReqQueueListTemplate< T_Req > Class Template Reference 247
ReqQueueListTemplate
ReqQueueListTemplate
< CacheDirectoryWaiter
::ReqQueueListTemplate
>::empty
6.36.1.2 ReqQueueListTemplate()
template<class T_Req>
ReqQueueListTemplate< T_Req >::ReqQueueListTemplate ( ) [inline]
ReqQueueListTemplate
ReqQueueListTemplate
< CacheDirectoryWaiter
::~ReqQueueListTemplate
>::empty
6.36.2.1 back()
ReqQueueListTemplate
ReqQueueListTemplate
< CacheDirectoryWaiter
::back
>::~ReqQueueListTemplate
Generated by Doxygen
248 Class Documentation
6.36.2.2 dequeue()
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory
ReqQueueListTemplate
ReqQueueListTemplate
< CacheDirectoryWaiter
::dequeue
>::~ReqQueueListTemplate
ReqQueueListTemplate
< CacheDirectoryWaiter
>::empty
6.36.2.3 empty()
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory
ReqQueueListTemplate
ReqQueueListTemplate
< CacheDirectoryWaiter
::empty
>::~ReqQueueListTemplate
ReqQueueListTemplate
< CacheDirectoryWaiter
>::dequeue
6.36.2.4 enqueue()
template<class T_Req>
void ReqQueueListTemplate< T_Req >::enqueue (
IntPtr address,
T_Req shmem_req )
ReqQueueListTemplate
< CacheDirectoryWaiter
>::empty
Generated by Doxygen
6.36 ReqQueueListTemplate< T_Req > Class Template Reference 249
6.36.2.5 front()
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::handleMsgFromDram
::MemoryManager::handleMsgFromNetwork ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Directory
ReqQueueListTemplate
ReqQueueListTemplate
< CacheDirectoryWaiter
::front
>::~ReqQueueListTemplate
ReqQueueListTemplate
< CacheDirectoryWaiter
>::empty
6.36.2.6 size()
ReqQueueListTemplate
< CacheDirectoryWaiter
>::empty
6.36.3.1 m_req_queue_list
template<class T_Req>
std::map<IntPtr, std::queue<T_Req> > ReqQueueListTemplate< T_Req >::m_req_queue_list [private]
The documentation for this class was generated from the following file:
req_queue_list_template.h
Generated by Doxygen
250 Class Documentation
#include <shared_cache_block_info.h>
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
SharedCacheBlockInfo
+ SharedCacheBlockInfo()
+ ~SharedCacheBlockInfo()
+ invalidate()
+ clone()
Generated by Doxygen
6.37 SharedCacheBlockInfo Class Reference 251
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
SharedCacheBlockInfo
+ SharedCacheBlockInfo()
+ ~SharedCacheBlockInfo()
+ invalidate()
+ clone()
Generated by Doxygen
252 Class Documentation
6.37.1.1 SharedCacheBlockInfo()
SharedCacheBlockInfo::SharedCacheBlockInfo (
IntPtr tag = 0,
CacheState::cstate_t cstate = CacheState::INVALID ) [inline]
6.37.1.2 SharedCacheBlockInfo()
SharedCacheBlockInfo::SharedCacheBlockInfo ( ) [inline]
SharedCacheBlockInfo
CacheBlockInfo::invalidate
::invalidate
SharedCacheBlockInfo
::~SharedCacheBlockInfo CacheBlockInfo::getTag
SharedCacheBlockInfo
CacheBlockInfo::clone
::clone
CacheBlockInfo::getCState
6.37.2.1 clone()
void SharedCacheBlockInfo::clone (
CacheBlockInfo cache_block_info ) [virtual]
CacheBlockInfo::getTag
SharedCacheBlockInfo
CacheBlockInfo::clone
::clone
CacheBlockInfo::getCState
Generated by Doxygen
6.37 SharedCacheBlockInfo Class Reference 253
SharedCacheBlockInfo SharedCacheBlockInfo
::clone ::~SharedCacheBlockInfo
6.37.2.2 invalidate()
void SharedCacheBlockInfo::invalidate (
void ) [virtual]
SharedCacheBlockInfo
CacheBlockInfo::invalidate
::invalidate
ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::CacheCntlr::processShmemReqFrom ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
PrevCache ::CacheCntlr::processMemOpFromCore ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
SharedCacheBlockInfo ParametricDramDirectoryMSI
::invalidate ::CacheCntlr::doPrefetch ParametricDramDirectoryMSI
::CacheCntlr::Prefetch
SharedCacheBlockInfo
::~SharedCacheBlockInfo
The documentation for this class was generated from the following files:
shared_cache_block_info.h
shared_cache_block_info.cc
Generated by Doxygen
254 Class Documentation
#include <simple_prefetcher.h>
Prefetcher
+ getNextAddress()
+ createPrefetcher()
SimplePrefetcher
- core_id
- shared_cores
- n_flows
- flows_per_core
- num_prefetches
- stop_at_page
- n_flow_next
- m_prev_address
+ SimplePrefetcher()
+ getNextAddress()
Generated by Doxygen
6.38 SimplePrefetcher Class Reference 255
Prefetcher
+ getNextAddress()
+ createPrefetcher()
SimplePrefetcher
- core_id
- shared_cores
- n_flows
- flows_per_core
- num_prefetches
- stop_at_page
- n_flow_next
- m_prev_address
+ SimplePrefetcher()
+ getNextAddress()
Private Attributes
Generated by Doxygen
256 Class Documentation
6.38.1.1 SimplePrefetcher()
SimplePrefetcher::SimplePrefetcher (
String configName,
core_id_t core_id,
UInt32 shared_cores )
6.38.2.1 getNextAddress()
Implements Prefetcher.
6.38.3.1 core_id
6.38.3.2 flows_per_core
6.38.3.3 m_prev_address
6.38.3.4 n_flow_next
Generated by Doxygen
6.39 GhbPrefetcher::TableEntry Struct Reference 257
6.38.3.5 n_flows
6.38.3.6 num_prefetches
6.38.3.7 shared_cores
6.38.3.8 stop_at_page
The documentation for this class was generated from the following files:
simple_prefetcher.h
simple_prefetcher.cc
GhbPrefetcher::TableEntry
+ ghbIndex
+ delta
+ generation
+ TableEntry()
TableEntry ()
Generated by Doxygen
258 Class Documentation
Public Attributes
UInt32 ghbIndex
SInt64 delta
UInt32 generation
6.39.1.1 TableEntry()
GhbPrefetcher::TableEntry::TableEntry ( ) [inline]
6.39.2.1 delta
SInt64 GhbPrefetcher::TableEntry::delta
6.39.2.2 generation
UInt32 GhbPrefetcher::TableEntry::generation
6.39.2.3 ghbIndex
UInt32 GhbPrefetcher::TableEntry::ghbIndex
The documentation for this struct was generated from the following file:
ghb_prefetcher.h
Generated by Doxygen
6.40 ParametricDramDirectoryMSI::TLB Class Reference 259
#include <tlb.h>
Collaboration diagram for ParametricDramDirectoryMSI::TLB:
CacheBlockInfo
+ BitsUsedOffset
- m_tag
- m_cstate
- m_owner
- m_used
- m_options
- option_names
+ CacheBlockInfo()
+ ~CacheBlockInfo()
+ invalidate()
+ clone()
+ isValid()
+ getTag()
+ getCState()
+ setTag()
+ setCState()
+ getOwner()
+ setOwner()
+ hasOption()
+ setOption()
+ clearOption()
+ getUsage()
+ updateUsage()
+ updateUsage()
+ create()
+ getOptionName()
#m_cache_block_info
_array
CacheSet
+ m_coming_EW_type
+ m_block_op
# m_blocks
CacheBase # m_associativity
# m_blocksize
# m_name
# m_lock
# m_cache_size
# m_associativity + CacheSet()
# m_blocksize + ~CacheSet()
# m_hash + getBlockSize()
# m_num_sets + getAssociativity()
# m_ahl CacheSetInfo
+ getLock()
# m_log_blocksize + read_line()
+ write_line()
+ CacheBase()
+ ~CacheSetInfo() + find()
+ ~CacheBase()
+ invalidate()
+ splitAddress()
+ insert()
+ splitAddress()
+ peekBlock()
+ tagToAddress()
+ getDataPtr()
+ getName()
+ getBlockSize()
+ getNumSets()
+ getReplacementIndex()
+ getAssociativity()
+ updateReplacementIndex()
+ parseAddressHash()
+ isValidReplacement()
+ createCacheSet()
+ createCacheSetInfo()
+ parsePolicyType()
+ getNumQBSAttempts()
-m_set_info -m_sets
Cache
- m_enabled
- m_num_accesses
- m_num_hits
- m_cache_type
- m_fault_injector
+ Cache()
+ ~Cache()
+ getSetLock()
+ invalidateSingleLine()
+ accessSingleLine()
+ insertSingleLine()
+ peekSingleLine()
+ peekBlock()
+ updateCounters()
+ updateHits()
+ enable()
+ disable()
-m_cache
ParametricDramDirectoryMSI::TLB
- m_size
- m_associativity
- m_access
- m_miss
- SIM_PAGE_SHIFT -m_next_level
- SIM_PAGE_SIZE
- SIM_PAGE_MASK
+ TLB()
+ lookup()
+ allocate()
Generated by Doxygen
260 Class Documentation
Private Attributes
UInt32 m_size
UInt32 m_associativity
Cache m_cache
TLB m_next_level
UInt64 m_access
UInt64 m_miss
6.40.1.1 TLB()
ParametricDramDirectoryMSI::TLB::TLB (
String name,
String cfgname,
core_id_t core_id,
UInt32 num_entries,
UInt32 associativity,
TLB next_level )
Generated by Doxygen
6.40 ParametricDramDirectoryMSI::TLB Class Reference 261
6.40.2.1 allocate()
void ParametricDramDirectoryMSI::TLB::allocate (
IntPtr address,
SubsecondTime now )
CacheBase::splitAddress
CacheBlockInfo::create
CacheSet::getReplacement
CacheBlockInfo::setTag Index
ParametricDramDirectoryMSI
Cache::insertSingleLine CacheSet::insert CacheBlockInfo::clone CacheBlockInfo::getCState
::TLB::allocate
CacheBlockInfo::getTag
CacheBase::tagToAddress
CacheSet::find
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::TLB::allocate ::TLB::lookup ::MemoryManager::accessTLB ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
6.40.2.2 lookup()
bool ParametricDramDirectoryMSI::TLB::lookup (
IntPtr address,
SubsecondTime now,
bool allocate_on_miss = true )
Cache::accessSingleLine CacheBase::splitAddress
ParametricDramDirectoryMSI CacheBlockInfo::create
::TLB::lookup
CacheSet::getReplacement
ParametricDramDirectoryMSI CacheBlockInfo::setTag Index
::TLB::allocate
CacheBlockInfo::getTag
CacheBase::tagToAddress
CacheSet::find
ParametricDramDirectoryMSI
ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI ParametricDramDirectoryMSI
::MemoryManager::coreInitiateMemory
::TLB::lookup ::MemoryManager::accessTLB ::MemoryManager::setCacheCntlrAt ::MemoryManager::MemoryManager
Access
Generated by Doxygen
262 Class Documentation
6.40.3.1 m_access
6.40.3.2 m_associativity
6.40.3.3 m_cache
6.40.3.4 m_miss
6.40.3.5 m_next_level
6.40.3.6 m_size
6.40.3.7 SIM_PAGE_MASK
Generated by Doxygen
6.41 ParametricDramDirectoryMSI::Transition Class Reference 263
6.40.3.8 SIM_PAGE_SHIFT
6.40.3.9 SIM_PAGE_SIZE
The documentation for this class was generated from the following files:
tlb.h
tlb.cc
#include <cache_cntlr.h>
ParametricDramDirectoryMSI
::Transition
Public Types
enum reason_t {
REASON_FIRST = 0, CORE_RD = REASON_FIRST, CORE_WR, CORE_RDEX,
UPGRADE, EVICT, BACK_INVAL, COHERENCY,
NUM_REASONS }
6.41.1.1 reason_t
enum ParametricDramDirectoryMSI::Transition::reason_t
Generated by Doxygen
264 Class Documentation
Enumerator
REASON_FIRST
CORE_RD
CORE_WR
CORE_RDEX
UPGRADE
EVICT
BACK_INVAL
COHERENCY
NUM_REASONS
The documentation for this class was generated from the following file:
cache_cntlr.h
Generated by Doxygen
Chapter 7
File Documentation
#include "simulator.h"
#include "cache.h"
#include "log.h"
Include dependency graph for cache.cc:
cache.cc
simulator.h cache.h
cache_base.h cache_state.h
fixed_types.h cassert
#include "cache_base.h"
#include "cache_set.h"
#include "cache_block_info.h"
#include "utils.h"
#include "hash_map_set.h"
#include "cache_perf_model.h"
#include "shmem_perf_model.h"
#include "log.h"
#include "core.h"
266 File Documentation
#include "fault_injection.h"
Include dependency graph for cache.h:
cache.h
cache_state.h cache_base.h
cassert fixed_types.h
This graph shows which files directly or indirectly include this file:
cache.h
Classes
class Cache
Functions
template<class T >
UInt32 moduloHashFn (T key, UInt32 hash_fn_param, UInt32 num_buckets)
Generated by Doxygen
7.3 cache_atd.cc File Reference 267
7.2.1.1 moduloHashFn()
template<class T >
UInt32 moduloHashFn (
T key,
UInt32 hash_fn_param,
UInt32 num_buckets )
#include "cache_atd.h"
#include "cache_set.h"
#include "pr_l1_cache_block_info.h"
#include "stats.h"
#include "config.hpp"
#include "rng.h"
Include dependency graph for cache_atd.cc:
cache_atd.cc
cache_base.h cache_state.h
fixed_types.h cassert
#include "fixed_types.h"
#include "cache_base.h"
#include "cache_set.h"
#include "core.h"
Generated by Doxygen
268 File Documentation
#include <unordered_map>
Include dependency graph for cache_atd.h:
cache_atd.h
cache_state.h cache_base.h
cassert fixed_types.h
This graph shows which files directly or indirectly include this file:
cache_atd.h
cache_atd.cc cache_cntlr.cc
Classes
class ATD
#include "cache_base.h"
#include "utils.h"
#include "log.h"
#include "rng.h"
#include "address_home_lookup.h"
Generated by Doxygen
7.6 cache_base.h File Reference 269
cache_base.cc
fixed_types.h
#include "fixed_types.h"
Include dependency graph for cache_base.h:
cache_base.h
fixed_types.h
This graph shows which files directly or indirectly include this file:
cache_base.h
cache_block_info.h cache_base.cc
shared_cache_block
cache_set.h pr_l1_cache_block_info.h pr_l2_cache_block_info.h
_info.h
shared_cache_block
cache_set_mru.h cache_set_plru.h cache_set_random.h cache_set_round_robin.h cache_set_nmru.h cache_set_nru.h cache_set_lru.h cache.h cache_block_info.cc cache_atd.h pr_l2_cache_block_info.cc
_info.cc
cache_set_mrut.h cache_set_mru.cc cache_set_plru.cc cache_set_random.cc cache_set_round_robin.cc cache_set_nmru.cc cache_set_nru.cc cache_set_ew_lru.h cache_set_lru.cc cache_set_srrip.h cache.cc tlb.h cache_cntlr.h cache_atd.cc
Classes
class CacheBase
Cache_Base class.
Generated by Doxygen
270 File Documentation
Macros
#define k_KILO 1024
#define k_MEGA (k_KILOk_KILO)
#define k_GIGA (k_KILOk_MEGA)
7.6.1.1 k_GIGA
7.6.1.2 k_KILO
7.6.1.3 k_MEGA
#include "cache_block_info.h"
#include "pr_l1_cache_block_info.h"
#include "pr_l2_cache_block_info.h"
#include "shared_cache_block_info.h"
#include "log.h"
Include dependency graph for cache_block_info.cc:
cache_block_info.cc
shared_cache_block
pr_l1_cache_block_info.h pr_l2_cache_block_info.h log.h
_info.h
cache_block_info.h mem_component.h
cache_base.h cache_state.h
fixed_types.h cassert
Generated by Doxygen
7.8 cache_block_info.h File Reference 271
#include "fixed_types.h"
#include "cache_state.h"
#include "cache_base.h"
Include dependency graph for cache_block_info.h:
cache_block_info.h
cache_base.h cache_state.h
fixed_types.h cassert
This graph shows which files directly or indirectly include this file:
cache_block_info.h
shared_cache_block
pr_l2_cache_block_info.h pr_l1_cache_block_info.h cache_set.h
_info.h
shared_cache_block
cache_block_info.cc pr_l2_cache_block_info.cc cache.h cache_atd.h cache_set_plru.h cache_set_mru.h cache_set_round_robin.h cache_set_random.h cache_set_nru.h cache_set_nmru.h cache_set_lru.h
_info.cc
cache_cntlr.h cache.cc tlb.h cache_atd.cc cache_set_plru.cc cache_set_mru.cc cache_set_mrut.h cache_set_round_robin.cc cache_set_random.cc cache_set_nru.cc cache_set_nmru.cc cache_set_ew_lru.h cache_set_lru.cc cache_set_srrip.h
Classes
class CacheBlockInfo
class CacheCntlr
#include "cache_cntlr.h"
#include "log.h"
#include "memory_manager.h"
#include "core_manager.h"
#include "simulator.h"
#include "config.hpp"
#include "fault_injection.h"
#include "hooks_manager.h"
#include "cache_atd.h"
#include "shmem_perf.h"
Generated by Doxygen
272 File Documentation
#include <cstring>
Include dependency graph for cache_cntlr.cc:
cache_cntlr.cc
C:/Users/Nora S. Almaayouf C:/Users/Nora S. Almaayouf C:/Users/Nora S. Almaayouf C:/Users/Nora S. Almaayouf C:/Users/Nora S. Almaayouf C:/Users/Nora S. Almaayouf
/Documents/NetBeansProjects /Documents/NetBeansProjects /Documents/NetBeansProjects /Documents/NetBeansProjects /Documents/NetBeansProjects /Documents/NetBeansProjects
memory_manager.h hit_where.h /Sniper/sniper-6.1/common/core directory.h /Sniper/sniper-6.1/common/core /Sniper/sniper-6.1/common/core /Sniper/sniper-6.1/common/core req_queue_list_template.h /Sniper/sniper-6.1/common/core dram_perf_model.h dram_cntlr_interface.h /Sniper/sniper-6.1/common/core coherency_protocol.h core_manager.h simulator.h config.hpp hooks_manager.h shmem_perf.h
/memory_subsystem/pr_l1_pr_l2 /memory_subsystem/pr_l1_pr_l2 /memory_subsystem/pr_l1_pr_l2 /memory_subsystem/pr_l1_pr_l2 /memory_subsystem/pr_l1_pr_l2 /memory_subsystem/pr_l1_pr_l2
_dram_directory_msi/dram_directory_cache.h _dram_directory_msi/req_queue_list.h _dram_directory_msi/shmem_req.h _dram_directory_msi/shmem_msg.h _dram_directory_msi/dram_cntlr.h _dram_directory_msi/shmem_perf.h
../pr_l1_pr_l2_dram ../pr_l1_pr_l2_dram
cache_cntlr.h _directory_msi/dram _directory_msi/dram memory_manager_base.h
_directory_cntlr.h _cntlr.h
../pr_l1_pr_l2_dram shared_cache_block
cache_atd.h cache.h stats.h boost/tuple/tuple.hpp setlock.h contention_model.h prefetcher.h req_queue_list_template.h address_home_lookup.h semaphore.h subsecond_time.h
_directory_msi/shmem_msg.h _info.h
fixed_types.h
Namespaces
ParametricDramDirectoryMSI
Macros
#define MYLOG(...) {}
Functions
Variables
Lock iolock
7.9.1.1 MYLOG
#define MYLOG(
... ) {}
7.9.2.1 iolock
Lock iolock
Generated by Doxygen
7.10 cache_cntlr.h File Reference 273
#include "core.h"
#include "cache.h"
#include "prefetcher.h"
#include "shared_cache_block_info.h"
#include "address_home_lookup.h"
#include "../pr_l1_pr_l2_dram_directory_msi/shmem_msg.h"
#include "mem_component.h"
#include "semaphore.h"
#include "lock.h"
#include "setlock.h"
#include "fixed_types.h"
#include "shmem_perf_model.h"
#include "contention_model.h"
#include "req_queue_list_template.h"
#include "stats.h"
#include "subsecond_time.h"
#include "boost/tuple/tuple.hpp"
Include dependency graph for cache_cntlr.h:
cache_cntlr.h
shared_cache_block ../pr_l1_pr_l2_dram
prefetcher.h cache.h req_queue_list_template.h address_home_lookup.h semaphore.h setlock.h contention_model.h stats.h subsecond_time.h boost/tuple/tuple.hpp
_info.h _directory_msi/shmem_msg.h
vector mem_component.h core.h utils.h hash_map_set.h cache_perf_model.h fault_injection.h cache_set.h shmem_perf_model.h map queue
cache_state.h cache_base.h
cassert fixed_types.h
This graph shows which files directly or indirectly include this file:
cache_cntlr.h
memory_manager.h nuca_cache.h
Classes
class ParametricDramDirectoryMSI::Transition
class ParametricDramDirectoryMSI::Prefetch
class ParametricDramDirectoryMSI::CacheParameters
class ParametricDramDirectoryMSI::CacheCntlrList
class ParametricDramDirectoryMSI::CacheDirectoryWaiter
struct ParametricDramDirectoryMSI::MshrEntry
class ParametricDramDirectoryMSI::CacheMasterCntlr
class ParametricDramDirectoryMSI::CacheCntlr
Generated by Doxygen
274 File Documentation
Namespaces
ParametricDramDirectoryMSI
Macros
#define PREFETCH_MAX_QUEUE_LENGTH 32
#define PREFETCH_INTERVAL SubsecondTime::NS(1)
Typedefs
7.10.1.1 PREFETCH_INTERVAL
7.10.1.2 PREFETCH_MAX_QUEUE_LENGTH
#define PREFETCH_MAX_QUEUE_LENGTH 32
#include "cache_set.h"
#include "cache_set_lru.h"
#include "cache_set_ew_lru.h"
#include "cache_set_ew_srrip.h"
#include "cache_set_mrut.h"
#include "cache_set_mru.h"
#include "cache_set_nmru.h"
#include "cache_set_nru.h"
#include "cache_set_plru.h"
#include "cache_set_random.h"
#include "cache_set_round_robin.h"
#include "cache_set_srrip.h"
#include "cache_base.h"
#include "log.h"
#include "simulator.h"
#include "config.h"
Generated by Doxygen
7.12 cache_set.h File Reference 275
#include "config.hpp"
Include dependency graph for cache_set.cc:
cache_set.cc
cache_set.h
cache_state.h cache_base.h
fixed_types.h cassert
#include "fixed_types.h"
#include "cache_block_info.h"
#include "cache_base.h"
#include "lock.h"
#include "random.h"
#include "log.h"
#include <cstring>
Include dependency graph for cache_set.h:
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
This graph shows which files directly or indirectly include this file:
cache_set.h
cache.cc cache_cntlr.h tlb.h cache_atd.cc cache_set_srrip.h cache_set_lru.cc cache_set_ew_lru.h cache_set_mrut.h cache_set_mru.cc cache_set_nmru.cc cache_set_nru.cc cache_set_plru.cc cache_set_random.cc cache_set_round_robin.cc
Generated by Doxygen
276 File Documentation
Classes
class CacheSetInfo
class CacheSet
Cache_Set class.
#include "cache_set_ew_lru.h"
#include "cache_set_lru.h"
#include "log.h"
#include "stats.h"
Include dependency graph for cache_set_ew_lru.cc:
cache_set_ew_lru.cc
cache_set_ew_lru.h stats.h
cache_set_lru.h
cache_set.h
cache_state.h cache_base.h
cassert fixed_types.h
#include "cache_set.h"
#include "cache_set_lru.h"
Generated by Doxygen
7.15 cache_set_ew_srrip.cc File Reference 277
cache_set_ew_lru.h
cache_set_lru.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
This graph shows which files directly or indirectly include this file:
cache_set_ew_lru.h
cache_set.cc cache_set_ew_lru.cc
Classes
class CacheSetEWLRU
EW-LRU: Evict Write strategy for Least Recently Used cache replacement policy.
struct CacheSetEWLRU::ew_array
A public struct variable.
#include "cache_set_srrip.h"
#include "cache_set_ew_srrip.h"
Generated by Doxygen
278 File Documentation
#include "simulator.h"
#include "config.hpp"
#include "log.h"
Include dependency graph for cache_set_ew_srrip.cc:
cache_set_ew_srrip.cc
cache_set_srrip.h
cache_set_lru.h
cache_set.h
cache_state.h cache_base.h
cassert fixed_types.h
#include "cache_set.h"
#include "cache_set_lru.h"
#include "cache_set_srrip.h"
Generated by Doxygen
7.17 cache_set_lru.cc File Reference 279
cache_set_ew_srrip.h
cache_set_srrip.h
cache_set_lru.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
This graph shows which files directly or indirectly include this file:
cache_set_ew_srrip.h
cache_set.cc cache_set_ew_srrip.cc
Classes
class CacheSetEWSRRIP
EW-S-RRIP: Evict Write strategy for Static Re-reference Interval Prediction cache replacement policy.
#include "cache_set_lru.h"
#include "log.h"
Generated by Doxygen
280 File Documentation
#include "stats.h"
Include dependency graph for cache_set_lru.cc:
cache_set_lru.cc
cache_set_lru.h stats.h
cache_set.h
cache_state.h cache_base.h
cassert fixed_types.h
#include "cache_set.h"
Include dependency graph for cache_set_lru.h:
cache_set_lru.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
Generated by Doxygen
7.19 cache_set_mru.cc File Reference 281
This graph shows which files directly or indirectly include this file:
cache_set_lru.h
cache_set.cc cache_set_ew_srrip.cc
Classes
class CacheSetInfoLRU
class CacheSetLRU
#include "cache_set_mru.h"
#include "log.h"
Include dependency graph for cache_set_mru.cc:
cache_set_mru.cc
cache_set_mru.h
cache_set.h
cache_state.h cache_base.h
cassert fixed_types.h
Generated by Doxygen
282 File Documentation
#include "cache_set.h"
Include dependency graph for cache_set_mru.h:
cache_set_mru.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
This graph shows which files directly or indirectly include this file:
cache_set_mru.h
cache_set_mrut.h cache_set_mru.cc
cache_set.cc cache_set_mrut.cc
Classes
class CacheSetMRU
#include "cache_set_mru.h"
#include "cache_set_mrut.h"
Generated by Doxygen
7.22 cache_set_mrut.h File Reference 283
#include "log.h"
Include dependency graph for cache_set_mrut.cc:
cache_set_mrut.cc
cache_set_mrut.h
cache_set_mru.h
cache_set.h
cache_state.h cache_base.h
cassert fixed_types.h
#include "cache_set.h"
#include "cache_set_mru.h"
Generated by Doxygen
284 File Documentation
cache_set_mrut.h
cache_set_mru.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
This graph shows which files directly or indirectly include this file:
cache_set_mrut.h
cache_set.cc cache_set_mrut.cc
Classes
class CacheSetMRUT
MRU-T: Most Recently Used - Tour cache replacement policy.
#include "cache_set_nmru.h"
#include "log.h"
Generated by Doxygen
7.24 cache_set_nmru.h File Reference 285
cache_set_nmru.cc
cache_set_nmru.h
cache_set.h
cache_state.h cache_base.h
cassert fixed_types.h
#include "cache_set.h"
Include dependency graph for cache_set_nmru.h:
cache_set_nmru.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
Generated by Doxygen
286 File Documentation
This graph shows which files directly or indirectly include this file:
cache_set_nmru.h
cache_set.cc cache_set_nmru.cc
Classes
class CacheSetNMRU
#include "cache_set_nru.h"
#include "log.h"
Include dependency graph for cache_set_nru.cc:
cache_set_nru.cc
cache_set_nru.h
cache_set.h
cache_state.h cache_base.h
cassert fixed_types.h
Generated by Doxygen
7.26 cache_set_nru.h File Reference 287
#include "cache_set.h"
Include dependency graph for cache_set_nru.h:
cache_set_nru.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
This graph shows which files directly or indirectly include this file:
cache_set_nru.h
cache_set.cc cache_set_nru.cc
Classes
class CacheSetNRU
#include "cache_set_plru.h"
#include "log.h"
Generated by Doxygen
288 File Documentation
cache_set_plru.cc
cache_set_plru.h
cache_set.h
cache_state.h cache_base.h
cassert fixed_types.h
#include "cache_set.h"
Include dependency graph for cache_set_plru.h:
cache_set_plru.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
Generated by Doxygen
7.29 cache_set_random.cc File Reference 289
This graph shows which files directly or indirectly include this file:
cache_set_plru.h
cache_set.cc cache_set_plru.cc
Classes
class CacheSetPLRU
#include "cache_set_random.h"
#include "log.h"
#include <time.h>
Include dependency graph for cache_set_random.cc:
cache_set_random.cc
cache_set_random.h time.h
cache_set.h
cache_state.h cache_base.h
cassert fixed_types.h
Generated by Doxygen
290 File Documentation
#include "cache_set.h"
Include dependency graph for cache_set_random.h:
cache_set_random.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
This graph shows which files directly or indirectly include this file:
cache_set_random.h
cache_set.cc cache_set_random.cc
Classes
class CacheSetRandom
#include "cache_set_round_robin.h"
Generated by Doxygen
7.32 cache_set_round_robin.h File Reference 291
cache_set_round_robin.cc
cache_set_round_robin.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
#include "cache_set.h"
Include dependency graph for cache_set_round_robin.h:
cache_set_round_robin.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
Generated by Doxygen
292 File Documentation
This graph shows which files directly or indirectly include this file:
cache_set_round_robin.h
cache_set.cc cache_set_round_robin.cc
Classes
class CacheSetRoundRobin
#include "cache_set_srrip.h"
#include "simulator.h"
#include "config.hpp"
#include "log.h"
Include dependency graph for cache_set_srrip.cc:
cache_set_srrip.cc
cache_set_lru.h
cache_set.h
cache_state.h cache_base.h
cassert fixed_types.h
Generated by Doxygen
7.34 cache_set_srrip.h File Reference 293
#include "cache_set.h"
#include "cache_set_lru.h"
Include dependency graph for cache_set_srrip.h:
cache_set_srrip.h
cache_set_lru.h
cache_set.h
cache_base.h cache_state.h
fixed_types.h cassert
This graph shows which files directly or indirectly include this file:
cache_set_srrip.h
cache_set_ew_srrip.h cache_set_srrip.cc
cache_set.cc cache_set_ew_srrip.cc
Classes
class CacheSetSRRIP
Generated by Doxygen
294 File Documentation
#include <cassert>
#include "fixed_types.h"
Include dependency graph for cache_state.h:
cache_state.h
cassert fixed_types.h
This graph shows which files directly or indirectly include this file:
cache_state.h
cache_block_info.h
shared_cache_block
cache_set.h pr_l1_cache_block_info.h pr_l2_cache_block_info.h
_info.h
shared_cache_block
cache_set_random.h cache_set_mru.h cache_set_round_robin.h cache_set_nmru.h cache_set_nru.h cache_set_plru.h cache_set_lru.h cache_atd.h cache.h cache_block_info.cc pr_l2_cache_block_info.cc
_info.cc
cache_set_random.cc cache_set_mrut.h cache_set_mru.cc cache_set_round_robin.cc cache_set_nmru.cc cache_set_nru.cc cache_set_plru.cc cache_set_ew_lru.h cache_atd.cc cache_set_lru.cc cache_set_srrip.h tlb.h cache.cc cache_cntlr.h
Classes
class CacheState
#include "ghb_prefetcher.h"
#include "simulator.h"
#include "config.hpp"
#include <algorithm>
Generated by Doxygen
7.37 ghb_prefetcher.h File Reference 295
ghb_prefetcher.cc
prefetcher.h
fixed_types.h vector
#include "prefetcher.h"
Include dependency graph for ghb_prefetcher.h:
ghb_prefetcher.h
prefetcher.h
fixed_types.h vector
Generated by Doxygen
296 File Documentation
This graph shows which files directly or indirectly include this file:
ghb_prefetcher.h
ghb_prefetcher.cc prefetcher.cc
Classes
class GhbPrefetcher
struct GhbPrefetcher::GHBEntry
struct GhbPrefetcher::TableEntry
#include "core_manager.h"
#include "memory_manager.h"
#include "cache_base.h"
#include "nuca_cache.h"
#include "dram_cache.h"
#include "tlb.h"
#include "simulator.h"
#include "log.h"
#include "dvfs_manager.h"
#include "itostr.h"
#include "instruction.h"
#include "config.hpp"
#include "distribution.h"
#include "topology_info.h"
#include <algorithm>
Include dependency graph for memory_manager.cc:
memory_manager.cc
core_manager.h memory_manager.h nuca_cache.h dram_cache.h simulator.h dvfs_manager.h itostr.h instruction.h config.hpp distribution.h topology_info.h algorithm
../pr_l1_pr_l2_dram ../pr_l1_pr_l2_dram
tlb.h memory_manager_base.h _directory_msi/dram _directory_msi/dram cache_cntlr.h hit_where.h
_directory_cntlr.h _cntlr.h
../pr_l1_pr_l2_dram shared_cache_block
cache.h address_home_lookup.h semaphore.h setlock.h contention_model.h stats.h req_queue_list_template.h prefetcher.h subsecond_time.h boost/tuple/tuple.hpp
_directory_msi/shmem_msg.h _info.h
utils.h hash_map_set.h cache_perf_model.h fault_injection.h cache_set.h shmem_perf_model.h core.h mem_component.h queue map vector
cache_base.h cache_state.h
fixed_types.h cassert
Namespaces
ParametricDramDirectoryMSI
Generated by Doxygen
7.39 memory_manager.h File Reference 297
Macros
#define MYLOG(...) {}
7.38.1.1 MYLOG
#define MYLOG(
... ) {}
#include "memory_manager_base.h"
#include "cache_base.h"
#include "cache_cntlr.h"
#include "../pr_l1_pr_l2_dram_directory_msi/dram_directory_cntlr.h"
#include "../pr_l1_pr_l2_dram_directory_msi/dram_cntlr.h"
#include "address_home_lookup.h"
#include "../pr_l1_pr_l2_dram_directory_msi/shmem_msg.h"
#include "mem_component.h"
#include "semaphore.h"
#include "fixed_types.h"
#include "shmem_perf_model.h"
#include "shared_cache_block_info.h"
#include "subsecond_time.h"
#include <map>
Include dependency graph for memory_manager.h:
memory_manager.h
../pr_l1_pr_l2_dram ../pr_l1_pr_l2_dram
memory_manager_base.h cache_cntlr.h _directory_msi/dram _directory_msi/dram
_directory_cntlr.h _cntlr.h
shared_cache_block ../pr_l1_pr_l2_dram
setlock.h contention_model.h stats.h boost/tuple/tuple.hpp cache.h req_queue_list_template.h prefetcher.h address_home_lookup.h semaphore.h subsecond_time.h
_info.h _directory_msi/shmem_msg.h
mem_component.h shmem_perf_model.h fault_injection.h cache_set.h utils.h hash_map_set.h cache_perf_model.h core.h map queue vector
cache_state.h cache_base.h
cassert fixed_types.h
This graph shows which files directly or indirectly include this file:
memory_manager.h
cache_cntlr.cc memory_manager.cc
Generated by Doxygen
298 File Documentation
Classes
class ParametricDramDirectoryMSI::MemoryManager
Namespaces
ParametricDramDirectoryMSI
Typedefs
#include "nuca_cache.h"
#include "memory_manager_base.h"
#include "pr_l1_cache_block_info.h"
#include "config.hpp"
#include "stats.h"
#include "queue_model.h"
#include "shmem_perf.h"
Include dependency graph for nuca_cache.cc:
nuca_cache.cc
hit_where.h cache_cntlr.h
../pr_l1_pr_l2_dram shared_cache_block
prefetcher.h req_queue_list_template.h address_home_lookup.h semaphore.h setlock.h contention_model.h cache.h boost/tuple/tuple.hpp subsecond_time.h stats.h
_directory_msi/shmem_msg.h _info.h
vector queue map shmem_perf_model.h core.h cache_set.h hash_map_set.h cache_perf_model.h fault_injection.h utils.h mem_component.h pr_l1_cache_block_info.h
cache_base.h cache_state.h
fixed_types.h cassert
#include "fixed_types.h"
#include "subsecond_time.h"
#include "hit_where.h"
#include "cache_cntlr.h"
#include "boost/tuple/tuple.hpp"
Include dependency graph for nuca_cache.h:
nuca_cache.h
cache_cntlr.h hit_where.h
shared_cache_block ../pr_l1_pr_l2_dram
subsecond_time.h setlock.h contention_model.h req_queue_list_template.h stats.h cache.h prefetcher.h address_home_lookup.h semaphore.h boost/tuple/tuple.hpp
_info.h _directory_msi/shmem_msg.h
queue map core.h utils.h cache_set.h hash_map_set.h cache_perf_model.h fault_injection.h shmem_perf_model.h vector mem_component.h
cache_base.h cache_state.h
fixed_types.h cassert
Generated by Doxygen
7.42 pr_l1_cache_block_info.h File Reference 299
This graph shows which files directly or indirectly include this file:
nuca_cache.h
memory_manager.cc nuca_cache.cc
Classes
class NucaCache
#include "cache_state.h"
#include "cache_block_info.h"
Include dependency graph for pr_l1_cache_block_info.h:
pr_l1_cache_block_info.h
cache_block_info.h
cache_state.h cache_base.h
cassert fixed_types.h
Generated by Doxygen
300 File Documentation
This graph shows which files directly or indirectly include this file:
pr_l1_cache_block_info.h
Classes
class PrL1CacheBlockInfo
#include "pr_l2_cache_block_info.h"
#include "log.h"
Include dependency graph for pr_l2_cache_block_info.cc:
pr_l2_cache_block_info.cc
pr_l2_cache_block_info.h log.h
cache_block_info.h mem_component.h
cache_state.h cache_base.h
cassert fixed_types.h
Generated by Doxygen
7.44 pr_l2_cache_block_info.h File Reference 301
#include "cache_state.h"
#include "cache_block_info.h"
#include "mem_component.h"
Include dependency graph for pr_l2_cache_block_info.h:
pr_l2_cache_block_info.h
cache_block_info.h mem_component.h
cache_state.h cache_base.h
cassert fixed_types.h
This graph shows which files directly or indirectly include this file:
pr_l2_cache_block_info.h
cache_block_info.cc pr_l2_cache_block_info.cc
Classes
class PrL2CacheBlockInfo
Generated by Doxygen
302 File Documentation
#include "prefetcher.h"
#include "simulator.h"
#include "config.hpp"
#include "log.h"
#include "simple_prefetcher.h"
#include "ghb_prefetcher.h"
Include dependency graph for prefetcher.cc:
prefetcher.cc
prefetcher.h
fixed_types.h vector
#include "fixed_types.h"
#include <vector>
Include dependency graph for prefetcher.h:
prefetcher.h
fixed_types.h vector
Generated by Doxygen
7.47 req_queue_list_template.h File Reference 303
This graph shows which files directly or indirectly include this file:
prefetcher.h
Classes
class Prefetcher
#include <map>
#include <queue>
#include "log.h"
Include dependency graph for req_queue_list_template.h:
req_queue_list_template.h
Generated by Doxygen
304 File Documentation
This graph shows which files directly or indirectly include this file:
req_queue_list_template.h
cache_cntlr.h
memory_manager.h nuca_cache.h
Classes
#include "shared_cache_block_info.h"
#include "log.h"
Generated by Doxygen
7.49 shared_cache_block_info.h File Reference 305
shared_cache_block
_info.cc
shared_cache_block
log.h
_info.h
cache_block_info.h mem_component.h
cache_state.h cache_base.h
cassert fixed_types.h
#include "cache_state.h"
#include "cache_block_info.h"
#include "mem_component.h"
Generated by Doxygen
306 File Documentation
shared_cache_block
_info.h
cache_block_info.h mem_component.h
cache_state.h cache_base.h
cassert fixed_types.h
This graph shows which files directly or indirectly include this file:
shared_cache_block
_info.h
shared_cache_block
cache_block_info.cc cache_cntlr.h
_info.cc
memory_manager.h nuca_cache.h
Classes
class SharedCacheBlockInfo
Generated by Doxygen
7.50 simple_prefetcher.cc File Reference 307
#include "simple_prefetcher.h"
#include "simulator.h"
#include "config.hpp"
#include <cstdlib>
Include dependency graph for simple_prefetcher.cc:
simple_prefetcher.cc
prefetcher.h
fixed_types.h vector
Variables
7.50.1.1 PAGE_MASK
7.50.1.2 PAGE_SIZE
Generated by Doxygen
308 File Documentation
#include "prefetcher.h"
Include dependency graph for simple_prefetcher.h:
simple_prefetcher.h
prefetcher.h
fixed_types.h vector
This graph shows which files directly or indirectly include this file:
simple_prefetcher.h
prefetcher.cc simple_prefetcher.cc
Classes
class SimplePrefetcher
#include "tlb.h"
#include "stats.h"
Generated by Doxygen
7.53 tlb.h File Reference 309
tlb.cc
tlb.h stats.h
cache.h
cache_state.h cache_base.h
cassert fixed_types.h
Namespaces
ParametricDramDirectoryMSI
#include "fixed_types.h"
#include "cache.h"
Include dependency graph for tlb.h:
tlb.h
cache.h
cache_state.h cache_base.h
cassert fixed_types.h
This graph shows which files directly or indirectly include this file:
tlb.h
memory_manager.cc tlb.cc
Generated by Doxygen
310 File Documentation
Classes
class ParametricDramDirectoryMSI::TLB
Namespaces
ParametricDramDirectoryMSI
Generated by Doxygen