【发布时间】:2018-03-28 22:36:52
【问题描述】:
我在互联网上找到的任何资源都没有解释区分不同类型的缓存未命中。有人可以帮助我更改配置或代码以仅测量冲突未命中吗?
【问题讨论】:
标签: gem5
我在互联网上找到的任何资源都没有解释区分不同类型的缓存未命中。有人可以帮助我更改配置或代码以仅测量冲突未命中吗?
【问题讨论】:
标签: gem5
BaseTags 有一个名为 tagsInUse 的成员变量。每次以前无效的标签条目变为有效时,它都会增加。
考虑到当仍有空闲(无效)缓存行时会产生冲突未命中,但放置策略决定选择驱逐有效块,您只需创建一个递增的未命中统计变量(可以通过a if inside incMissCount(PacketPtr pkt) inside src/mem/cache/base.hh) 每当发生写未命中时(检查 src/mem/packet.hh 以了解 MemCmd 类型. 我会说 WritebackDirty、WritebackClean、WriteClean、CleanEvict 是您应该查找的,但您应该仔细检查)并且您没有使用所有缓存条目(tagsInUse
【讨论】: