文章

133

粉丝

0

获赞

0

访问

5.6k

头像
2023年(408)计算机学科专业基础综合试题 - 第43题回答
计算机组成原理
发布于2025年12月5日 15:39
阅读数 29


评分及理由

(1)得分及理由(满分3分)

学生答案正确。页面大小4KB,sizeof(int)=4,每页可存放1024个int元素。数组a共24×64=1536个元素,需要2页存储(第一页1024个,第二页512个)。访问数组a会触发两次缺页异常,页故障地址分别为起始地址0042 2000H和下一页起始地址0042 2000H+0x1000=0042 3000H。学生回答与标准答案一致,得3分。

(2)得分及理由(满分2分)

学生答案正确。时间局部性指被访问的数据短期内可能再次被访问。本题中数组a的每个元素仅被赋值一次,没有重复访问,因此没有时间局部性。学生回答“没有时间局部性”并给出了解释,得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向下对齐到32B边界,即低5位清零,得0042 2100H。计算组号:取A10~A5,即地址的二进制位中对应部分。0042 2100H二进制为...,低12位为0x100H=0001 0000 0000B,A10~A5为001000B=8。学生回答与标准答案一致,得4分。

(4)得分及理由(满分5分)

学生答案部分正确。第一问:数组a共1536个元素,主存块大小32B可存放8个int,因此占用1536/8=192个主存块,正确。第二问:原循环(i外,j内)按行访问,空间局部性好。Cache共64组,4路,可容纳256块。数组a占用192块,全部装入后不会冲突。访问每块第一个元素时缺失,后续7个命中,命中率=7/8=87.5%,正确。第三问:交换循环后(j外,i内)按列访问,每访问一个元素就跨行(跨主存块),导致每次访问都可能不在Cache中,命中率极低,但严格计算并非0%。因为数组a总共192块,Cache可容纳256块,全部装入后,按列访问时,同一列的不同行元素可能映射到不同Cache行,且每次访问间隔64个元素(跨行),几乎每次都...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发