简述CPU执行一条指令的过程

作者&投稿:单于佩 (若有异议请与网页底部的电邮联系)
谁能告诉我CPU执行一条指令的详细过程是什么样的?~

从内存读取指令到运算器,把最近的常用重复指令放入二级缓存中,然后继续处理,处理的指令都在一级缓存(一级缓存应该是和CPU一样速度)用读取 如果碰到一级缓存中无此指令相关信息就去二级缓存中查找(二级缓存比一级缓存要慢很多)如果二级缓存中没有此指令信息在到内存中去查找 就是从快的往慢的一点一点查找,内部架构也和运算器处理的速度以及效能有很大关系 大哥这些你都可以再网上去查啊

几乎所有的冯·诺伊曼型计算机的CPU,其工作都可以分为5个阶段:取指令、指令译码、执行指令、访存取数、结果写回。
1.取指令阶段
取指令(Instruction Fetch,IF)阶段是将一条指令从主存中取到指令寄存器的过程。
程序计数器PC中的数值,用来指示当前指令在主存中的位置。当一条指令被取出后,PC中的数值将根据指令字长度而自动递增:若为单字长指令,则(PC)+1àPC;若为双字长指令,则(PC)+2àPC,依此类推。
2.指令译码阶段

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

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

在组合逻辑控制的计算机中,指令译码器对不同的指令操作码产生不同的控制电位,以形成不同的微操作序列;在微程序控制的计算机中,指令译码器用指令操作码来找到执行该指令的微程序的入口,并从此入口开始执行。
3.执行指令阶段
在取指令和指令译码阶段之后,接着进入执行指令(Execute,EX)阶段。
此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。为此,CPU的不同部分被连接起来,以执行所需的操作。
4.访存取数阶段

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

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

5.结果写回阶段

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

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

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

1.取指令阶段

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

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

2.指令译码阶段

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

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

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

3.执行指令阶段

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

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

4.访存取数阶段

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

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

5.结果写回阶段

