cpu即中央处理器,是计算机的运算核心和控制核心。cpu中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。cpu主要由运算器、控制器、寄存器三部分组成,运算器从字面意思看就是起着运算的作用,控制器就是负责发出cpu每条指令所需要的信息,寄存器就是保存运算或者指令的一些临时文件,这样可以保证更高的速度。
cpu的主要功能作用
1、处理指令
英文Processing instrucTIons,这是指控制程序中指令的执行顺序。程序中的各指令之间是有严格顺序的,必须严格按程序规定的顺序执行,才能保证计算机系统工作的正确性。
2、执行操作
英文Perform an acTIon,一条指令的功能往往是由计算机中的部件执行一系列的操作来实现的。CPU要根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这些部件按指令的要求进行动作。
3、控制时间
英文Control TIme,时间控制就是对各种操作实施时间上的定时。在一条指令的执行过程中,在什么时间做什么操作均应受到严格的控制。只有这样,计算机才能有条不紊地工作。
4、处理数据
即对数据进行算术运算和逻辑运算,或进行其他的信息处理。其功能主要是解释计算机指令以及处理计算机软件中的数据, 并执行指令。
cpu的作用
cpu的内部结构可分为控制单元,逻辑单元和存储单元三大部分。cpu的工作原理就象一个工厂对产品的加工过程:进入工厂的原料(指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元)。
生产出成品(处理后的数据)后,再存储在仓库(存储器)中,最后等着拿到市场上去卖(交由应用程序使用)。cpu作为是整个微机系统的核心,它往往是各种档次微机的代名词,如往日的286、386、486,到如今的奔腾、奔腾四、K6等等,cpu的性能大致上也就反映出了它所配置的那部微机的性能,因此它的性能指标十分重要。
cpu的工作过程
CPU的基本工作是执行存储的指令序列,即程序。程序的执行过程实际上是不断地取出指令、分析指令、执行指令的过程。
CPU从存放程序的主存储器里取出一条指令,译码并执行这条指令,保存执行结果,紧接着又去取指令,译码,执行指令…,如此周而复始,反复循环,使得计算机能够自动地工作。除非遇到停机指令,否则这个循环将一直进行下去。其过程如图3-3所示
几乎所有的冯•诺伊曼型计算机的CPU,其工作都可以分为5个阶段:取指令、指令译码、执行指令、访存取数和结果写回。如图3-4所示。
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可以同时取出、译码和执行多条指令,体现出并行处理的特性。
指令周期的基本概念
(1)指令周期
CPU取出一条指令并执行该指令所需的时间称为指令周期。
指令周期的长短与指令的复杂程度有关。
(2)CPU周期
指令周期常常用若干个CPU周期数来表示。
由于CPU内部的操作速度较快,而CPU访问一次主存所花的时间较长,因此通常用从主存读取一条指令的最短时间来规定CPU周期。
CPU周期也称为机器周期。
(3)时钟周期
一个CPU周期包含有若干个时钟周期。
时钟周期是处理操作的最基本时间单位,由机器的主频决定。
一个CPU周期的时间宽度由若干个时钟周期的总和决定。
图3-5为采用定长CPU周期的指令周期示意图。
(4)取出和执行任何一条指令所需的最短时间为两个CPU周期。
任何一条指令,它的指令周期至少需要两个CPU周期,而复杂指令的指令周期则需要更多的CPU周期。这是因为,一条指令的取出阶段需要一个CPU周期时间,而一条指令的执行阶段则需要至少一个CPU周期时间。由于不同复杂度指令的执行周期所需的CPU周期数不尽相等,因此,各种指令的指令周期也是不尽相同的。
用指令流程图表示指令周期
在进行计算机设计时,可以像画程序流程图那样,采用指令流程图来表示一条指令的指令周期。
在指令流程图中,
方框:代表一个操作步骤,方框中的内容表示数据通路的操作或某种控制操作。
菱形框:通常用来表示某种判别或测试,其动作依附于它前面的一个方框。
公操作符号“~”:表示一条指令已经执行完毕,转入公操作。所谓公操作,就是一条指令执行完毕后,CPU所开始进行的一些操作,这些操作主要是CPU对外设请求的处理。如果外设没有向CPU请求交换数据,那么CPU又转向主存取下一条指令。
时序信号
在计算机高速运行的过程中,计算机内各部件的每一个动作都必须严格遵守时间规定,不能有任何差错。
计算机内各部件的协调动作需要时间标志,而时间标志则是用时序信号来体现的。
计算机各部分工作所需的时序信号,在CPU中统一由时序发生器来产生。
时序发生器
CPU中的时序信号发生器,其功能是用逻辑电路来发出时序信号,实现时序控制,使计算机可以准确、迅速、有条不紊地工作。
时序信号发生器是产生指令周期控制时序信号的部件,当CPU开始取指令并执行指令时,操作控制器利用时序信号发生器产生的定时脉冲的顺序和不同的脉冲间隔,提供计算机各部分工作时所需的各种微操作定时控制信号,有条理、有节奏地指挥机器各个部件按规定时间动作。
从操作控制器设计方法而言,组合逻辑控制器的时序电路比较复杂,而微程序控制器的时序电路则比较简单。
控制方式
控制器控制一条指令运行的过程是依次执行一个确定的操作序列的过程。
为了使机器能够正确执行指令,控制器必须能够按正确的时序产生操作控制信号。
控制不同操作序列的时序信号的方法,称为控制器的控制方式。
控制方式通常分为三种:同步控制方式、异步控制方式、联合控制方式,其实质反映了时序信号的定时方式。
1、同步控制方式
同步控制方式是指操作序列中每一步操作的执行,都由确定的具有基准时标的时序信号来控制,其特点是系统有一个统一的时钟,所有的控制信号均来自这个统一的时钟信号。
在同步控制方式中,在任何情况下,给定的指令在执行时所需的CPU周期数和时钟周期数都是固定不变的。
同步控制方式有时又称为固定时序控制方式或无应答控制方式。
根据不同情况,同步控制方式可选取以下几种方案:
采用完全统一的机器周期执行各种不同的指令。显然,对简单指令和简单的操作而言,这将造成时间上的浪费。
采用不定长机器周期。将大多数操作安排在一个较短的机器周期内完成,而对于某些时间紧张的操作,则采取延长机器周期的办法来加以解决。
中央控制与局部控制结合。将大部分指令安排在固定的机器周期完成(称为中央控制),而对于少数复杂指令(乘、除、浮点运算)则采用另外的时序进行定时(称为局部控制)。
同步控制方式设计简单,操作控制容易实现。
2.异步控制方式
异步控制方式是一种按每条指令、每个操作的实际需要而占用时间的控制方式,不同指令所占用的时间完全根据需要来决定。
在异步控制方式中,每条指令的指令周期既可由数量不等的机器周期数组成,也可由执行部件完成CPU要求的操作后发回控制器的应答信号来决定。也就是说,CPU访问的每个操作控制信号的时间由其需要占用的时间来决定,每条指令、每个操作控制信号需要多少时间就占用多少时间。
显然,用这种方式形成的操作控制序列没有固定的CPU周期数和严格的时钟周期与之同步,所以称为异步方式。
异步控制方式有时又称为可变时序控制方式或应答控制方式。
在异步控制方式下,指令的运行效率高,但控制线路的硬件实现比较复杂。
异步控制方式在计算机中得到了广泛的应用。例如CPU对主存的读写、I/O设备与主存的数据交换等一般都采用异步控制方式,以保证执行时的高速度。
3.联合控制方式
现代计算机系统中一般采用的方式是同步控制和异步控制相结合的方式,即联合控制方式。
联合控制方式的设计思想是:在功能部件内部采用同步控制方式,而在功能部件之间采用异步控制方式,并且在硬件实现允许的情况下,尽可能多地采用异步控制方式。
联合控制方式通常选取以下两种方案:
大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的应答信号作为本次操作的结束;
机器周期的时钟周期数固定,但是各条指令周期的机器周期数不固定。