中央处理器(很重要)
运作原理:差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。 CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。所谓的计算机的可编程性主要是指对CPU的编程。
CPU的功能
计算机求解问题是通过执行程序来实现的。程序是由指令构成的序列,执行程序就是按指令序列逐条执行指令。一旦把程序装入主存储器(简称主存)中,就可以有CPU自动地完成从主存取指令和执行指令的任务。
CPU具有以下4个方面的基本功能:
1. 指令顺序控制
这是指控制程序中指令的执行顺序。程序中的各指令之间是有严格顺序的,必须严格按程序规定的顺序执行,才能保证计算机工作的正确性。
2. 操作控制
一条指令的功能往往是由计算机中的部件执行一序列的操作来实现的。CPU要根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这些部件按指令的要求进行动作。
3. 时间控制
时间控制就是对各种操作实施时间上的定时。在一条指令的执行过程中,在什么时间做什么操作均应受到严格的控制。只有这样,计算机才能有条不紊地自动工作。
4. 数据加工
即对数据进行算术运算和逻辑运算,或进行其他的信息处理。
工作原理
指令是
计算机规定执行操作的类型和
操作数的基本命令。指令是由一个
字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数
地址的字段以及一些表征机器状态的状态字以及
特征码。有的指令中也直接包含操作数本身。
提取
第一阶段,提取,从
存储器或高速缓冲存储器中检索指令(为
数值或一系列数值)。由程序
计数器(Program Counter)指定存储器的位置,程序计数器保存供识别目前程序位置的数值。换言之,程序计数器记录了CPU在目前程序里的踪迹。
提取指令之后,程序计数器根据指令长度增加存储器单元。指令的提取必须常常从相对较慢的存储器寻找,因此导致CPU等候指令的送入。这个问题主要被论及在现代
处理器的快取和管线化架构。
解码
CPU根据存储器提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片断。根据CPU的
指令集架构(ISA)定义将数值解译为指令。
一部分的指令数值为运算码(Opcode),其指示要进行哪些运算。其它的数值通常供给指令必要的信息,诸如一个
加法(Addition)运算的运算目标。这样的运算目标也许提供一个常数值(即立即值),或是一个空间的定址值:暂存器或存储器位址,以定址模式决定。
在旧的设计中,CPU里的
指令解码部分是无法改变的硬件设备。不过在众多抽象且复杂的CPU和指令集架构中,一个微程序时常用来帮助转换指令为各种形态的
讯号。这些微程序在已成品的CPU中往往可以重写,方便变更解码指令。
执行
在提取和解码阶段之后,接着进入执行阶段。该阶段中,连接到各种能够进行所需运算的CPU部件。
例如,要求一个加法运算,
算术逻辑单元(ALU,Arithmetic Logic Unit)将会连接到一组输入和一组输出。输入提供了要相加的数值,而输出将含有总和的结果。ALU内含
电路系统,易于输出端完成简单的普通运算和
逻辑运算(比如加法和位元运算)。如果加法运算产生一个对该CPU处理而言过大的结果,在标志暂存器里,运算
溢出(Arithmetic Overflow)标志可能会被设置。
写回
最终阶段,写回,以一定
格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。在其它案例中,运算结果可能写进速度较慢,但
容量较大且较便宜的主记忆体中。某些类型的指令会操作程序计数器,而不直接产生结果。这些一般称作“跳转”(Jumps),并在程式中带来循环行为、条件性执行(透过条件跳转)和函式。
许多指令会改变标志暂存器的状态位元。这些标志可用来影响程式行为,缘由于它们时常显出各种运算结果。
例如,以一个“比较”指令判断两个值大小,根据比较结果在标志暂存器上设置一个数值。这个标志可藉由随后跳转指令来决定程式动向。
在执行指令并写回结果之后,程序计数器值会递增,反覆整个过程,下一个
指令周期正常的提取下一个顺序指令。如果完成的是跳转指令,程序计数器将会修改成跳转到的指令位址,且程序继续正常执行。许多复杂的CPU可以一次提取多个指令、解码,并且同时执行。这个部分一般涉及“经典RISC管线”,那些实际上是在众多使用简单CPU的电子装置中快速普及(常称为微控制(Microcontrollers))。
编辑本段基本结构
CPU包括运算逻辑部件、
寄存器部件和控制部件等。
运算逻辑部件
运算逻辑部件,可以执行定点或
浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。
寄存器部件
专用寄存器是为了执行一些特殊操作所需用的寄存器。
控制寄存器通常用来指示机器执行的状态,或者保持某些指针,有处理状态寄存器、地址转换目录的基
地址寄存器、特权状态寄存器、条件码寄存器、处理异常事故寄存器以及检错寄存器等。
控制部件
控制部件,主要负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制
信号。
其结构有两种:一种是以微存储为核心的
微程序控制方式;一种是以逻辑硬布线结构为主的控制方式。
微存储中保持微码,每一个微码对应于一个最基本的微操作,又称
微指令;各条指令是由不同序列的微码组成,这种微码序列构成微程序。中央处理器在对指令
译码以后,即发出一定时序的控制信号,按给定序列的顺序以微
周期为节拍执行由这些微码确定的若干个微操作,即可完成某条指令的执行。
简单指令是由(3~5)个微操作组成,复杂指令则要由几十个微操作甚至几百个微操作组成。