模拟卷 操作系统 寄存器类型 解答题
第 45 题

(11 分)下图是一个简化的 CPU 与主存连接结构示意图(图中省略了所有多路选择器)。其中有一个累加寄存器 AC、一个状态寄存器和其他四个寄存器:主存地址寄存器 MAR、主存数据寄存器 MDR、程序计数器 PC 和指令寄存器 IR。各部件及其之间的连线表示数据通路,箭头表示信息传送方向。

一个简化的 CPU 与主存连接结构示意图

要求:

(1) 请写出图中 a、b、c、d 四个寄存器的名称。 (2) 简述图中指令从主存取到控制器的过程。 (3) 说明数据从主存取出、运算、写回主存所经过的数据通路(假定数据地址已在 MAR 中)。 (4) 程序计数器 PC 的内容是如何变更的?

寄存器类型

[tag_link]

**【解析】** 本题考查数据通路和指令执行过程。读者应牢固掌握指令的执行过程和原理,并能根据指令的执行过程和特点了解控制器中各个寄存器的连接方式。

(1)b 单向连接微控制器,由微控制器的作用不难得知 b 是指令寄存器(IR); a 和 c 直接连接主存,只可能是 MDR 和 MAR。c 到主存是单向连接,a 和主存双向连接。根据指令执行的特点,MAR 只单向给主存传送地址,而 MDR 既存放从主存中取出的数据又要存放将要写入主存的数据,因此 c 为主存地址寄存器(MAR),a 为主存数据寄存器(MDR)。d 具有自动加 1 的功能,且单向连接 MAR,不难得出为程序计数器(PC)。

因此,a 为 MDR、b 为 IR、c 为 MAR、d 为 PC。

(2)先从程序计数器(PC)中取出指令地址,将指令地址送入主存地址寄存器(MAR),在相关的控制下从主存中取出指令送至主存数据寄存器(MDR),然后将 MDR 中的指令送至指令寄存器(IR),最后流向微控制器,供微控制器分析并执行指令。

因此,取指令的数据通路为:

(3)和(2)的分析类似,根据 MAR 中的地址去主存取数据,将取出的数据送至主存数据寄存器(MDR),然后将 MDR 中的数据送至 ALU 进行运算,运算的结果送至累加器(AC),运算结束后将 AC 中的结果送至 MDR,最后将 MDR 中的数据写入主存。

因此,从主存取出、运算和写回主存所经过的数据通路分别为:

(4)指令顺序执行时,PC 自动完成 +1 的操作。跳跃执行时,由转移指令提供转移地址(如相对寻址由 PC 的内容加上形式地址)。