指令的执行周期及取指周期

MOV指令的指令周期

取指周期

(1)程序计算器PC中装入第一条指令地址101(八进制)

(2)PC的内容被放到指令地址总线ABUS(I)上,对指存进行译码,并启动读命令

(3)从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR

(4)程序计算器内容加1,变成102,为取下一条指令做好准备

(5)指令寄存器中的操作码(OP)被译码

(6)CPU识别出是MOV指令。至此,取指周期结束。

 

执行周期

(1)操作控制器(OC)送出控制信号到通用寄存器,选择R1(10)作源寄存器,选择R0作目标寄存器

(2)OC送出控制信号ALU,指定ALU做传送操作

(3)OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS上。注意,任何时候DBUS上只能有一个数据

(4)OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR(10)

(5)OC送出控制信号,将DR中数据10打入到目标寄存器R0,R0的内容由00变为10。至此,MOV指令执行结束。

LAD指令的指令周期
LAD指令的取指周期
PC提供的指令地址为102,按此地址从指令周期,读出“LDA R1,6”指令放入IR中,然后将PC+1,使PC内容变成103,为取下条ADD指令做好准备。

LAD指令的执行周期
操作控制器OC发出控制命令,打开IR输出三态门,将指令中的直接地址6放到数据总线DBUS上
OC发出操作命令,将地址码6装入数存地址寄存器AR
OC发出读命令,将数存6号单元中的数100读出道DBUS上
OC发出命令,将DBUS上的数据100装入缓冲寄存器DR
OC发出命令,将DR中的数100装入通用寄存器R1,原来R1中的数10被冲掉
 

ADD指令的执行周期
操作控制器OC送出控制命令到通用寄存器,选择R1做源寄存器,R2做目标寄存器;
OC送出控制命令到ALU,指定ALU做R1(100)和R2(20)的加法操作;
OC送出控制命令,打开ALU输出三态门,运算120放到DBUS上;
OC送出控制命令,将DBUS上数据打入缓冲寄存器;ALU产生的进位信号保存在状态字寄存器PSWR中;
OC送出控制命令,将DB(120)装入R2,R2中原来的内容20被冲掉。至此,ADD指令执行周期结束。

STO指令的执行周期
操作控制器OC送出操作命令到通用寄存器,选择(R3)=30做数据存储器的地址单元;
OC发出操作命令,打开通用寄存器输出三态门(不经ALU以节省时间),将地址30放到DBUS上;OC发出操作指令,将地址30打入AR,并进行数存地址译码;
OC发出操作命令到通用寄存器,选择(R2)=120,作为数存的写入数据;
OC发出操作命令,打开通用寄存器输出三态门,将数据120放到DBUS上;
OC发出操作命令,将数据120写入数存30号单元,它原先的数据40被冲掉,至此,STO指令执行周期结束。
 

JMP指令的执行周期
OC发出操作控制命令,打开指令寄存器IR输出三态门,将IR中的地址码101发送到DBUS上;
OC发出操作控制命令,将DBUS上的地址码101打入到程序计算器PC中,PC中的原先内容106被更换。于是下一条指令不是从106号单元取出,而是转移到101号单元取出。至此,JMP指令执行周期结束

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值