冲突小姐v / s强制性小姐

时间:2017-08-15 16:48:39

标签: caching memory-management cpu-architecture

当块第一次进入缓存时,会发生

强制遗漏

冲突未命中在设置关联或直接映射块放置策略的情况下,当多个块映射到同一个集合时会发生冲突未命中。

考虑具有4组和总共8个高速缓存块(0-7)的双向组关联高速缓冲存储器。主存储器具有64个块(0-63)。如果LRU策略用于替换且缓存最初为空,则以下内存块引用序列的冲突缓存未命中总数为:       0 5 9 13 7 0 15 25

我的疑问是,13岁和25岁只会导致强制性错失或强制性错误。冲突错过了吗?

2 个答案:

答案 0 :(得分:4)

你对“冲突未命中”的定义有点无益。

当需要一个存在于缓存之前的块时发生冲突未命中,但是被驱逐以支持另一个必须映射到同一个槽的块。

在您的示例中,对13和25的访问是唯一的,因此它们必须首先访问。根据定义,它们在第一次使用之前不能被驱逐。因此,他们是强制性的失误。

当然,他们可能导致后续的冲突未命中(和容量错失)。

答案 1 :(得分:0)

内存块引用0、5、9、13、7、0、15、25 在2种方式中设置了4套关联的高速缓存- 0,5,9,13,7为必修课。 0命中 15,25为必修课。 首次访问的任何块始终是必填项。 您可以参考https://stackoverflow.com/a/40465392/6430403