计算机指令在CPU中的执行过程(图文版)

为了了解指令的大概流程,下面以加法指令做以说明(引用《计算机原理》)。

指令形式: ADD EA

该指令一个隐含的操作数存在累加器(AC)中,EA为另一个操作数在主存当中的有效地址。
该指令是把AC和EA的数据相加,最后把计算的和送回AC中,即AC+EA -> AC。

1. 取指

把PC的内容(指令地址)装入地址寄存器(AR),送上地址总线,由地址总线找到对应的主存,取出指令码,然后通过数据总线将指令码传给CPU的指令寄存器(IR)。

2. 分析

把IR中的指令交给译码器译码,识别出这是一条AC与主存数据相加的指令,将指令中的EA输出到地址总线,地址总线在加法指令的控制下从主存读出数据,然后将读出的数据通过数据总线送到CPU的暂存寄存器(TR)中。

在指令译码的同时,PC的值会加1,指向下一个指令地址。

3. 执行

将AC中的数据和TR中的数据传入运算中心(ALU)进行加法运算,再将计算之和通过数据总线传给AC,结束指令。

以上只列出最关键的3个步骤,其中一个指令的操作数是以直接寻址的方式给出的(EA),即译码后可立即进行访存操作。如果指令的操作数是由其他寻址方式给出,则还需要进一步取址得出EA,再由EA去存储器取值。

转载于:https://my.oschina.net/u/3536632/blog/2934131

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值