指令执行过程

  CPU主要由运算器、控制器、寄存器组和内部总线构成,我们知道运算器是用来完成运算的,而指令的执行就是在控制器中完成的。
  而控制器一般又包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑。更准确的说指令的执行是由指令控制逻辑完成的,下面先看一下指令控制逻辑的组成。

指令控制逻辑的组成

  1. 指令寄存器(IR):用来暂存指令,当CPU执行指令时,先把它从内存取到缓冲寄存器中,再送入IR。然后指令译码器从IR中将指令取出来,进而分析指令。
  2. 程序计数器(PC):记住它保存的总是将要执行的下一条指令的地址即可。
  程序的执行分两种情况:顺序执行和转移执行,如果程序是按顺序执行的,那么程序计数器只需要简单的加1就可以了;但是如果遇到转移指令,下一条指令的地址会根据当前指令的地址加上一个向前或向后的转移位移量得到或者根据转移指令给出的直接转移的地址得到。
  3. 地址寄存器(AR):保存当前CPU所访问的内存单元地址。由于内存和CPU在操作速度上的差异,所以需要用AR保存地址信息,知道内存的读写操作完成为止。
  4. 指令译码器(ID):用来分析指令。指令包括操作码和地址码两部分,指令译码器就是对操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出控制信号,完成所需功能。

指令的执行过程

  指令的执行需要完成取指令、分析指令和执行指令的操作,过程分为:取指令、指令译码、按指令操作码执行、形成下一条指令地址等。
  (1)在程序执行之前,会将程序的起始地址送入程序计数器中,该地址在程序加载到内存时确定,所以程序计数器中首先存的是程序第一条指令的地址。将该地址送往地址总线,完成取指操作。
  (2)取来的指令暂存到指令寄存器中。
  (3)指令译码器从指令寄存器中得到指令,分析指令的操作码和地址码。然后 CPU 根据分析的操作码知道该条指令要进行的操作,根据地址码找到需要的数据,完成指令的执行。
  (4)程序计数器加1或根据转移指令得到下一条指令的地址,接下来再进行下一条指令的执行,直到整个程序执行完成。

后语

  以上只是本人的一点儿粗鄙理解,如果各位发现有什么不对的地方,请原谅我这个小白并请您及时指出,定不胜感激。

  • 17
    点赞
  • 57
    收藏
  • 打赏
    打赏
  • 33
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论 33

打赏作者

张伟杰-Vijay

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值