通过对方格中每个点设置相应的CMYK值就可以将方格图上相应的颜色。以下3个程序段都可实现对一个8×8的方格图上黄色的功能。 假设Cache的数据区大小为512B,采用直接映射,块大小为32B,存储器按字节编址,sizeof(int)=4。编译时变量i和j

admin2017-11-20  34

问题 通过对方格中每个点设置相应的CMYK值就可以将方格图上相应的颜色。以下3个程序段都可实现对一个8×8的方格图上黄色的功能。

假设Cache的数据区大小为512B,采用直接映射,块大小为32B,存储器按字节编址,sizeof(int)=4。编译时变量i和j分配在寄存器中,数组square按行优先方式存放在000008COH开始的连续区域中,主存地址为32位。
要求:
计算3个程序段A、B、C中的写Cache操作次数、写Cache不命中次数和写Cache缺失率。

选项

答案对于程序段A:每两个数组元素(共涉及8次写操作)装入到一个Cache行中,总是第一次访问时未命中,后面7次都命中,所以总的写Cache操作次数为64×4=256次,写Cache不命中次数为256×1/8=32次,因而写Cache缺失率为12.5%。 对于程序段B:每两个数组元素(共涉及8次写操作)装入到一个Cache行中,但总是只有一个数组元素(涉及4次写操作)在被淘汰之前被访问,并且总是第一次不命中,后面3次命中,所以写Cache不命中次数为256×1/4=64次,因而写Cache缺失率为25%。 对于程序段C:第一个循环共64次访问,每次装入两个数组元素,第一次不命中,第二次命中;第二个循环共访问64×3次,每两个数组元素(共涉及6次写操作)装入到一个Cache行中,并且总是第一次不命中,后面5次命中,所以总的写Cache不命中次数为32+(3×64)×1/6=64次,因而写Cache缺失率为25%。

解析
转载请注明原文地址:https://kaotiyun.com/show/gNRi777K
0

最新回复(0)