文章
54
粉丝
21
获赞
0
访问
4.0k
(1)(1+19+64B×8)×8=4256b。
(2)首地址对应二进制后9位101000000B,一个Cache行可存放64B/4B=16个数据。a[0][31]为第32个数据,在第二行,行号为110B,a[1][1]为第257个元素,在第257/16+1=17行一共只有8行,所以其对应的Cache行号也为110B。
(3)程序A的命中率为15/16=0.9375,程序B的命中率为0。程序A的命中率高,执行时间更短。
评分及理由
(1)得分及理由(满分3分)
学生答案:4256b(应为532B)。学生计算错误,将总容量计算为4256b(比特),而标准答案为532B(字节)。学生正确识别了Tag字段位数(19位)和有效位(1位),但计算时未将20位转换为字节(20/8=2.5字节),且最后单位错误。扣2分,得1分。
(2)得分及理由(满分4分)
学生答案:a[0][31]和a[1][1]的Cache行号均为110B(即6)。a[0][31]计算正确(行号6),但a[1][1]计算错误(学生得6,标准答案为5)。学生错误地将元素索引直接除以16计算行号,未考虑主存地址映射到Cache行的直接映射规则(需用地址除以64取整后模8)。a[0][31]正确得2分,a[1][1]错误扣2分,本小题得2分。
(3)得分及理由(满分5分)
学生答案:程序A命中率0.9375,程序B命中率0,程序A执行时间更短。命中率结果和结论完全正确,但未给出分析过程(如Cache行大小与数组访问模式的关联)。由于问题仅要求结果,答案正确,但未说明理由可能扣分。考虑到核心结论正确,扣1分,得4分。
题目总分:1+2+4=7分
登录后发布评论
暂无评论,来抢沙发