SimpleScalar模拟中的L1和L2丢失率

时间:2012-03-18 00:42:42

标签: performance caching simulation isa

我在SimpleScalar仿真工具中模拟了4个不同的二进制文件,对于每个二进制文件,L2统一缺失率大于L1数据未命中率。

在我的任务中,我想做一些分析。我首先想到的是L2未命中率应该更小,因为它具有更高级别的层次和更大的大小而不是L1缓存。

此外,据我所知,仅当L1缓存中出现未命中时才会引用L2。从我的观点来看,L2应该拥有L1大部分时间都没有的数据,因此它的未命中率应该更低。

然而,结果并不接近我的预期。

例如,

  • L1数据丢失率:0.0269
  • L2 Unified Miss Rate:0.0566

未命中率被确定为缓存的misses / references

我的做法有什么问题?为什么L2未命中率大于L1?

1 个答案:

答案 0 :(得分:0)

命中/未命中率仅考虑尝试使用特定缓存的数据访问。因此,如果您使用的数据已经在寄存器中,则无需检查L1缓存,因此L1不会注册命中也不会注册。类似地,如果在L1中找到数据,则L2不会记录命中或未命中。 L2的未命中率基本上是(#次数不在L2中)除以(访问L2的次数),或等效地(#次数不在L2中)除以(数据不在L1中的次数)