您的位置:首页 > 其它

20135327郭皓 20135329李海空第六章作业 6.30 6.37

2015-11-10 22:29 232 查看

6.30

两分题:

20135327 郭皓 :2.5

20135329 李海空:1.5





A:

由题意知 b=2 s=2 故 两个低位是块偏移,然后是两位的组索引,剩下的位做标记:



B:

1.对于地址0x409,块偏移(CO):0x1 组引索(CI):0x2 高速缓存标记(CT):0x40 可见该标记的有效位为0,故不命中。

2.对于地址0x40A,块偏移(CO):0x2 组引索(CI):0x2 高速缓存标记(CT):0x40 可见该标记的有效位为0,故不命中。

3.对于地址0x833,块偏移(CO):0x3 组引索(CI):0x0 高速缓存标记(CT):0x83 可见该标记的有效位为1,高速缓存的标记位与地址中的标记位匹配,故命中 读出的值为0xD0。

6.37

两分题:

20135327 郭皓 :2.5

20135329 李海空:1.5



A

不命中率是100%,直接映射是每组只有一个高速缓存行,块大小为32字节,表示可以存储8个int数值。 数组是按照行优先存储的,计算数组一行的大小为256*4=1024,所以高速缓存只够存数组的一行。 所以x[0]和x[1]的每一个元素对应的高速缓存是同一个块。 因此,每次请求都在加载,驱逐,替换。不命中率为100%。

B

不命中率是1/8 ,只有加载新行时发生不命中,缓存足够大,可以存储整个数组 因此只有冷不命中,而块大小为32字节,表示可以存储8个int数值 所以每次都会加载x[0][i]~x[0][i+7]共8个数值到缓存组中,这里就只有x[0][i]是不命中的 所以不命中率为1/8。

C

不命中率为1/8 ,高速缓存只有1024字节,不够存储数组,数组的第一行和第二行分别加载到缓存同一组的不同行,不会冲突,所以最后还是相当于只有冷不命中,相当于每8个数据中只有一个是不命中的 所以不命中率为1/8 。

D

不能了,块大小不变,因为冷不命中的概率不可能被减小。

E

能,因为块的大小增加,冷不命中的频率就降低。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: