题目
(来源课堂)
考虑一个4行且每行16字节的cache,主存按每块16字节划分,即块0有地址0到15的16个字节,等等。现在考虑一个程序,它以如下地址顺序访问主存:
一次:63 ~ 70
循环10次:15 ~ 32,80 ~ 95
(a)假设cache采用直接映射技术。主存块0, 4, … 指派到行0;块1,5, … 指派到行1;以此类推。请计算命中率。
(b)假设cache采用二路组关联映射,共有两组,每组两行。偶序号块被指派到组0,奇序号块被指派到组1。请计算使用LRU替换策略的二路组关联cache的命中率。
解答
(a) 采用直接映射
- 一次访问:63 ~ 70
主存地址63-70为主存的第3、4块,将被指派到Cache的行3和0,访问过程中,顺序发生以下事件:
(i) 访问主存地址63,主存第3块被调入Cache的行3;
(ii) 访问主存地址64,主存第4块被调入Cache的行0;
(iii) 访问主存地址65-70,均为主存第4块,已经在Cache中,Cache均命中。 - 循环10次访问:15 ~ 32,80 ~ 95
主存地址15-32为主存的第0、1和2块,将被指派到Cache的行0、1和2。
主存地址80-95为主存的第5块,将被指派到Cache的行1。
在第1次循环中,顺序发生以下事件:
(i) 访问主存地址15ÿ