文章
31
粉丝
0
获赞
0
访问
1.1k
评分及理由
(1)得分及理由(满分3分)
学生答案:Cache总容量为4280 bit(即535字节),计算过程为8×(1+22+64×8)=4280 bit。标准答案中总容量为532B(即4256 bit),计算过程为8×(64+20/8)=532B。学生计算标记位为22位(28-6),但标准答案为19位(28-9),因为主存地址空间256MB=2^28B,Cache行大小64B=2^6B,因此块内地址为6位,Cache行数8=2^3,因此索引位为3位,标记位应为28-6-3=19位。学生错误地认为索引位为0(直接使用主存块号模8,但标记位计算时未减去索引位位数),导致标记位多算了3位(22-19=3),因此总容量计算错误。但学生考虑了有效位(1位)和数据部分(64×8 bit),思路部分正确。扣2分(逻辑错误:标记位计算错误导致总容量错误)。得1分。
(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(但学生误写为164B,可能是识别错误或计算错误,320+31×4=320+124=444),主存块号应为444/64=6.9375(取整为6),行号6 mod 8=6。a[1][1]的地址应为320+256×4×1+1×4=320+1024+4=1348(学生误写为1068B,可能是识别错误或计算错误),主存块号1348/64=21.0625(取整为21),行号21 mod 8=5。学生计算错误,但思路正确(计算地址后求块号和行号)。根据禁止扣分规则,数字识别错误(如164和1068)不扣分,但逻辑错误(未正确计算地址和块号)需扣分。a[0][31]行号错误(2 vs 6),a[1][1]行号错误(0 vs 5),各扣2分。得0分。
(3)得分及理由(满分5分)
学生答案:程序A命中率93.75%,程序B命中率0,与标准答案一致。理由部分学生未详细说明,但答案正确。根据思路正确不扣分原则,得满分5分。
题目总分:1+0+5=6分
登录后发布评论
暂无评论,来抢沙发