文章

92

粉丝

68

获赞

0

访问

11.3k

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

(1) 数组a分为2个页面存储?对于数组a的访问,会发生2次缺页异常?页故障地址0042 2000H和0042 3000H

(2) 不考虑变量i和j,该程序段的数据访问具有时间局部性,因为本次访问这个地址,下次访问的地址还在这个附近。

(3) 计算机M的虚拟地址(A31~A0)中A0到A4位用作块内地址,A5到A10用作Cache组号, a[1][0]的虚拟地址是0042 2000H。其所在主存块对应的Cache组号是08H.

(4) 数组a占用192个主存块,  假设上述程序段执行过程中数组a的访问不会和其他数据发生Cache访问冲突,则数组a的Cache命中率是87.5%,若将循环中i和j的次序按如下方式调换,则数组a的Cache命中率87.5%。


评分及理由

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

学生答案正确指出了页面数、缺页次数和页故障地址,与标准答案完全一致。
得分:3分

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

学生答案错误。题目问的是“时间局部性”,其定义是某个数据被访问后不久可能再次被访问。本题中数组a的每个元素仅被赋值一次,没有重复访问,因此不具有时间局部性。学生将“时间局部性”与“空间局部性”(访问附近地址)混淆,属于概念理解错误。
得分:0分

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

学生答案部分正确:
1. 块内地址和Cache组号的位划分正确,得1分。
2. a[1][0]的虚拟地址计算错误。数组起始地址为0042 2000H,sizeof(int)=4,按行优先存储,a[1][0]的地址应为起始地址 + 一行的大小 = 0042 2000H + (64 * 4) = 0042 2000H + 0x100 = 0042 2100H。学生给出的0042 2000H是a[0][0]的地址,错误,扣1分。
3. Cache组号计算基于错误的地址,因此结果“08H”也错误。但题目要求给出组号,标准答案为数值8,学生写成“08H”虽格式不同但数值意义相同,然而由于地址错误导致此计算无意义,故不得分。
综合扣分:块内地址和组号划分正确得1分,虚拟地址错误扣1分,组号结果因地址错误不得分。本小题得1分。

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

学生答案部分正确:
1. 数组a占用主存块数192正确,得1分。
2. 两种循环顺序下的Cache命中率87.5%均正确,各得...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发