问题 问答题

某机的丰要部件如下图所示。


(1)请补充各部件间的主要连接线,并注明数据流动方向。
(2)拟出指令SUB(R1),—(R2)的执行流程(含取指过程与确定后继指令地址)。该指令的含义是进行减法操作,源操作数地址和目的操作数地址分别在寄存器R1和R2中,目的操作数寻址方式为自减型寄存器间接寻址。
其中:LA-A输入选择器,LB-B输入选择器,C、D-暂存器。

答案

参考答案:[解答] (1)将各部件间的主要连接线补充完后,数据通路如下图所示。


(2)指令SUB(R1),—(R2)的含义为
(R2)—1→R2
((R1))—((R2))→(R2)
指令的执行流程如下:
①(PC)→MAR;取指令
②Read
③M(MAR)→MDR→1R
④(PC)+1→PC
⑤(R1)→MAR;取被减数
⑥Read
⑦M(MAR)→MDR→C
⑧(R2)—1→R2;修改目的地址
⑨(R2)→MAR;取减数
⑩Read

M(MAR)→MDR→D

(C)—(D)→MDR;求差并保存结果

Write

MDR→MM

解析: 第44题的图中只给出了计算机的主要部件,各部件之间的连接线没有给出,由于LA和LB分别为输入选择器,所以特将数据通路设计为简单的单总线结构形式。
[归纳总结] 指令执行流程中的前4步是完成去主存中取指令的操作,这是公操作,与具体指令无关;接下来的3步是去主存中取被减数,把取出的被减数放在暂存器C中;然后的4步是去主存中取减数,并把取出的减数放在暂存器D中,由于目的操作数寻址方式为自减型寄存器间接寻址,所以先要修改目的地址;最后的3步是完成减法运算,并将结果保存在主存中。
自减寻址是先对寄存器Ri的内容自动减量修改,修改之后的内容才是操作数的有效地址,据此可到主存中取出操作数。寻址操作的含义为:Ri←(Ri)-1,EA=(Ri),通常记作—(Ri),减号在括号之前,形象地表示先修改后操作。而自增寻址时,寄存器Ri的内容是有效地址,按照这个有效地址从主存中取数以后,寄存器的内容自动增量修改。寻址操作的含义为:EA=(Ri),Ri←(Ri)+1,通常记作(Ri)+,加号在括号之后,形象地表示先操作后修改。
[解题技巧] 根据数据通路,写出指令执行的微操作序列。使用寄存器传送语句(如PC→MAR),比较直观。

填空题
单项选择题