考虑总共有16个缓存块的4路集关联缓存(最初为空)。主存储器由256个块组成,并且对存储块的请求按以下顺序进行:
0、255、1、4、3、8、133、159、216、129、63、8、48、32、73、92、155。
如果使用LRU替换策略,则以下哪个存储块将不在缓存中?
(A) 3
(B) 8
(C) 129
(D) 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)是正确的选择。
这个问题的测验