文章

212

粉丝

0

获赞

0

访问

28.5k

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


评分及理由

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

学生答案正确。数组a大小为24×64×4=6144字节,页面大小为4KB=4096字节,因此跨越两个页面。由于程序执行前数组不在主存且不发生页面置换,访问时会触发两次缺页异常,分别对应两个页面的起始地址0042 2000H和0042 3000H。学生答案与标准答案一致,得3分。

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

学生答案正确。时间局部性指被访问的数据短期内可能再次被访问。该程序段中每个数组元素仅被赋值一次,没有重复访问,因此不具备时间局部性。学生答案与标准答案一致,得2分。

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

学生答案部分正确。块内地址和Cache组号的位数分析正确(主存块大小32B,块内地址需5位,即A4~A0;Cache组数需计算:数据区8KB,4路组相联,块大小32B,故组数=8KB/(4×32B)=64组,需6位组号,即A10~A5)。a[1][0]的虚拟地址计算正确(起始地址0042 2000H + (1×64+0)×4 = 0042 2000H + 256 = 0042 2100H)。但Cache组号计算有误:标准答案组号为8(十进制),学生答案为08H(十六进制),两者数值相同(08H=8),但表述为十六进制可能引起歧义,鉴于数值正确且题目未明确要求格式,不扣分。因此,本小题得4分。

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

学生答案部分正确。第一问:数组a占192个主存块正确(数组大小6144B,主存块32B,6144/32=192)。第二问:原循环Cache命中率87.5%正确(行优先访问,每块8个int元素,首次访问缺失,后续7次命中,命中率7/8)。第三问:学生答案为0,错误。交换循环次序后变为列优先访问,每次访问可能跨块,但Cache容量8KB,足以容纳数组a的全部数据(6KB),因此列优先访问时,每列24个元素跨3个主存块,首次访问这些块会缺失,但后续列访问相同块时可能命中,具体命中率计算复杂,但标准答案为87.5%(可能假设Cache足够大,全部数组装入后不再冲突)。学生答案0明显错误,扣2分。本小题得3分(第一问1分,第二问1分,第三问1分,但第三问错误扣2分,实得3分)。

题目总分:3+2+4+3=12分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发