作为最后一个阶段,结果写回(Write Back,WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式:

结果数据经常被写到CPU的内部寄存器中,以便被后续的指令快速地存取;

在有些情况下,结果数据也可被写入相对较慢、但较廉价且容量较大的主存。许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。

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

扩展资料:

指令的执行过程例子:

开机时,程序计算器PC变为0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。

例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器。

0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是:

1. 程序计数器的内容(这时是0000H)送到地址寄存器;

2.程序计数器的内容自动加1(变为0001H);

3.地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码电跟,使地址为0000H的单元被选中;

4.CPU使读控制线有效;

5.在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。至此,取指阶段完成,进入译码分析和执行指令阶段。

由于本次进入指令寄存器中的内容是74H(操作码),以译码器译码后单片机就会知道该指令是要将一个数送到A累加器,而该数是在这个代码的下一个存储单元。

所以,执行该指令还必须把数据(E0H)从存储器中取出送到CPU,即还要在存储器中取第二个字节。其过程与取指阶段很相似,只是此时PC已为0001H。指令译码器结合时序部件,产生74H操作码的微操作系列,使数字E0H从0001H单元取出。

因为指令是要求把取得的数送到A累加器,所以取出的数字经内部数据总线进入A累加器,而不是进入指令寄存器。至此,一条指令的执行完毕。单片机中PC="0002H",PC在CPU每次向存储器取指或取数时自动加1,单片机又进入下一取指阶段。

这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU就是这样一条一条地执行指令,完成所有规定。

参考资料:CPU-百度百科



中央处理器(CPU)工作都可以分为5个阶段:取指令、指令译码、执行指令、访存取数、结果写回。

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

2.指令译码阶段,取出指令后,计算机立即进入指令译码(Instruction Decode,ID)阶段。在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。

3、执行指令阶段,在取指令和指令译码阶段之后,接着进入执行指令(Execute,EX)阶段。此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。为此,CPU的不同部分被连接起来,以执行所需的操作。

4、访存取数阶段,根据指令需要,有可能要访问主存,读取操作数,这样就进入了访存取数(Memory,MEM)阶段。此阶段的任务是:根据指令地址码,得到操作数在主存中的地址,并从主存中读取该操作数用于运算。

5、结果写回阶段,结果写回(Writeback,WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式:结果数据经常被写到CPU的内部寄存器中,以便被后续的指令快速地存取。在指令执行完毕、结果数据写回之后,若无意外事件(如结果溢出等)发生,计算机就接着从程序计数器PC中取得下一条指令地址,开始新一轮的循环,下一个指令周期将顺序取出下一条指令。

扩展资料

最早的计算机器仅内含固定用途的程序。现代的某些计算机依然维持这样的设计方式,通常是为了简化或教育目的。例如一个计算器仅有固定的数学计算程序,它不能拿来当作文书处理软件,更不能拿来玩游戏。若想要改变此机器的程序,你必须更改线路、更改结构甚至重新设计此机器。当然最早的计算机并没有设计成那种可编程化。当时所谓的“重写程序”很可能指的是纸笔设计程序步骤,接着制订工程细节,再施工将机器的电路配线或结构改变。

而储存程序型电脑的概念改变了这一切。借由创造一组指令集结构,并将所谓的运算转化成一串程序指令的执行细节,让此机器更有弹性。接着将指令当成一种特别型态的静态资料,一台储存程序型电脑可轻易改变其程序,并在程控下改变其运算内容。

参考资料:百度百科-普林斯顿结构



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可以同时取出、译码和执行多条指令,体现并行处理的特性。 

扩展资料:

指令告诉计算机从事某一特殊运算的代码。

计算机程序发给计算机处理器的命令就是“指令(instruction)”。最低级的指令是一串0和1,表示一项实体作业操作要运行(如“Add”)。根据指令类型,某个具体的存储领域被称作“寄存器(register)”,里面包含了可用于调出指令的数据或数据存储位置。

计算机的汇编语言(assembler)中,每种语言一般只响应单一的处理器指令。而高级语言的每种语言经过程序编辑后能响应多个处理器指令。

在汇编语言中,宏指令(macro instruction)在汇编程序处理过程中会扩展为多个指令(以编码过的源宏定义为基础)。

参考资料:一条指令在cpu中的执行流程(理解CPU组成)---csdn



计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。

取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。

分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。
计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。

一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。

下面我们将举个实例来说明指令的执行过程:

开机时,程序计算器PC变为0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。

例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器,

0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是:
1 程序计数器的内容(这时是0000H)送到地址寄存器;

2 程序计数器的内容自动加1(变为0001H);

3 地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码电跟,使地址为0000H的单元被选中;

4 CPU使读控制线有效;

5 在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。至此,取指阶段完成,进入译码分析和执行指令阶段。
由于本次进入指令寄存器中的内容是74H(操作码),以译码器译码后单片机就会知道该指令是要将一个数送到A累加器,而该数是在这个代码的下一个存储单元。所以,执行该指令还必须把数据(E0H)从存储器中取出送到CPU,即还要在存储器中取第二个字节。其过程与取指阶段很相似,只是此时PC已为0001H。指令译码器结合时序部件,产生74H操作码的微操作系列,使数字E0H从0001H单元取出。因为指令是要求把取得的数送到A累加器,所以取出的数字经内部数据总线进入A累加器,而不是进入指令寄存器。至此,一条指令的执行完毕。单片机中PC="0002H",PC在CPU每次向存储器取指或取数时自动加1,单片机又进入下一取指阶段。这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU就是这样一条一条地执行指令,完成所有规定

关键一点,cpu的每条指令在设计CPU前,都是预先编码的, 比如MOV ,你可以编码成1100H或1200H,反正随你喜欢,但是随后必须严格按照这个编码来设计实际逻辑控制电路,使其务必完成后续操作,一般用VHDL语言设计好,再在FPGA开发仿真板上验证正确通过。比如 RISC指令集,其每条指令编码和具体执行逻辑控制电路已经固定,而且公开透明,也就是所谓的开源,可以在其上设计自己的CPU。


对CPU的认识
MMX是Intel公司在1996年为 增强奔腾 CPU在音像、图形和通信应用方面而采取的新技术,为CPU增加了57条MMX指令,除了指令集中增加MMX指令外,还将CPU芯片内的L1缓存由原来的 16KB增加到32KB(16K指命+16K数据),因此MMX CPU比普通CPU在运行含有MMX指令的程序时,处理多媒体的能力上提高了60%左右。MMX技术不但是一个创新...

介绍一下CPU的历史
它的运算模式除了具有实模式和保护模式以外,还增加了一种“虚拟86”的工作方式,可以通过同时模拟多个8086微处理器来提供多任务能力。 80386DX有比80286更多的指令,频率为12.5MHz的80386每秒钟可执行6百万条指令,比频率为16MHz的80286快2.2倍。80386最经典的产品为80386DX-33MHz,一般我们说的80386就是指它。 由于32...

计算机硬件系统—CPU(运算器和控制器)(一)
从内存中取出一条指令到指令寄存器IR,然后又指令译码器ID对指令进行分析,之后操作控制器根据指令的功能向有关部件发出控制命令,执行控制指令的操作。完成操作之后,程序计数器加1,再重复执行上述操作。运算器和控制器,共同组成计算机最核心的部件— CPU ,即 中央处理器(Control Processing Unit) 。

试述指令周期 CPU周期和时钟周期之间的关系?
相互关系如下:指令周期是取出并执行一条指令的时间,指令周期常常有若干个CPU周期(也叫机器周期),CPU周期一般由12个时钟周期组成(时钟周期通常由晶振决定)。也就是说指令周期的通常大于cpu周期,指令周期的长短与执行的指令有关,有的指令需要花费更多的CPU周期。1、时钟周期 时钟周期也称为振荡周期,...

请介绍一下现在的电脑CPU针脚
CPU的主频不代表CPU的速度,但提高主频对于提高CPU运算速度却是至关重要的。举个例子来说,假设某个CPU在一个时钟周期内执行一条运算指令,那么当CPU运行在100MHz主频时,将比它运行在50MHz主频时速度快一倍。因为100MHz的时钟周期比50MHz的时钟周期占用时间减少了一半,也就是工作在100MHz主频的CPU执行一条运算指令所...

CPU计算1次,是什么意思
AMD64的位技术是在原始32位X86指令集的基础上加入了X86-64扩展64位X86指令集,使这款芯片在硬件上兼容原来的32位X86软件,并同时支持X86-64的扩展64位计算,使得这款芯片成为真正的64位X86芯片。这是一个真正的64位的标准,X86-64具有64位的寻址能力。X86-64新增的几组CPU寄存器将提供更快的执行...

试述缺页中断与一般中断的区别。
CPU在处理完中断后,如果不需要对CPU重新进行分配,那么就返回被中断进程的程序继续运行;如果需要进行CPU的重新分配,那么操作系统就会去调度新进程。由上面的讲述可以看出,缺页中断与一般中断的区别如下。(1)两种中断产生的时刻不同:缺页中断是在执行一条指令中间时产生的中断,并立即转去处理;而一般...

cpu 指令系统是什么
CPU指令系统是计算机硬件的语言系统,也叫机器语言。指令系统指机器所具有的全部指令的集合,它描述了计算机内全部的控制信息和“逻辑判断”能力。它是软件和硬件的主要界面,反映了计算机所拥有的基本功能。从系统结构的角度看,它是系统程序员看到的计算机的主要属性。因此指令系统表征了计算机的基本功能决定...

电脑中的CPU是什么意思?
CPU是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。计算机的性能在很大程度上由CPU的性能决定,而CPU的性能主要体现在其运行程序的速度上。影响运行速度的性能指标包括CPU的工作频率、Cache容量、指令系统和逻辑结构等参数。CPU主要包括...

什么是CPU
中央处理器(central processing unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。

路南区19589271702: 简述CPU执行一条指令的过程 -
徭肃和络: 计算机每执行一条指令都可分为三个阶段进行.即取指令-----分析指令-----执行指令. 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器. 分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行...

路南区19589271702: cpu的指令运行过程? -
徭肃和络: .对于现代 x86/x86-64 CPU:硬盘上的程序,读入到内存; 内存中正在使用的数据和指令缓存于 L2 缓存; L2 缓存中的指令排序后送入 L1 指令缓存; L1 指令缓存中的指令队列在 CISC 外围电路译码; 译码完毕得到的 RISC 指令微码送入 CPU 核心的 指令寄存器队列等候执行.所谓微码,就是控制电路中的高低电平信号.

路南区19589271702: 电脑cpu执行有几种方式 - cpu执行计算机指令时使用什么进行
徭肃和络: 1. cpu执行计算机指令时使用什么进行cpu执行指令的过程详解计算机每执行一条指令都可分为三个阶段进行.即取指令-----分析指令-----执行指令.取指令的任务是:根据...

路南区19589271702: cpu执行一条命令的过程分? -
徭肃和络: CPU的工作原理其实很简单,它的内部元件主要包括:控制单元,逻辑单元,存储单元三大部分.指令由控制单元分配到逻辑运算单元,经过加工处理后,再送到存储单元里等待应用程序的使用

路南区19589271702: CPU运行程序的过程,也就是CPU高速执行指令的过程 -
徭肃和络: 有两种说法,分别是针对intel和AMD的. AMD的工作方式:假定数据先存在硬盘里,CPU要处理该数据就要先发指令到北桥芯片,通过南桥芯片提供的数据通道将数据从硬盘转存到内存里,cpu在将内存里的数据调入cpu的缓存通过cpu自带的...

路南区19589271702: 简要说明计算机执行一条指令的基本操作. -
徭肃和络: 通常一条指令对应着一种基本操作.一个计算机能执行什么样的指令,有多少条指令,这是由设计人员在设计计算机时决定的.计算机所能直接执行的全部指令,就是计算机的指令系统. 以二进制编码表示的指令叫机器指令,它通常包括操作码...

路南区19589271702: 谁能介绍cpu的工作流程?????????????? -
徭肃和络: CPU的工作过程:指令指示器指向内存中存放指令的地方.取指器在那里取出指令,并把它交给解码器.解码器解释指令,并决定为完成该指令需要哪些步骤.(一条指令可以由许多按规定顺序完成的步骤组成.) 然后,ALU执行指令所要求...

路南区19589271702: 计算机执行一条指令的全过程是怎样的 -
徭肃和络: 计算机能执行的都是机器码 完成一条指令的功能可以分成两个主要阶段:取指和执行. 取指(Fetch)――从主存储器中取出指令代码进入CPU. 8086CPU中,指令在存储器中的地址由代码段寄存器CS和指令指针寄存器IP共同提供,再由地址...

路南区19589271702: cpu是怎么进行运算的 -
徭肃和络: 在了解cpu工作原理之前,我们先简单谈谈cpu是如何生产出来的.cpu是在特别纯净的硅材料上制造的.一个cpu芯片包含上百万个精巧的晶体管.人们在一块指甲盖大小的硅片上,用化学的方法蚀刻或光刻出晶体管.因此,从这个意义上说,...

路南区19589271702: 如何执行cpu 第一条指令 -
徭肃和络: CPU将执行cs:ip指定的第一条指令,看看前面的复位代码可知此时CS值为Selector = F000HBase = FFFF0000HLimit = FFFFHAR = Present, R/W,Accessed而EIP的值则为0000FFF0H.由于此时CPU工作在实模式,因而第一条指令地址CS:IP指...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网