文章
116
粉丝
0
获赞
5
访问
12.5k

评分及理由
(1)得分及理由(满分3分)
学生答案:组号占6位,块内地址占6位(正确)。虚拟地址的前26位/虚拟地址中的前26位为Cache索引(错误)。标准答案指出,由于页大小为4KB,页内地址为12位,因此虚拟地址的低12位(VA11~VA0)与物理地址低12位相同。Cache索引(组号)应取自物理地址中对应位。Cache共有64组,需要6位索引,因此应从这12位页内地址中取高6位(VA11~VA6)作为Cache索引。学生回答“前26位”是完全错误的,这会导致索引位远超地址范围,属于概念性错误。因此,本小题扣2分,得1分。
(2)得分及理由(满分2分)
学生答案:d[100]的虚拟地址为0180 0084H(错误),Cache组号为3(错误)。计算过程:起始地址0180 0020H,每个int占4字节,d[100]的偏移量为100*4=400=0x190,因此虚拟地址为0180 0020H + 0x190 = 0180 01B0H。学生给出的0180 0084H可能是计算错误(如100*4=0x64,加上0x20得0x84)。根据错误地址计算Cache组号也会出错。标准答案中,根据正确地址0180 01B0H,其页内偏移为1B0H,取VA11~VA6(即1B0H的二进制`01 1011 0000`中,从高到低第11位到第6位)为`01 1011`=0x1B,再模64(因为64组),0x1B mod 64 = 27,十六进制为1BH,但标准答案给出06H。这里标准答案可能默认主存块起始地址按64B对齐,组号计算为(块内偏移/64) mod 64。对于地址0180 01B0H,块内偏移为0x1B0,块号=0x1B0/64=6(因为64=0x40),组号=6 mod 64 = 6。学生答案“3”无论从哪个角度看都是错误的。两问全错,扣2分,得0分。
(3)得分及理由(满分5分)
学生答案包含多个部分:
① d[0]在其所在主存块内的偏移量:第一次识别结果缺失,第二次识别有“$\frac{100000}{20H}$ ,24H”等混乱内容,无法判断明确答案。标准答案为20H(因为起始地址低字节为20H,块大小64B=0x40,所以块内偏移为0x20)。学生未给出清晰正确的十六进制数,此部分不得分。
② Cache缺失率:学生答案为6.25%(错误)。标准...
登录后发布评论
暂无评论,来抢沙发