CPU在取指令阶段的操作是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CPU在取指令阶段的操作是啥?相关的知识,希望对你有一定的参考价值。

控制器从内存储器读取指令放入指令寄存器还是放入运算器?

CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。

它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。

指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码。有的指令中也直接包含操作数本身。

扩展资料:

CPU工作过程:

提取

第一阶段,提取,从存储器或高速缓冲存储器中检索指令(为数值或一系列数值)。由程序计数器指定存储器的位置。

解码

CPU根据存储器提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片段。根据CPU的指令集架构定义将数值解译为指令。一部分的指令数值为运算码,其指示要进行哪些运算。其它的数值通常供给指令必要的信息,诸如一个加法运算的运算目标。

执行

在提取和解码阶段之后,紧接着进入执行阶段。该阶段中,连接到各种能够进行所需运算的CPU部件。

写回

最终阶段,写回,以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。在其它案例中,运算结果可能写进速度较慢,但容量较大且较便宜的主记忆体中。

某些类型的指令会操作程序计数器,而不直接产生结果。这些一般称作“跳转”(Jumps),并在程式中带来循环行为、条件性执行(透过条件跳转)和函式。许多指令会改变标志暂存器的状态位元。

这些标志可用来影响程式行为,缘由于它们时常显出各种运算结果。例如,以一个“比较”指令判断两个值大小,根据比较结果在标志暂存器上设置一个数值。这个标志可藉由随后跳转指令来决定程式动向。

在执行指令并写回结果之后,程序计数器值会递增,反覆整个过程,下一个指令周期正常的提取下一个顺序指令。

参考资料来源:CPU-百度百科

参考技术A

    CPU的基本工作是执行存储的指令序列,即程序。程序的执行过程实际上是不断地取出指令、分析指令、执行指令的过程。

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

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

    计算机运行程序时,先将有关程序调入内存,再将指令调入寄存器,CPU顺序调用寄存器中的指令并解释执行,取指令本身是CPU操作的,但是必经内存控制器,不过它顶多算个人事管理者,实权在CPU.这东西主要是与各种各样的物理内存接洽使之可用,在CPU调度下与一二级缓存进行数据交流。

参考技术B 应该是指令寄存器

同求本回答被提问者采纳

8086CPU复位后,内容不为0的寄存器都有哪些?系统的初始地址是啥?

参考技术A 8086CPU复位后,(CS)=FFFFH,其余各寄存器的状态均为0。
要看得看你的复位是用什么实现的。如果是硬件实现的话,第一条cpu的指令的起始地址在rom,如果是软件实现的话,你的软件复位是针对cpu还是整个系统,如果是针对cpu复位,那第一条指令的起始地址可能是ram,如果是对整个系统复位,那第一条cpu的指令的起始地址在rom。
参考技术B Reset引脚上为高电平时,引起cpu复位,复位后cpu内部的段寄存器,标志寄存器,指令指针ip及指令队列都将被清零,只有段寄存器cs被设置为FFFFH。一旦复位完成,cpu将从CS:IP值为FFFFH:0000H,即物理地址为0FFFF0H的地址开始执行程序。

以上是关于CPU在取指令阶段的操作是啥?的主要内容,如果未能解决你的问题,请参考以下文章

是啥让cpu能从存储器中取指令的??是通过中断吗?

CPU执行方式

电脑CPU的工作原理

CPU是怎么执行指令的?

CPU是怎么执行指令的?

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