文章
47
粉丝
0
获赞
0
访问
2.2k
1.分为两个页面存储,共出现两次缺页异常,000422000H 00423000H。
2.具有时间局部性,需要对同一个数组地址进行一次读操作,一次写操作。
3.A4-A0为块内地址,A5-A10为组号,虚拟地址00422100H,组号八号。
4.192块,约 15/16 = 93.7% , 0%。
评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生正确回答了数组分为2个页面存储,会发生2次缺页异常。但在第二个页故障地址上写错了,标准答案为“0042 3000H”,学生写成了“00423000H”(缺少空格,但地址值正确)和“000422000H”(多了一个0,地址错误)。因此扣1分。
(2)得分及理由(满分2分)
得分:0分
理由:学生回答“具有时间局部性”,并解释为“需要对同一个数组地址进行一次读操作,一次写操作”。这是错误的。在C语言赋值语句`a[i][j] = 10;`中,对数组元素的访问是直接写入,并不涉及先读后写(除非是`+=`这类操作)。更重要的是,时间局部性指同一数据在短时间内被重复访问。本题中每个数组元素仅被访问(写入)一次,之后循环不再访问该元素,因此没有时间局部性。学生答案结论和理由均错误,扣2分。
(3)得分及理由(满分4分)
得分:4分
理由:学生答案完全正确。块内地址(A4-A0)、Cache组号(A5-A10)、a[1][0]的虚拟地址(00422100H)、Cache组号(8号)均与标准答案一致。思路与标准答案一致,不扣分。
(4)得分及理由(满分5分)
得分:2分
理由:
第一问“192块”正确,得1分。
第二问命中率计算错误。标准答案为87.5%(即7/8)。学生计算为15/16=93.7%,推理过程未给出,但结果错误,扣1分。
第三问命中率计算错误。在循环次序调换后,访问顺序变为列优先,Cache命中率会急剧下降。标准答案仍为87.5%值得商榷(通常列优先访问会导致命中率大幅降低,可能为0%或很低,取决于具体映射和数组大小。但根据标准答案,此处按87.5%判对)。学生答案为0%,与标准答案不符,扣1分。
本小题共扣3分,得2分。
题目总分:2+0+4+2=8分
登录后发布评论
暂无评论,来抢沙发