文章
35
粉丝
0
获赞
0
访问
1.5k
评分及理由
(1)得分及理由(满分3分)
学生答案中,计算Cache总容量时,得出29B的结果,这是错误的。标准答案中,总容量应为532B。学生的计算过程存在多处错误:首先,Cache内地址应为6位(因为64B块大小,块内偏移6位),行号3位(因为8行),tag位19位(主存地址28位减去6位块内偏移和3位行索引)是正确的,但后续计算中,将数据容量误算为9位(实际应为64B=512位数据),并且将tag位(19位)和有效位(1位)直接与数据位相加时单位混淆(位与字节混淆),最终得出29×8=29B,显然计算错误。因此,本题得0分。
(2)得分及理由(满分4分)
学生计算a[0][31]的Cache行号为2,a[1][1]的Cache行号为0。标准答案中,a[0][31]行号为6,a[1][1]行号为5。学生的计算过程有误:对于a[0][31],地址计算为320+31×4=444,444/64=6.9375,取整为6,但学生计算为32×4=128,128/64=2,错误地将列索引31误用为32(可能识别错误或计算错误);对于a[1][1],地址计算为320+256×4+1×4=1348,1348/64=21.0625,取整21,21 mod 8=5,但学生计算为(256+2)×4=1032,1032/64=16.125,取整16,16 mod 8=0,其中"256+2"可能为识别错误(正确应为256×4+1×4)。由于两个结果均错误,且计算逻辑有误,本题得0分。
(3)得分及理由(满分5分)
学生答案中,程序A命中率计算为(2^16 - 2^9)/2^16,这是错误的(标准答案为15/16=93.75%);程序B命中率为0正确;程序A时间更短正确。学生计算程序A命中率时,使用了2^16和2^9等数值,没有正确分析访问模式,逻辑错误。但程序B部分正确,且结论正确。因此,给予部分分数:命中率计算错误扣2分,程序B部分正确给1分,结论正确给1分,本题得2分。
题目总分:0+0+2=2分
登录后发布评论
暂无评论,来抢沙发