2014 全国硕士研究生入学统一考试

计算机学科专业基础2014 真题档案

47道题150满分
00:00
返回整卷
BOK 组成原理
组成原理

2014-45

综合题10 分

补充条件(来源:2014 年第 44 题)

某程序中有如下循环代码段 P:for(int i = 0; i < N; i++) sum+=A[i];。假设编译时变量 sum 和 i 分别分配在寄存器 R1 和 R2 中。常量 N 在寄存器 R6 中,数组 A 的首地址在寄存器 R3 中。程序段 P 起始地址为 08048100H,对应的汇编代码和机器代码如下表所示。

题目配图

执行上述代码的计算机 M 采用 32 位定长指令字。

本题题干

假设对于 44 题中的计算机 M 和程序 P 的机器代码,M 采用页式虚拟存储管理;P 开始执行时,(R1) = (R2) = 0,(R6) = 1000,其机器代码已调入主存但不在 Cache 中;数组 A 未调入主存,且所有数组元素在同一页,并存储在磁盘同一个扇区。请回答下列问题并说明理由。

1)P 执行结束时,R2 的内容是多少?

2)M 的指令 Cache 和数据 Cache 分离。若指令 Cache 共有16行,Cache 和主存交换的块大小为32字节,则其数据区的容量是多少?若仅考虑程序段 P 的执行,则指令 Cache 的命中率为多少?

3)P 在执行过程中,哪条指令的执行可能发生溢出异常?哪条指令的执行可能产生缺页异常?对于数组 A 的访问,需要读磁盘和 TLB 至少各多少次?

45