第五章中央处理器5.1CPU功能和组成5.2指令周期5.3时序产生器和控制方式5.4微程序控制器5.5硬连线控制器5.6传统CPU5.7流水CPU5.8RISC的CPU5.9多媒体CPU5.1CPU的功能和组成5.1.1中央处理机(CPU)的功能1、指令控制(程序执行顺序的控制):程序是一个指令序列,这些指令的相互顺序不能任意颠倒,保证机器按顺序执行程序时CPU的首要任务。2、操作控制(根据指令的功能发出若干个操作信号),把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。3、时间控制(指令的各个操作实施时间的定时)4、数据加工:对数据进行算术运算和逻辑运算处理。完成数据的加工处理,是CPU的根本任务。每条指令的定时每个微操作的定时图5.1CPU模型CPU模型如下所示:运算器控制器5.1.2CPU的基本组成包括:控制器、运算器、cache三大部分。1、控制器的主要功能:(1)从指令cache中取出一条指令,并指出下一条指令在指令cache中的位置。(2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。(3)指挥并控制CPU、数据cache和输入输出设备之间数据流动的方向。2、运算器的主要功能:(1)执行所有的算数运算。(2)执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。5.1.3CPU中的主要寄存器各种计算机的CPU可能有这样或那样的不同,但是在CPU中,至少要有六类寄存器,如图5.1所示。(1)数据缓冲寄存器DR(2)指令寄存器IR(4)数据地址寄存器AR(6)状态字寄存器PSW(5)通用寄存器R0-R3(3)程序计数器PC(1)数据缓冲寄存器DR:暂时存放ALU的运算结果,或由数据存储器读出的一个数据字,或来自外部接口的一个数据字。它的作用如下所示:②补偿CPU和内存、外围设备之间在操作速度上的差别。①作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲;CPU内存或I/O指令数据DR指令数据通用寄存器(2)指令寄存器IR(InstructionRegister)指令寄存器用来存放从存储器中取出的待执行的指令。在执行该指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。(3)程序计数器PC(ProgrammingCounter)用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址。顺序执行时,每执行一条指令,PC的值应加1,要改变程序执行顺序的情况时,一般由转移类指令将转移目标地址送往PC,可实现程序的转移。(4)地址寄存器AR:(6)状态字寄存器PSW(5)通用寄存器R0-R3保存当前CPU所访问的数据cache存储器单元的地址。为ALU提供一个工作区。5.1.4操作控制器和时序产生器(1)数据通路:(2)操作控制器:根据设计方法不同,操作控制器分为:时序逻辑型存储逻辑型寄存器之间传送信息的通路。根据指令操作码和时序信号,产生各种操作控制信号;选择正确的数据通路。•硬连线控制器•微程序控制器信息如何在各寄存器之间传送?数据的流动是由什么部件控制的?•采用时序逻辑技术来实现•采用存储逻辑技术来实现1、硬连线控制器硬连线控制器,它是采用时序逻辑技术来实现的,其时序控制信号形成部件是由门电路组成的复杂树形网络。时序逻辑控制器的最大优点是速度快,但是时序控制信号形成部件的结构不规整,使得设计、调试、维修较困难,难以实现设计自动化。该方法是分立元件时代的产物,以使用最少器件数和取得最高操作速度为设计目标2、微程序控制器微程序控制器是采用存储逻辑来实现的,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中,微操作控制信号由微指令产生。微程序控制器的设计思想和时序逻辑设计思想截然不同。由于它增加了一级控制存储器,所以指令执行速度比时序逻辑控制器慢。它具有设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。操作控制器产生的控制信号必须定时,为此必须有时序发生器。时序产生器的作用,就是对各种操作信号实施时间上的控制。2、时序产生器习题.CPU中有哪些主要寄存器?简述这些寄存器的功能。解:CPU有以下寄存器:指令寄存器(IR):用来保存当前正在执行的一条指令。程序计数器(PC):用来确定下一条指令的地址。地址寄存器(AR):用来保存当前CPU所访问的内存单元的地址。缓冲寄存器(DR):1作为CPU和内存、外部设备之间信息传送的中转站。2补偿CPU和内存、外围设备之间在操作速度上的差别。3在单累加器结构的运算器中,缓冲寄存器还可兼作为操作数寄存器。通用寄存器(AC):当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。状态条件寄存器:保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容。除此之外,还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。5.2指令周期5.2.1指令周期的基本概念5.2.2典型指令的指令周期5.2.3用方框图语言表示指令周期5.2.1指令周期的基本概念思考:计算机为什么能自动工作?概念指令周期:取指指令、分析指令到执行完该指令所需的全部时间。思考:各种指令的指令周期相同吗?机器周期通常又称CPU周期。指令周期由若干个机器周期组成,每个机器周期完成一个基本操作。不同的指令,可能包含不同数目的机器周期。一个机器周期中,包含若干个时钟周期(节拍脉冲或T脉冲)。表5.15.2.2MOV指令的指令周期1、取指周期2、执行周期1、MOV指令取指周期,cpu的动作①程序计数器PC中装入第一条指令地址101(八进制);②PC的内容被放到指令地址总线ABUS(I)上,对指存进行译码,并启动读命令;③从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR;④程序计数器内容加1,变成102,为取下一条指令做好准备;⑤指令寄存器中的操作码(OP⑥CPU识别出是MOV指令,至此,取指周期即告结束。5.2.2MOV指令的指令周期-执行①操作控制器(OC)送出控制信号到通用寄存器,选择R1(10)作源寄存器,选择R0②OC送出控制信号到ALU,指定ALU做传送操作;③OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS上。注意,任何时候DBUS上只能有一个数据。④OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR(10);⑤OC送出控制信号,将DR中的数据10打入到目标寄存器R0,R0的内容由00变为10。至此,MOV指令执行结束。2、执行指令阶段(执行周期)5.2.3LAD指令的指令周期取指周期执行周期LADR1,6LAD指令的执行周期④OC发出命令,将DBUS上的数据100装入缓冲寄存器DR;③OC发出读命令,将数存6号单元中的数100读出到DBUS上;②OC发出操作命令,将地址码6装入数存地址寄存器AR;LAD指令的执行周期见图58所示。CPU执行的动作如下:⑤OC发出命令,将DR中的数100装入通用寄存器R1,原来R1中的数10被冲掉。至此,LAD指令执行周期结束①操作控制器OC发出控制命令打开IR输出三态门,将指令中的直接地址码6放到数据总线DBUS上;LADR1,65.2.4ADD指令的指令周期ADD指令是RR型,在运算器中有两个寄存器R1和R2的数据进行加法运算。指令周期只需两个CPU周期,其中一个是取指周期。下面介绍其执行周期,CPU完成的动作见图5.95.2.5ADD指令的指令周期①操作控制器OC送出控制命令到通用寄存器,选择R1做源寄存器,R2做目标寄存器②OC送出控制命令到ALU,指定ALU做R1(100)和R2(20)的加法操作③OC送出控制命令,打开ALU输出三态门,运算结果120放到DBUS上④OC送出控制命令,将DBUS上数据打入缓冲寄存器DR;ALU产生的进位信号保存状态字寄存器在PSW中⑤OC送出控制命令,将DR(120)装入R2,R2中原来的内容20被冲掉。至此ADD指令执行周期结束ADDR1,R25.2.5STO指令的指令周期STOR2,(R3)图5.11STO指令的执行周期①操作控制器OC送出操作命令到通用寄存器,选择(R3)=30为数据存储器的地址单元;②OC发出操作命令,打开通用寄存器输出三态门将地址30放到DBUS上;③OC发出操作命令,将地址30打入AR④OC发出操作命令到通用寄存器,选择(R2)=120,⑤OC发出操作命令,打开通用寄存器输出三态门,将数据120放到DBUS上。⑥OC发出操作命令,将数据120写入数存30号单元,它原先的数据40被冲掉。至此,STO指令执行周期结束。STOR2,(R3)5.2.6JMP指令的指令周期图5.13JMP指令的指令周期①OC发生操作控制命令,打开指令寄存器IR的输出三态门,将IR中的地址码101发送到DBUS上;②OC发出操作控制命令,将DBUS上的地址码101打入到程序计数器PC中,PC中的原先内容106被更换。于是下一条指令不是从106号单元取出,而是转移到101号单元取出。至此JMP指令执行周期结束。5.2.7用方框图语言表示的指令周期方框——一个CPU周期。方框内内容——数据通路操作或某种控制操作。菱形符号——判别或测试,不单独占用一个CPU周期。~——公操作符号前边所讲述的5种操作的框图描述如下:取下一条指令或与外围设备交换数据。在进行计算机设计时,可以采用方框图语言来表示指令的指令周期。用方框图语言表示指令周期指存读指存地址总线数存读公操作数存写例1双总线结构机器的数据通路图(P30页)微操作信号微操作信号ADDR2,R0SUBR1,R3图5.16加法和减法指令周期流程图ALU0ALU0总结:1、一条指令包括一个取指令周期和一个执行周期组成。2、在每个CPU周期中数据通路是明确的。3、数据通路的建立及操作受到操作控制器的控制,当然决定于是什么指令。2、CPU结构如图所示,其中一个累加寄存器AC,一个状态条件寄存器和其它四个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。(1)标明图中四个寄存器的名称。(2)简述指令从主存取到控制器的数据通路。(3)数据在运算器和主存之间进行存/取访问的数据通路。DRIRARPC(2)PC→AR→主存→缓冲寄存器DR→指令寄存器IR→操作控制器(3)存储器读:M→DR→ALU→AC存储器写:AC→DR→M2.请说明指令周期、机器周期、时钟周期之间的关系。2.指令周期是指取出并执行一条指令的时间,指令周期常常用若干个CPU周期数来表示,CPU周期也称为机器周期,而一个CPU周期又包含若干个时钟周期(也称为节拍脉冲或T周期)。