DJ7-5 指令流程与微命令(第二节课)

目录

1. 双操作数指令

(1)源周期

(2)目的周期

(3)执行周期

- 例题

2. 单操作数指令(自学)

- 例题

3. 转移指令 JMP 和返回指令 RST(自学)

(1)不进行转移时 —— NJ

(2)进行转移时 —— J

- 第一题

- 第二题(易错)

4. 转子指令 JSR(自学)

(1)不进行转子时 —— NJSR

(2)进行转子时 —— JSR

- 例题

5. 中断周期 IT(自学)


1. 双操作数指令

既要目的地址,又要目的操作数。

若已取得目的操作数,则必已取得目的地址。

(1)源周期

与传送指令的源周期一样。

(2)目的周期

双操作数指令的目的周期需要获得目的操作数,因此其流程类似于传送指令的源周期。

(记忆)获取操作数的前三个节拍:

  • 给出地址
  • 去访存 ——获得操作数
  • 修改寄存器

(3)执行周期

此时的源操作数:

  • 在 Ri 中
  • 在 C 中

此时的目的地址或目的操作数:

  • 目的地址在 Rj 中或者在 MAR 中
  • 目的操作数 Rj 中或者在 D 中

OP 代表需要完成的运算。

- 例题

2. 单操作数指令(自学)

- 例题

3. 转移指令 JMP 和返回指令 RST(自学)

没有 ST 和 DT,在 ET 中获得转移地址或返回地址。

NJ —— 不满足转移条件,J —— 满足转移条件

(1)不进行转移时 —— NJ

非 PC 型:转移地址中给出的寄存器不是 PC,此时后继指令位于当前转移型指令后,所以 PC 当前值就是后继指令地址,在 ET 中执行 PC → MAR 即可。

PC 型:转移地址中给出的寄存器是 PC,则紧跟转移型指令之后的主存单元已被用来存放一个立即数,下一个存储单元的内容才是转移指令的后继指令,所以在 ET 中 PC 保存的地址码需要再次加1,才能正确定位到这条指令的后继指令。

这个立即数可能是相对于 PC 的偏移量或者转移目标地址。

(2)进行转移时 —— J

- 第一题

- 第二题(易错)

 

4. 转子指令 JSR(自学)

更正:把暂存器改为 D 。在 ST 或 DT 形成子程序入口地址都行,但不要写错了暂存器。

(1)不进行转子时 —— NJSR

顺序执行。

(2)进行转子时 —— JSR

DT期间:

对于非寄存器寻址, 将形成的子程序入口地址送入D中暂存。

ET期间:

  • 压栈保存返回地址
  • 将子程序入口地址送入PC和MAR

- 例题

5. 中断周期 IT(自学)

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值