文章
69
粉丝
0
获赞
0
访问
21.2k

评分及理由
(1)得分及理由(满分3分)
学生答案正确。数组a的大小为24×64×4=6144字节,页面大小为4KB=4096字节,因此需要2个页面存储。由于初始数组不在主存,且不会发生页面置换,访问第一个页面时触发缺页异常(地址0042 2000H),访问第二个页面时触发缺页异常(地址0042 3000H)。学生答案与标准答案完全一致,得3分。
(2)得分及理由(满分2分)
学生答案正确。学生回答“没有”时间局部性,理由为“每页只访问1次”(识别文本为“每次主只访问1次”或“每页只访问1次”,结合上下文可判断其意为“每个元素只访问一次”)。这与标准答案“每个元素仅被访问1次,不存在重复访问”的逻辑一致。得2分。
(3)得分及理由(满分4分)
学生答案正确。主存块大小为32B,块内地址需要5位(A4~A0)。Cache数据区大小为8KB,采用4路组相联,则总块数为8KB/32B=256块,组数=256/4=64组,因此组索引需要6位。块内地址5位,则组号位于地址位A10~A5。a[1][0]的地址为起始地址0042 2000H + (1*64+0)*4 = 0042 2000H + 256 = 0042 2100H。计算其所在主存块号:(0042 2100H - 0042 2000H) / 20H = 100H / 20H = 8,因此Cache组号为8。学生答案与标准答案完全一致,得4分。
(4)得分及理由(满分5分)
学生答案正确。数组a共6144字节,主存块大小为32B,占用6144/32=192个主存块。对于行优先访问(i在外层,j在内层),访问顺序是连续的,除每个主存块的第一次访问(冷启动不命中)外,后续7次访问(32B/4B=8个int)均命中,命中率为7/8=87.5%。对于交换循环次序后的列优先访问,由于数组一行有64个元素(256字节),超过Cache数据区大小(8KB),且Cache采用4路组相联,会发生严重的冲突失效,但题目假设“数组a的访问不会和其他数据发生Cache访问冲突”,因此失效仅来自每个块的第一次访问,命中率仍为87.5%。学生答案与标准答案完全一致,得5分。
题目总分:3+2+4+5=14分
登录后发布评论
暂无评论,来抢沙发