文章
63
粉丝
10
获赞
1
访问
3.7k
1、主存大小位256MB,按字节编址,需要28位表示,Cache行大小为64B,则块内偏移需要6位表示,共8行,则行号需要3位
,则tag字段的位数为28-3-6=19位
则每行需要存储的bit为19+1(有效位)+64*8bit=532bit
总容量为8*532bit=532B
2、a[i][j]的地址为320+256*4*i+4*j,则a[0][31]的地址为320+4*31=444,行号为(444/64)mod8=4
a[1][1]的地址为320+256*4+4,行号为5
3、320地址对应5号页,并且其块内偏移为0,而数组每行数据有256*4=1024=1KB,需要1KB/64B=16个块进行存储
因此程序A按行访问,每行会miss16次,共256 * 16 / 256 * 256= 16 / 256=1/16
而程序A按列访问,每次访问都跨过1KB数据,即相邻的任意两次访问都不在一个块内,但行号却是相同的,如第0列的行号都是5,
因此访问总是miss,命中率为0
登录后发布评论
暂无评论,来抢沙发