文章
66
粉丝
0
获赞
0
访问
9.2k
1.64*24*4=6144,分布在两个页中,a首地址已与页边界对其,因此会发生两次缺页,分别是00422000H和00423000H
2.无,对于特定地址的赋值操作只会进行一次,且为仅写操作
3.块大小32B,因此块内地址占5位,为A0-A4,A5-A10为cache组号,8K/32/4=2^6组,组号占6位,a[1][0]偏移量64*4字节,因此地址为00422100H,对应组号为0b001000=8
3.数组A占1.5KB,主存块大小32B,因此占了192个块。共需访问6144次,缺失192次,命中率为96.875%,若调换i,j下标,则每次访问都不命中,命中率为0
评分及理由
(1)得分及理由(满分3分)
学生正确计算了数组大小(6144B)和页面数(2个),并正确指出会发生2次缺页异常,且给出了正确的页故障地址(00422000H和00423000H)。答案与标准答案完全一致,得3分。
(2)得分及理由(满分2分)
学生正确判断数据访问没有时间局部性,理由充分(每个元素仅被访问一次,且为写操作)。答案与标准答案一致,得2分。
(3)得分及理由(满分4分)
学生正确指出块内地址为A0-A4(低5位),Cache组号为A5-A10(6位),计算a[1][0]的虚拟地址为00422100H(正确),但计算Cache组号时出现错误:学生计算得到组号8,但标准答案中组号应为8(学生写为0b001000=8,实际二进制001000即为8,但学生表述中写的是"组号为0b001000=8",数值正确但二进制表示有误,应为6位二进制,但实际计算正确)。因此扣0.5分(表述不严谨)。得3.5分。
(4)得分及理由(满分5分)
学生正确计算数组a占192个主存块(6144B/32B=192)。但计算Cache命中率时出现严重错误:学生计算总访问次数为6144次(正确),但错误认为缺失次数为192次(实际应为192次缺失,但命中率计算错误)。标准答案中命中率为87.5%,学生计算为96.875%(错误)。对于循环调换后的情况,学生认为命中率为0(错误,实际应为87.5%)。因此本小问扣4分(命中率计算全错)。得1分(仅主存块数正确)。
题目总分:3+2+3.5+1=9.5分
登录后发布评论
暂无评论,来抢沙发