考虑一个总共有 16 个缓存块的 4 路集合关联缓存(最初为空)。主存由 256 个块组成,对内存块的请求顺序如下:
0、255、1、4、3、8、133、159、216、129、63、8、48、32、73、92、155。
如果使用 LRU 替换策略,以下哪一个内存块不会在缓存中?
(一) 3
(乙) 8
(三) 129
(四) 216答案: (D)
说明: 4 路组相联,所以 16 块将被分成 4 组,每组 4 块。
我们应用(Address mod 4)函数来决定集合。
Set 0 | 0 | 48 | 0 | mod4=0 | * | |
4 | 32 | 255 | mod4=3 | * | ||
8 | 8 | 1 | mod4=1 | * | ||
216 | 92 | 4 | mod4=0 | * | ||
Set 1 | 1 | 1 | 3 | mod4=3 | * | |
133 | 133 | 8 | mod4=0 | * | ||
129 | 129 | 133 | mod4=1 | * | ||
73 | 73 | 159 | mod4=3 | * | ||
Set 2 | 216 | mod4=0 | * | |||
129 | mod4=1 | * | ||||
63 | mod4=3 | * | ||||
8 | mod4=0 | * | ||||
Set 3 | 255 | 155 | 98 | mod4=0 | * | |
3 | 3 | 32 | mod4=0 | * | ||
159 | 159 | 73 | mod4=1 | * | ||
63 | 63 | 92 | mod4=0 | * | ||
155 | Mod4=3 | * |
所有 * 都是第一阶段的 S1 和第二阶段的 S2 未命中。
在第二阶段,216 不存在于高速缓存中。
所以(D)是正确的选项。
这个问题的测验