单总线CPU指令执行

指令执行

写在开头,以下内容均来自王道视频

CPU内部单总线结构

在这里插入图片描述

【图1】 CPU内部结构图(注意,图中的总线为CPU内部总线

注:

MemR:内存读信号;MenW:内存写信号;IR:指令寄存器;PC:程序计数器;MAR:地址寄存器; MDR:数据寄存器; R 0 . . . R n − 1 R_0 ... R_{n-1} R0...Rn1:通用寄存器;Y:(输入)暂存器;ALU:算术逻辑单元; Z:(输出)暂存器;MDRinE:从外部的数据总线输入到MDR的数据是否有效;MDRoutE:从MDR输送到外部数据总线的数据是否有效;MDRin:从CPU内存总线中输入数据至MDR; MDRout:从MDR输出数据到CPU内部总线;其他类似的,寄存器AX的输入输出分别由AXout和AXin控制;

现分析指令:ADD (R0) , R1 的指令流程与控制信号

首先分析该指令实现的功能:实现加法,将 源 操 作 数 源操作数 目 的 操 作 数 目的操作数 相加,然后将结果返回至目的操作数的寄存器中;

一般的:有指令:ADD R0 , R1 翻译成汇编指令为:(R0)+(R1)->R0 其中 R 0 R0 R0表示目的操作数 , R 1 R1 R1表示源操作数,加括号表示表示 寄 存 器 间 接 寻 址 寄存器间接寻址 如(R0)即表示根据R0寄存器中存放的所需操作数的内存地址信息然后去内存中寻找该操作数,同理(R1);而R0则表示直接放入R0这个寄存器中。因此这段指令翻译成人话就是:根据R0与R1寄存器中的地址信息去内存中取出相应操作数然后相加放入R1寄存器中。

回到这道题上来,该指令翻译成汇编语句便是:((R0)) + (R1) -> (R0)

取指周期:公共周期

在这里插入图片描述

【图2】

间址周期:完成取数操作,被加数在主存中,加数已经放在寄存器R1中。
在这里插入图片描述

执行周期:完成取数操作,被加数在主存中,加数已经放在寄存器R1中。

在这里插入图片描述

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值