3M决定在白纸上印黄方格,做成Post-It小贴纸。在打印过程中,他们需要设置方格中每个点的CMYK(蓝色,红色,黄色,黑色)值。3M雇佣你判定下面算法在一个具有2048字节、直接映射、块大小为32字节的数据高速缓存上的效率。有如下定义:
struct point_color {
int c;
int m;
int y;
int k;
};
struct point_color square[16][16];
int i,j; 有如下假设: - sizeof (int)==4。
- square起始于内存地址0。
- 高速缓存初始为空。
- 唯一的内存访问是对于square数组中的元素。变量i和j存放在寄存器中。
确定下列代码的高速缓存性能:
for (i = 0;i< 16; i++){
for(j=0;j<16;j++){
square[i][j].c = 0;
square[i][j].m = 0;
square[i][j].y = 1;
square[i][j].k = 0;
}
} A.写总数是多少?
B.在高速缓存中不命中的写总数是多少?
B.在高速缓存中不命中的写总数是多少?
C.不命中率是多少?
