文章
60
粉丝
0
获赞
0
访问
3.8k
(1)因为页面大小为4KB,一个数组元素的大小为4B,所以一个页面可以包含4KB/4B=1K的数组元素。数组a的元素数量是1260个,所以数组a分为两个页面存储。
对于数组a的访问会发生2次缺页异常。页面大小为4KB=2^12=12位,所以页内地址占12位,虚拟地址为32位,所以页表号占20位。第一次缺页异常的故障地址是0042 2000H,第二次缺页异常的故障地址是0042 2400H
(2)具有时间局部性,因为语句是一个for循环。在一定的时间段内,语句会重复执行,所以会有时间局部性。
(3)主存块大小为32B,按字节编址,所以块内地址占5位,数据区大小为8KB,8KB/32B=1024,所以Cache有1024行,1024采用4路组相联映射,每组4行Cache,所以会有256组,组号占8位。所以计算机M的虚拟地址中低5位作为块内地址(A4到A0),中8位作为组号(A12到A5)。a[1][0]的虚拟地址是0042 2100H。转换成二进制为:0000 0000 0100 0010 0010 0001 0000 0000B,组号为8。
(4),一个数组a元素占用的地址空间为4B,一个主存块大小为32B,所以一个主存块可以存放8个数组a的元素。数组a中有1260个元素,1260/8(向上取整)=158个主存块。因为Cache采用4路组相联映射,一共256组,每组4行,每行大小32B。每访问32个元素缺页一次,所以命中率是31/32*100%=96.7%。
评分及理由
(1)得分及理由(满分3分)
得分:1分
理由:学生正确计算出数组a分为2个页面存储(得1分),并正确指出会发生2次缺页异常(得1分)。但在页故障地址计算上出现错误:第一次缺页地址0042 2000H正确,但第二次错误计算为0042 2400H(应为0042 3000H),扣1分。数组元素数量计算错误(24×64=1536而非1260)但未影响页面数判断,不额外扣分。
(2)得分及理由(满分2分)
得分:0分
理由:学生错误认为具有时间局部性。实际上每个数组元素仅被访问一次,不存在重复访问,因此没有时间局部性。答案与标准答案完全相反,故不得分。
(3)得分及理由(满分4分)
得分:2分
理由:学生正确指出虚拟地址低5位用作块内地址(得1分),正确计算出...
登录后发布评论
暂无评论,来抢沙发