指令的执行

作者: SnC_ | 来源:发表于2021-07-18 14:06 被阅读0次

简单地描述一下程序中的指令被CPU执行的流程。

首先熟悉一下CPU的大致架构:

Structure of a CPU
  • General purpose register: 通常用于存储复杂计算的中间结果(如ALU的计算结果)。
  • ALU: 一个复杂电路,能进行数学运算(加减乘除)以及逻辑运算(与或非)。
  • Instruction register: 保存CPU当前执行的指令。CPU根据IR中的instruction code执行相应的操作(如 code 0 表示 add,code 1 表示 substract,等等)。
  • Program counter: 保存CPU要执行的下一条指令的地址(location in memory)。 每当CPU执行完一条指令,PC的值就会增加。
  • Processor status register: 保存comparison operation的结果。 如equal, not equal, less than, greater than, less than or equal, greater than or equal。

CPU执行的流程,就是重复以下步骤:

  1. 取指(fetch): 在执行完一条指令之后,CPU根据PC中的address,发出申请,去内存中取来下一条指令。
    内存将对应address中保存的值发送给CPU,CPU将此值保存在IR中。根据IR中的instruction code,CPU能通过指令集得知这条指令应该为多长。
    PC增加这条指令的长度,此即下一条要执行的指令的地址。
  2. 译码(decode): CPU根据指令,去寄存器或者内存中取来操作数。
  3. 执行(execute): ALU执行指令中指定的操作,得到结果值,或更新相应寄存器。

参考链接

相关文章

  • 指令的执行

    简单地描述一下程序中的指令被CPU执行的流程。 首先熟悉一下CPU的大致架构: General purpose r...

  • 如何同时执行两个指令

    比如说 如何在执行man指令的时候 同时执行ls指令?

  • 《计算机组成与体系结构》——8.2机器指令

    本节要点: 操作码 CPU的操作由它所执行的指令确定。这些指令称为机器指令或计算机指令。CPU能执行的各种不同指令...

  • linux popen与pclose的demo

    采用popen打开执行一个shell指令。 在执行了proc1的指令之后,还执行了date指令。 除此之外。lin...

  • CPU指令系统

    指令:执行某类操作信息的集合,是CPU工作的主要依据指令集:处理器能执行全体指令的集合 指令系统[指令系统]是计算...

  • 你所不知道的cpu分支预测

    CPU执行一条指令的简单流程 取指令 分析指令 执行程序 我们看一下整个流程,A部件进行取指令,把指令交给B部件去...

  • 汇编程序的格式

    指令 程序是指令的集合,我们说过程序的运行实际上便是取指执行,表示从内存中取出指令,然后执行指令。指令通常由操作码...

  • 2020-08-24(数学指令)

    运算指令INC(操作数) 递增指令,执行指令时,将操作数递增1.DEC(操作数) 递减指令,执行指令时,将操作数...

  • JVM学习:PC寄存器

    一、概述 PC寄存器用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令,并执行该指令。...

  • 学习汇编--写一个完整的汇编(二)

    call指令和ret指令 call 标号 执行方式将吓一条指令的地址入栈跳转到定位的地址执行指令 ret 将栈顶的...

网友评论

    本文标题:指令的执行

    本文链接:https://www.haomeiwen.com/subject/zdiueltx.html