cpu的工作原理?
2022-11-07 · 百度认证:IT168官方账号,优质数码领域创作者
晶体管有开和关两种状态,分别用1和0表示,多个晶体管能够产生多个1和0信号,这种信号被设定为特定的功能来处理这些字母和图形等。
在加电后,芯片会产生一个启动指令,之后芯片就会开始启动,接着就会不断的被接受新的数据和指令来不断完成。
芯片是一种集成电路,由大量的晶体管构成。不同的芯片有不同的集成规模,大到几亿;小到几十、几百个晶体管。晶体管有两种状态,开和关,用1、0来表示。
CPU的工作原理就是:
1、取指令:CPU的控制器从内存读取一条指令并放入指令寄存器。指令的格式一般是这个样子滴:操作码就是汇编语言里的mov,add,jmp等符号码;操作数地址说明该指令需要的操作数所在的地方,是在内存里还是在CPU的内部寄存器里。
2、指令译码(解码):指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址)。
3、执行指令(写回),以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。
4、 修改指令计数器,决定下一条指令的地址。
扩展资料
CPU主要功能:
1、处理指令
英文Processing instructions;这是指控制程序中指令的执行顺序。程序中的各指令之间是有严格顺序的,必须严格按程序规定的顺序执行,才能保证计算机系统工作的正确性。
2、执行操作
英文Perform an action;一条指令的功能往往是由计算机中的部件执行一系列的操作来实现的。CPU要根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这些部件按指令的要求进行动作。
3、控制时间
英文Control time;时间控制就是对各种操作实施时间上的定时。在一条指令的执行过程中,在什么时间做什么操作均应受到严格的控制。只有这样,计算机才能有条不紊地工作。
4、处理数据
即对数据进行算术运算和逻辑运算,或进行其他的信息处理。
其功能主要是解释计算机指令以及处理计算机软件中的数据, 并执行指令。在微型计算机中又称微处理器,计算机的所有操作都受CPU控制,CPU的性能指标直接决定了微机系统的性能指标。
CPU具有以下4个方面的基本功能:数据通信,资源共享,分布式处理,提供系统可靠性。运作原理可基本分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。
1971年。世界上第一块微处理器4004在Intel公司诞生了。它出现的意义是划时代的,比起以前的CPU,4004显得很可怜,它只有2300个晶体管,功能相当有限,而且速度还很慢。
进入新世纪以来,CPU进入了更高速发展的时代,以往可望而不可及的1Ghz大关被轻松突破了,在市场分布方面,仍然是Intel跟AMD公司在 两雄争霸,它们分别推出了Pentium4、Tualatin核心Pentium III和Celeron,Tunderbird核心Athlon、AthlonXP和Duron等处理器,竞争日益激烈。
参考资料来源:百度百科--CPU
在了解CPU工作原理之前,我们先简单谈谈CPU是如何生产出来的。CPU是在特别纯净的硅材料上制造的。一个CPU芯片包含上百万个精巧的晶体管。人们在一块指甲盖大小的硅片上,用化学的方法蚀刻或光刻出晶体管。因此,从这个意义上说,CPU正是由晶体管组合而成的。简单而言,晶体管就是微型电子开关,它们是构建CPU的基石,你可以把一个晶体管当作一个电灯开关,它们有个操作位,分别代表两种状态:ON(开)和OFF(关)。这一开一关就相当于晶体管的连通与断开,而这两种状态正好与二进制中的基础状态“0”和“1”对应!这样,计算机就具备了处理信息的能力。
但你不要以为,只有简单的“0”和“1”两种状态的晶体管的原理很简单,其实它们的发展是经过科学家们多年的辛苦研究得来的。在晶体管之前,计算机依靠速度缓慢、低效率的真空电子管和机械开关来处理信息。后来,科研人员把两个晶体管放置到一个硅晶体中,这样便创作出第一个集成电路,再后来才有了微处理器。
看到这里,你一定想知道,晶体管是如何利用“0”和“1”这两种电子信号来执行指令和处理数据的呢?其实,所有电子设备都有自己的电路和开关,电子在电路中流动或断开,完全由开关来控制,如果你将开关设置为OFF,电子将停止流动,如果你再将其设置为ON,电子又会继续流动。晶体管的这种ON与OFF的切换只由电子信号控制,我们可以将晶体管称之为二进制设备。这样,晶体管的ON状态用“1”来表示,而OFF状态则用“0”来表示,就可以组成最简单的二进制数。众多晶体管产生的多个“1”与“0”的特殊次序和模式能代表不同的情况,将其定义为字母、数字、颜色和图形。举个例子,十进位中的1在二进位模式时也是“1”,2在二进位模式时是“10”,3是“11”,4是“100”,5是“101”,6是“110”等等,依此类推,这就组成了计算机工作采用的二进制语言和数据。成组的晶体管联合起来可以存储数值,也可以进行逻辑运算和数字运算。加上石英时钟的控制,晶体管组就像一部复杂的机器那样同步地执行它们的功能。
CPU的内部结构
现在我们已经大概知道CPU是负责些什么事情,但是具体由哪些部件负责处理数据和执行程序呢?
1.算术逻辑单元ALU(Arithmetic Logic Unit)
ALU是运算器的核心。它是以全加器为基础,辅之以移位寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下可完成加、减、乘、除四则运算和各种逻辑运算。就像刚才提到的,这里就相当于工厂中的生产线,负责运算数据。
2.寄存器组 RS(Register Set或Registers)
RS实质上是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据。而通用寄存器用途广泛并可由程序员规定其用途。通用寄存器的数目因微处理器而异。
3.控制单元(Control Unit)
正如工厂的物流分配部门,控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器0C(Operation Controller)三个部件组成,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。
4.总线(Bus)
就像工厂中各部位之间的联系渠道,总线实际上是一组导线,是各种公共信号线的集合,用于作为电脑中所有各组成部分传输信息共同使用的“公路”。直接和CPU相连的总线可称为局部总线。其中包括: 数据总线DB(Data Bus)、地址总线AB(Address Bus) 、控制总线CB(Control Bus)。其中,数据总线用来传输数据信息;地址总线用于传送CPU发出的地址信息;控制总线用来传送控制信号、时序信号和状态信息等。
CPU的工作流程
由晶体管组成的CPU是作为处理数据和执行程序的核心,其英文全称是:Central Processing Unit,即中央处理器。首先,CPU的内部结构可以分为控制单元,逻辑运算单元和存储单元(包括内部总线及缓冲器)三大部分。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料(程序指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中,我们注意到从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作的结束。
数据与指令在CPU中的运行
刚才已经为大家介绍了CPU的部件及基本原理情况,现在,我们来看看数据是怎样在CPU中运行的。我们知道,数据从输入设备流经内存,等待CPU的处理,这些将要处理的信息是按字节存储的,也就是以8位二进制数或8比特为1个单元存储,这些信息可以是数据或指令。数据可以是二进制表示的字符、数字或颜色等等。而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。
我们假设在内存中的数据是最简单的原始数据。首先,指令指针(Instruction Pointer)会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算,告诉指令读取器什么时候获取数值,告诉指令译码器什么时候翻译指令等等。
假如数据被送往算术逻辑单元,数据将会执行指令中规定的算术运算和其他各种运算。当数据处理完毕后,将回到寄存器中,通过不同的指令将数据继续运行或者通过DB总线送到数据缓存器中。
基本上,CPU就是这样去执行读出数据、处理数据和往内存写数据3项基本工作。但在通常情况下,一条指令可以包含按明确顺序执行的许多操作,CPU的工作就是执行这些指令,完成一条指令后,CPU的控制单元又将告诉指令读取器从内存中读取下一条指令来执行。这个过程不断快速地重复,快速地执行一条又一条指令,产生你在显示器上所看到的结果。我们很容易想到,在处理这么多指令和数据的同时,由于数据转移时差和CPU处理时差,肯定会出现混乱处理的情况。为了保证每个操作准时发生,CPU需要一个时钟,时钟控制着CPU所执行的每一个动作。时钟就像一个节拍器,它不停地发出脉冲,决定CPU的步调和处理时间,这就是我们所熟悉的CPU的标称速度,也称为主频。主频数值越高,表明CPU的工作速度越快。
如何提高CPU工作效率
既然CPU的主要工作是执行指令和处理数据,那么工作效率将成为CPU的最主要内容,因此,各CPU厂商也尽力使CPU处理数据的速度更快。
根据CPU的内部运算结构,一些制造厂商在CPU内增加了另一个算术逻辑单元(ALU),或者是另外再设置一个处理非常大和非常小的数据浮点运算单元(Floating Point Unit,FPU),这样就大大加快了数据运算的速度。
而在执行效率方面,一些厂商通过流水线方式或以几乎并行工作的方式执行指令的方法来提高指令的执行速度。刚才我们提到,指令的执行需要许多独立的操作,诸如取指令和译码等。最初CPU在执行下一条指令之前必须全部执行完上一条指令,而现在则由分布式的电路各自执行操作。也就是说,当这部分的电路完成了一件工作后,第二件工作立即占据了该电路,这样就大大增加了执行方面的效率。
另外,为了让指令与指令之间的连接更加准确,现在的CPU通常会采用多种预测方式来控制指令更高效率地执行。
资料来自硅谷动力
CPU从内存中接收数据和指令,并处理这些指令,将处理结果再送回内存中结果可以显示和储存起来,周而复始,一直这样执行下去,天荒地老,海枯枝烂,直到停电。CPU内部的工作过程为:控制器-运算器-累加器-储存器-寄存器-累加器。
工作原理具体为:
1、取指令:CPU的控制器从内存读取一条指令并放入指令寄存器。指令的格式一般是这个样子滴:
操作码就是汇编语言里的mov,add,jmp等符号码;操作数地址说明该指令需要的操作数所在的地方,是在内存里还是在CPU的内部寄存器里。
2、指令译码:指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址)。
3、 执行指令,分两个阶段“取操作数”和“进行运算”。
4、 修改指令计数器,决定下一条指令的地址。
拓展资料:
中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。
资料来源:百度百科-CPU
在了解CPU工作原理之前,我们先简单谈谈CPU是如何生产出来的。CPU是在特别纯净的硅材料上制造的。一个CPU芯片包含上百万个精巧的晶体管。人们在一块指甲盖大小的硅片上,用化学的方法蚀刻或光刻出晶体管。因此,从这个意义上说,CPU正是由晶体管组合而成的。简单而言,晶体管就是微型电子开关,它们是构建CPU的基石,你可以把一个晶体管当作一个电灯开关,它们有个操作位,分别代表两种状态:ON(开)和OFF(关)。这一开一关就相当于晶体管的连通与断开,而这两种状态正好与二进制中的基础状态“0”和“1”对应!这样,计算机就具备了处理信息的能力。
但你不要以为,只有简单的“0”和“1”两种状态的晶体管的原理很简单,其实它们的发展是经过科学家们多年的辛苦研究得来的。在晶体管之前,计算机依靠速度缓慢、低效率的真空电子管和机械开关来处理信息。后来,科研人员把两个晶体管放置到一个硅晶体中,这样便创作出第一个集成电路,再后来才有了微处理器。
看到这里,你一定想知道,晶体管是如何利用“0”和“1”这两种电子信号来执行指令和处理数据的呢?其实,所有电子设备都有自己的电路和开关,电子在电路中流动或断开,完全由开关来控制,如果你将开关设置为OFF,电子将停止流动,如果你再将其设置为ON,电子又会继续流动。晶体管的这种ON与OFF的切换只由电子信号控制,我们可以将晶体管称之为二进制设备。这样,晶体管的ON状态用“1”来表示,而OFF状态则用“0”来表示,就可以组成最简单的二进制数。众多晶体管产生的多个“1”与“0”的特殊次序和模式能代表不同的情况,将其定义为字母、数字、颜色和图形。举个例子,十进位中的1在二进位模式时也是“1”,2在二进位模式时是“10”,3是“11”,4是“100”,5是“101”,6是“110”等等,依此类推,这就组成了计算机工作采用的二进制语言和数据。成组的晶体管联合起来可以存储数值,也可以进行逻辑运算和数字运算。加上石英时钟的控制,晶体管组就像一部复杂的机器那样同步地执行它们的功能。
CPU的内部结构
现在我们已经大概知道CPU是负责些什么事情,但是具体由哪些部件负责处理数据和执行程序呢?
1.算术逻辑单元ALU(Arithmetic Logic Unit)
ALU是运算器的核心。它是以全加器为基础,辅之以移位寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下可完成加、减、乘、除四则运算和各种逻辑运算。就像刚才提到的,这里就相当于工厂中的生产线,负责运算数据。
2.寄存器组 RS(Register Set或Registers)
RS实质上是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据。而通用寄存器用途广泛并可由程序员规定其用途。通用寄存器的数目因微处理器而异。
3.控制单元(Control Unit)
正如工厂的物流分配部门,控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器0C(Operation Controller)三个部件组成,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。
4.总线(Bus)
就像工厂中各部位之间的联系渠道,总线实际上是一组导线,是各种公共信号线的集合,用于作为电脑中所有各组成部分传输信息共同使用的“公路”。直接和CPU相连的总线可称为局部总线。其中包括: 数据总线DB(Data Bus)、地址总线AB(Address Bus) 、控制总线CB(Control Bus)。其中,数据总线用来传输数据信息;地址总线用于传送CPU发出的地址信息;控制总线用来传送控制信号、时序信号和状态信息等。
CPU的工作流程
由晶体管组成的CPU是作为处理数据和执行程序的核心,其英文全称是:Central Processing Unit,即中央处理器。首先,CPU的内部结构可以分为控制单元,逻辑运算单元和存储单元(包括内部总线及缓冲器)三大部分。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料(程序指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中,我们注意到从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作的结束。
数据与指令在CPU中的运行
刚才已经为大家介绍了CPU的部件及基本原理情况,现在,我们来看看数据是怎样在CPU中运行的。我们知道,数据从输入设备流经内存,等待CPU的处理,这些将要处理的信息是按字节存储的,也就是以8位二进制数或8比特为1个单元存储,这些信息可以是数据或指令。数据可以是二进制表示的字符、数字或颜色等等。而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。
我们假设在内存中的数据是最简单的原始数据。首先,指令指针(Instruction Pointer)会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算,告诉指令读取器什么时候获取数值,告诉指令译码器什么时候翻译指令等等。
假如数据被送往算术逻辑单元,数据将会执行指令中规定的算术运算和其他各种运算。当数据处理完毕后,将回到寄存器中,通过不同的指令将数据继续运行或者通过DB总线送到数据缓存器中。
基本上,CPU就是这样去执行读出数据、处理数据和往内存写数据3项基本工作。但在通常情况下,一条指令可以包含按明确顺序执行的许多操作,CPU的工作就是执行这些指令,完成一条指令后,CPU的控制单元又将告诉指令读取器从内存中读取下一条指令来执行。这个过程不断快速地重复,快速地执行一条又一条指令,产生你在显示器上所看到的结果。我们很容易想到,在处理这么多指令和数据的同时,由于数据转移时差和CPU处理时差,肯定会出现混乱处理的情况。为了保证每个操作准时发生,CPU需要一个时钟,时钟控制着CPU所执行的每一个动作。时钟就像一个节拍器,它不停地发出脉冲,决定CPU的步调和处理时间,这就是我们所熟悉的CPU的标称速度,也称为主频。主频数值越高,表明CPU的工作速度越快。
如何提高CPU工作效率
既然CPU的主要工作是执行指令和处理数据,那么工作效率将成为CPU的最主要内容,因此,各CPU厂商也尽力使CPU处理数据的速度更快。
根据CPU的内部运算结构,一些制造厂商在CPU内增加了另一个算术逻辑单元(ALU),或者是另外再设置一个处理非常大和非常小的数据浮点运算单元(Floating Point Unit,FPU),这样就大大加快了数据运算的速度。
而在执行效率方面,一些厂商通过流水线方式或以几乎并行工作的方式执行指令的方法来提高指令的执行速度。刚才我们提到,指令的执行需要许多独立的操作,诸如取指令和译码等。最初CPU在执行下一条指令之前必须全部执行完上一条指令,而现在则由分布式的电路各自执行操作。也就是说,当这部分的电路完成了一件工作后,第二件工作立即占据了该电路,这样就大大增加了执行方面的效率。
另外,为了让指令与指令之间的连接更加准确,现在的CPU通常会采用多种预测方式来控制指令更高效率地执行。