当高速缓存中的数据不可用时,会发生高速缓存未命中。当CPU检测到未命中时,它将通过从主存储器中获取请求的数据来处理未命中。
缓存未命中类型:
这些是各种类型的缓存未命中,如下所示。
- 必修小姐–
这也称为冷启动未命中或首次引用未命中。这些未命中发生在首次访问块时。块必须带入缓存。 - 容量小姐–
当程序工作集远大于缓存容量时,就会发生这些丢失。由于缓存不能包含程序执行所需的所有块,因此缓存会丢弃这些块。 - 冲突小姐–
也称为碰撞未命中或干扰未命中。当将多个块映射到同一集合或块帧时,会发生这些未命中。在集合关联或直接映射的块放置策略中会发生这些未命中。 - 连贯小姐–
也称为无效。当其他外部处理器(即I / O)更新内存时,会发生这些丢失。
这些高速缓存未命中的属性:
这些是相同数据集和各种类型的高速缓存的高速缓存未命中的各种属性:
- 在所有类型的直接映射,集合关联和关联缓存中,强制性丢失均相同。
- 一致性未命中在所有类型的直接映射,集合关联和关联缓存中均相同。
- 在直接映射缓存中,冲突缺失发生率很高,在集合关联缓存中为中等,在关联映射缓存中为零。
- 容量丢失发生在直接映射缓存中较低,在集合关联缓存中为中等,而在关联映射缓存中则为高。
通常,我们使用随机块替换,LRU或FIFO页面替换技术将主内存中的未命中页面带入缓存。