计算机组成原理第五章中央处理器5.1CPU的组成和功能5.8流水CPU5.2指令周期5.9RISCCPU5.3时序产生器和控制方式5.10多媒体CPU5.4微程序控制器5.11CPU性能评价5.5微程序设计技术5.6硬布线控制器5.7传统CPU5.1CPU的功能和组成当代主流计算机所遵循的仍然是冯.诺依曼的“存储程序、程序控制”思想程序告诉计算机:应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何处等中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU(CentralProcessingUnit)5.1.1CPU的功能★指令控制★操作控制CPU产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作★时间控制对各种操作的实施时间进行定时★数据加工对数据进行算术运算和逻辑运算处理5.1.2CPU的基本组成•控制器完成对整个计算机系统操作的协调与指挥。(1)控制机器从内存中取出一条指令,并指出下一条指令在内存中的位置;(2)对指令进行译码,并产生相应的操作控制信号,送往相应的部件,启动规定的动作;(3)指挥并控制CPU、内存与输入/输出(I/O)设备之间数据流动的方向•运算器是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥(1)(2)执行所有的逻辑运算,并进行逻辑测试算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC存储器I/OCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制ccccc缓冲寄存器DRCPU的基本模型5.1.3CPU中的主要寄存器1.数据缓冲寄存器(DR)暂时存放由内存读出或写入的指令或数据字2.指令寄存器(IR)保存当前正在执行的一条指令3.程序计数器(PC)确定下一条指令的地址4.地址寄存器(AR)保存当前CPU所访问的内存单元的地址5.累加寄存器(AC)最常使用的一个通用寄存器6.状态条件寄存器(PSW)保存由算术和逻辑指令的结果建立的各种条件码5.1.4操作控制器与时序产生器•操作控制器在各寄存器之间建立数据通路(传送信息的通路)•操作控制器的功能:就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制1.硬布线控制器2.微程序控制器•时序产生器产生并发出计算机所需要的时序控制信号5.2指令周期—读取指令指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器—分析指令—按指令规定内容执行指令不同指令的操作步骤数和具体操作内容差异很大—检查有无中断请求若无,则转入下一条指令的执行过程形成下一条指令地址•指令的执行过程取指令执行指令5.2.1指令周期的基本概念指令周期:CPU从内存取出一条指令并执行完这条指令的时间总和CPU周期:又称机器周期(总线周期),CPU访问内存所花的时间较长,因此用CPU从内存读取一条指令字的所需的最短时间来定义时钟周期:通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期T相互关系:1个指令周期=若干个CPU周期1个CPU周期=若干T周期取指时间+执行指令时间指令周期·CPU周期·时钟周期020CLA;累加器清0021ADD30;(AC)+(30)→AC022STA40;(AC)→(40)023NOP;空操作024JMP21;21→PC…030000006;数据…040存和数;数据5条典型指令构成的简单程序一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码执行指令取下条指令PC+15.2.2CLA指令的指令周期取出CLA指令算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021000000执行CLA指令5.2.3ADD指令的指令周期一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码送操作数地址取下条指令PC+1取出操作数执行加操作一个CPU周期算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006取出并执行ADD指令5.2.4STA指令的指令周期算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006取出并执行STA指令5.2.5NOP指令和JMP指令的指令周期算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000006000025000021取出并执行JMP指令5.3时序产生器和控制方式用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢?从时间上来说:取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段。从空间上来说:如果取出的代码是指令,那么一定经DR送往指令寄存器IR,如果取出的代码是数据,那么一定送往运算器。时间控制对计算机来说是非常重要的![思考]5.3.1时序信号的作用和体制计算机的协调动作需要时间标志,而且需要采用多级时序体制。而时间标志则用时序信号来体现。硬布线控制器中,时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。•主状态周期(指令周期):包含若干个节拍周期,可以用一个触发器的状态持续时间来表示•节拍电位(机器周期):表示一个CPU周期的时间,包含若干个节拍脉冲•节拍脉冲(时钟周期):表示较小的时间单位微程序控制器中,时序信号则一般采用节拍电位-节拍脉冲二级体制。节拍脉冲节拍电位1主状态周期节拍电位2主状态周期-节拍电位-节拍脉冲数据准备好后,以电位的方式送触发器控制信号来到后,用一个脉冲信号把数据装入触发器数据:电位控制信号:脉冲节拍电位-节拍脉冲IORQMREQRDWET1T2T3T4IORQ°MREQ°RD°WE°T1°T2°T3°T4°MERQ’IORQ’RD’WR’Φ提供频率稳定且电平匹配的方波时钟脉冲信号由石英晶体振荡器组成产生一组有序的间隔相等或不等的脉冲序列启动停机5.3.2时序信号产生器启停控制逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器时钟脉冲源时序产生器(1/4)一、概念1、时序部件:计算机的机内时钟。它用其产生的周期状态,节拍电位及时标脉冲去对指令周期进行时间划分,刻度和标定。2、指令周期:在计算机中从指令的读取到指令的执行完成,执行一条指令所需要的时间,称为指令周期。指令周期通常由若干个CPU周期来表示,CPU周期也称为机器周期。由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,通常用存储周期为基础来规定CPU周期。时序产生器(2/4)二、3级时序信号1、周期(1)在一个控制阶段内均持续起作用的信号;(2)通常用周期状态寄存器来标志和指明某某周期控制;(3)指令周期可分为取指周期、分析周期、执行周期。2、节拍(1)把一个机器周期分成若干个相等的时间段,每一个时间段对应一个电位信号,称节拍电位;(2)一般都以能保证ALU进行一次运算操作作为一拍电位的时间宽度。3、时标工作脉冲(1)及时改变标志状态;(2)时标脉冲的宽度一般为节拍电位宽度的1/N,只要能保证所有的触发器都能可靠地,稳定地翻转即可。时序产生器(3/4)三、3级时序信号的关系1、一台计算机机内的控制信号一般均由若干个周期状态,若干个节拍电位及若干个时标脉冲这样3级控制时序信号定时完成。2、3级控制时序信号的宽度均成正整数倍同步关系。周期状态之间,节拍电位之间,时标脉冲之间既不容许有重叠交叉,又不容许有空白间隙,应该是能一个接一个地准确连接,一个降落另一个升起而准确切换的同步信号。时序产生器(4/4)图6-7三级时序系统时标脉冲节拍周期CPU的控制方式(1/4)•控制器的控制方式:形成控制不同微操作序列的时序控制信号的方法。•控制方式的分类:–同步控制方式–异步控制方式–同异步联合控制方式CPU的控制方式(2/4)一、同步控制方式1、含义:又称为固定时序控制方式或无应答控制方式。任何指令的执行或指令中每个微操作的执行都受事先安排好的时序信号的控制。2、每个周期状态中产生统一数目的节拍电位及时标工作脉冲。3、以最复杂指令的实现需要为基准。4、优点:设计简单,操作控制容易实现。缺点:效率低。CPU的控制方式(3/4)二、异步控制方式1、含义:可变时序控制方式或应答控制方式。执行一条指令需要多少节拍,不作统一的规定,而是根据每条指令的具体情况而定,需要多少,控制器就产生多少时标信号。2、特点:每一条指令执行完毕后都必须向控制时序部件发回一个回答信号,控制器收到回答信号后,才开始下一条指令的执行。3、优点:指令的运行效率高;缺点:控制线路比较复杂。4、异步工作方式一般采用两条定时控制线来实现。我们把这两条线称为“请求”线和“回答”线。当系统中两个部件A和B进行数据交换时,若A发出“请求”信号,则必须有B的“回答”信号进行应答,这次操作才是有效的,否则无效。CPU的控制方式(4/4)三、同步,异步联合控制方式1、含义:同步控制和异步控制相结合的方式即联合控制方式,区别对待不同指令。2、一般的设计思想是,在功能部件内部采用同步式,而在功能部件之间采用异步式,并且在硬件实现允许的情况下,尽可能多地采用异步控制。5.3.3控制方式控制不同操作序列时序信号的方法1.同步控制方式已定的指令在执行时所需的CPU周期(机器周期)数和时钟周期数都固定不变。例如采用完全统一的机器周期执行各种不同的指令2.异步控制方式控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作3.联合控制方式同步控制和异步控制相结合的方式CPU周期取指周期CPU周期取源数CPU周期取目标数CPU周期执行周期P0P1P2W0W1完全同步控制方式W0W1…Wi第N条指令结束应答W0W1…Wj第N+1条指令结束应答启动下一条W0W1…Wk第N+2条指令结束应答异步控制方式启动下一条i、j、k不一定相等一般采用两条定时控制线:“请求”线和“回答”线演示5.4微程序控制器微程序控制器同硬布线控制器相比较,具有规整性、灵活性、可维护性等一系列优点它利用软件方法(微程序设计技术)来设计硬件微