2

我在互联网上找到的所有资源都没有解释区分不同类型的缓存未命中。有人可以帮助我更改配置或代码以仅测量冲突未命中吗?

4

1 回答 1

0

BaseTags 有一个名为 tagsInUse 的成员变量。每次以前无效的标签条目变为有效时,它都会增加。

考虑到当仍然有空闲(无效)缓存行时会产生冲突未命中,但放置策略决定选择驱逐有效块,您只需要创建一个递增的未命中统计变量(可以使用 if inside src/mem/cache/base.hh中的 incMissCount(PacketPtr pkt) )每当发生写入未命中时(检查src/mem/ packet.hh 的 MemCmd 类型。我会说 WritebackDirty、WritebackClean、WriteClean、CleanEvict 是您应该使用的查找,但您应该仔细检查)并且您没有使用所有缓存条目(tagsInUse < size)。

于 2018-03-28T14:36:52.103 回答