文章
286
粉丝
0
获赞
2
访问
122.9k
1)24*64*4=6kB 所以需要两个页存储 a数组访问发生两次缺页异常 页故障地址是00422000H和00423000H
2)具有 因为按行存储 执行过程中也是按行访问
3)A0~A4是块内地址 cache区大小8KB 8KB/32B=256块 256/4 = 64组 A5~A10 cache组号 A[1][0]虚拟地址为 00422000H+64*4=00422100H 对应的cache组号是8
4)24*64*4B/32B=192个主存块 32/8=8个数组元素 每次访问是第一次缺失所以命中率7/8=87.5% 因为程序需要192个主存块而总的内容空间有256个驻村块 所以能装下整个数组空间 不会发生替换 还是个主存访问第一个数组元素缺失 缺失率依然是87.5%
评分及理由
(1)得分及理由(满分3分)
得分:3分
理由:学生正确计算出数组大小为24*64*4=6144B=6KB,页面大小为4KB,因此需要2个页面存储。访问过程中会发生2次缺页异常,页故障地址分别为0042 2000H和0042 3000H。答案与标准答案完全一致,得满分。
(2)得分及理由(满分2分)
得分:0分
理由:学生回答“具有”时间局部性,并解释为“因为按行存储 执行过程中也是按行访问”。这是错误的。时间局部性是指某个数据被访问后,短时间内可能再次被访问。本题中数组a的每个元素仅被赋值一次,没有重复访问,因此不具有时间局部性。学生的回答混淆了空间局部性和时间局部性。此问逻辑错误,不得分。
(3)得分及理由(满分4分)
得分:4分
理由:学生正确指出A0~A4为块内地址(主存块大小32B,2^5=32)。计算Cache组数过程正确:数据区大小8KB,主存块32B,总块数=8KB/32B=256块,4路组相联,组数=256/4=64组,因此需要6位地址作为组号(2^6=64),对应A10~A5。a[1][0]的虚拟地址计算正确:起始地址0042 2000H + (1*64+0)*4 = 0042 2000H + 256 = 0042 2100H。Cache组号计算:取地址的A10~A5位,0042 2100H的二进制...,A10~A5为001000,即十进制8。答案与标准答案完全一致,得满分。
(4)得分及理由(满分5分)
...
登录后发布评论
暂无评论,来抢沙发