冲突小姐 v/s 强制小姐

Conflict Miss v/s Compulsory Miss

强制未命中发生在块第一次进入缓存时。

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

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

我的疑问是,13 和 25 会导致仅强制未命中还是强制 & 冲突同时未命中?

您对 "conflict miss" 的定义有点无用。

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

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

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

内存块引用 0,5,9,13,7,0,15,25 在 2 路组相联高速缓存内存与 4 组 - 0、5、9、13、7 将是强制性失误。 0命中。 15,25 将是强制失误。 第一次访问的任何块始终是强制性未命中。 可以参考