美文网首页
一条指令在cpu中的执行流程(理解CPU组成)

一条指令在cpu中的执行流程(理解CPU组成)

作者: 文档随手记 | 来源:发表于2018-01-26 11:25 被阅读0次

CPU

1.寄存器;

2.控制器CU(Control Unit):

指令寄存器IR(InstructionRegister)、程序计数器PC(ProgramCounter)和操作控制器OC(OperationController);

3.ALU(算数逻辑运算单元),不包括寄存器;

4.总览

过程详述:

几乎所有的冯·诺伊曼型计算机的CPU,其工作都可以分为5个阶段:取指令、指令译码、执行指令、访存取数、结果写回。

1.取指令阶段

取指令(Instruction Fetch,IF)阶段是将一条指令从主存中取到指令寄存器的过程。

程序计数器PC中的数值,用来指示当前指令在主存中的位置。当一条指令被取出后,PC中的数值将根据指令字长度而自动递增:若为单字长指令,则(PC)+1àPC;若为双字长指令,则(PC)+2àPC,依此类推。

2.指令译码阶段

取出指令后,计算机立即进入指令译码(Instruction Decode,ID)阶段。

在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。

在组合逻辑控制的计算机中,指令译码器对不同的指令操作码产生不同的控制电位,以形成不同的微操作序列;在微程序控制的计算机中,指令译码器用指令操作码来找到执行该指令的微程序的入口,并从此入口开始执行。

在传统的设计里,CPU中负责指令译码的部分是无法改变的。不过,在众多运用微程序控制技术的新型CPU中,微程序有时是可重写的,可以通过修改成品CPU来改变CPU的译码方式。

3.执行指令阶段

在取指令和指令译码阶段之后,接着进入执行指令(Execute,EX)阶段。

此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。为此,CPU的不同部分被连接起来,以执行所需的操作。

例如,如果要求完成一个加法运算,算术逻辑单元ALU将被连接到一组输入和一组输出,输入端提供需要相加的数值,输出端将含有最后的运算结果。

4.访存取数阶段

根据指令需要,有可能要访问主存,读取操作数,这样就进入了访存取数(Memory,MEM)阶段。

此阶段的任务是:根据指令地址码,得到操作数在主存中的地址,并从主存中读取该操作数用于运算。

5.结果写回阶段

作为最后一个阶段,结果写回(Writeback,WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式:结果数据经常被写到CPU的内部寄存器中,以便被后续的指令快速地存取;在有些情况下,结果数据也可被写入相对较慢、但较廉价且容量较大的主存。许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。

在指令执行完毕、结果数据写回之后,若无意外事件(如结果溢出等)发生,计算机就接着从程序计数器PC中取得下一条指令地址,开始新一轮的循环,下一个指令周期将顺序取出下一条指令。

许多新型CPU可以同时取出、译码和执行多条指令,体现并行处理的特性。

相关文章

  • 一条指令在cpu中的执行流程(理解CPU组成)

    CPU: 1.寄存器; 2.控制器CU(Control Unit): 指令寄存器IR(InstructionReg...

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

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

  • 初识C语言

    CPU工作原理 CPU工作原理是它先从内存中获取并执行一条指令,然后再从内存中获取并执行下一条指令,诸如此类(一个...

  • 汇编学习笔记

    地址 指令执行过程 cpu从cs:ip所组成的地址中读取指令,将指令放到指令缓存器中 IP = IP + 所读指令...

  • 面试题总结2 Runloop

    第一关于runloop首先要理解cpu cpu是通电即执行 而runloop则是控制cpu执行的指令runloop...

  • 计算机基础(一)—— 硬件

    CPU处理器: 计算机的大脑就是CPU,它从内存中取指令->解码->执行,然后再取指->解码->执行下一条...

  • 指令的执行

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

  • 有关并发编程

    内存模型 在讲述并发编程之前,我么首先要先了解内存模型 计算机执行指令,每条指令都在cpu中执行cpu执行速度很快...

  • 汇编(二)

    1. bl指令 CPU从何处执行指令是由pc中的内容决定的,我们可以通过改变pc的内容来控制CPU执行目标指令 A...

  • 002--汇编(函数)

    一、bl指令 cpu从何处执行指令是由PC中的内容决定的,我们可以通过改变PC的内容来控制CPU执行目标指令ARM...

网友评论

      本文标题:一条指令在cpu中的执行流程(理解CPU组成)

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