问题 问答题

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


拟出指令SUB(R1),-(R2)的执行流程(含取指过程与确定后继指令地址)。该指令的含义是进行减法操作,源操作数地址和目的操作数地址分别在寄存器R1和R2中,目的操作数寻址方式为自减型寄存器间接寻址。
其中:LA-A输入选择器,LB-B输入选择器,C、D-暂存器。

答案

参考答案:指令SUB(R1),-(R2)的含义为
(R2)-1→R2
((R1))-((R2))→(R2)
指令的执行流程如下:
(R2)-1→R2
((R1))-((R2))→(R2)
指令的执行流程如下:
①(PC)→MAR ; 取指令
②Read
③M(MAR)→MDR→IR
④(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

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

选择题
单项选择题