第四篇控制单元CU第九章控制单元的功能控制单元(CU)是CPU中的核心部件,也是计算机的核心部件。它是全机的指挥系统,决定全机在什么时间根据什么条件应该做什么事情,即产生计算机运行所需要的全部控制命令。主要内容9.1微操作命令的分析9.2控制单元的功能9.3多级时序系统9.1微操作命令的分析在计算机中,操作是具有层次的,即一个较大的操作可被分解为小操作,如此分层直到不可分解为止。微操作—指计算机中最基本的,不可再分解的操作。具体对应逻辑线路中的开、关等。微命令—完成微操作所需的控制信号,它控制某个微操作定位、定时地进行,也称为微操作命令。以几类典型指令为例,分析指令周期的各CPU周期所完成的微操作。这几类指令分别是:非访存指令直接访存指令间接访存指令转移类指令取指周期执行周期取指周期执行周期取指周期执行周期取指周期间址周期执行周期不同指令在取指令周期、间址周期和中断中期所做的操作是相同的,区别仅在执行周期。我们假定一个模型机来分析。③MARCUMDRPCIR存储器地址总线数据总线控制总线①②⑤⑤CPU④⑥取指令周期取指令周期①将当前指令地址送存储器地址寄存器,记作PC→MAR;②向主存发读命令,启动主存做读操作,记作1→R;③将主存单元内容经数据总线读至MDR内,记作M→DR;④将MDR内容送至IR内,记作MDR→IR;⑤将IR中的指令送控制单元进行指令分析,记作IR→CU;⑥对PC进行修正,形成下一条指令的地址,记作(PC)+1→PC。③MARCUMDR存储器地址总线数据总线控制总线②①CPU④间址周期间址周期①将指令的地址部分的形式地址送存储器地址寄存器,记作Ad(IR)→MAR;②向主存发读命令,启动主存做读操作,记作1→R;③将主存单元内容经数据总线读至MDR内,记作M(MAR)→MDR;④将有效地址送指令寄存器的地址码字段,记作MDR→Ad(IR)。执行周期1.非访存指令(1)清除累加器指令CLA在执行阶段仅完成清除累加器操作,记作0→AC。(2)累加器取反指令COM在执行阶段只完成累加器内容取反,结果送累加器操作,记作AC→AC。(3)算术右移一位指令SHR在执行阶段仅完成累加器内容算术右移一位操作,记作L(AC)→R(AC)。(4)循环左移一位指令CSL在执行阶段只完成累加器内容循环左移一位操作,记作R(AC)→L(AC)。(5)停机指令STP计算机有一个运行标志触发器G,当G=1时,表示机器运行;当G=0时,表示机器停机。STP指令在执行阶段只需将运行标志触发器置“0”,记作0→G。MARCUMDR存储器地址总线数据总线控制总线ACCALU⑥CPU①③②④⑤⑤访存指令:以间址指令ADD@X为例2.访存指令(1)加法指令ADD@X①将指令地址码部分送存储器地址寄存器,记作Ad(IR)→MAR;②向主存发读命令,启动主存做读操作,记作1→R;③将主存单元内容经数据总线读至MDR内,记作M(MAR)→MDR;④给ALU发“加”命令,将ACC内容和MDR内容相加,结果送ACC,记作(ACC)+(MDR)→ACC。(2)存数指令STAX①将指令地址码部分送存储器地址寄存器,记作Ad(IR)→MAR;②向主存发写命令,启动主存做写操作,记作1→W;③将累加器内容送至MDR,记作ACC→MDR;④将MDR内容通过数据总线写入到MAR所指的内存单元,记作MDR→M(MAR)。(3)取数指令LADX①将指令地址码部分送存储器地址寄存器,记作Ad(IR)→MAR;②向主存发读命令,启动主存做读操作,记作1→R;③将MAR通过地址总线所指的内存单元的内容读出到MDR中,记作M(MAR)→MDR。④将MDR内容送至累加器,记作MDR→ACC(1)无条件转移指令JMPX该指令在执行阶段完成将指令的地址码部分X送至PC,记作Ad(IR)→PC。3.转移类指令(2)条件转移指令JNZX该指令根据上条指令的运算结果决定下条指令的地址,若结果不为零,则指令的地址码送PC,否则PC值不变。9.2控制单元的功能9.2.1控制单元的外特性(输入信号和输出信号)控制单元CU指令寄存器(IR)…CPU内的状态标志时钟CPU内控制信号到系统总线的控制信号来自系统总线的请求和状态信号系统总线1.输入信号(1)时钟(2)指令寄存器(4)来自系统总线中的控制总线的控制信号(3)标志CU必须受时钟控制,一个时钟脉冲发送一个操作命令。控制信号与操作码有关OP(IR)CUCU须受标志控制,如依赖于ALU操作的结果。如INTR中断请求DMA请求等。2.输出信号(1)CPU内的各种控制信号(2)送至控制总线的信号RiRj,(PC)+1PCINTAHLDA访存控制信号访IO/内存的控制信号读命令写命令中断响应信号总线响应信号MREQIO/MRDWRALU的算术逻辑等运算命令等9.2.2控制信号举例PCIRACCU时钟ALUMDRMAR………控制信号标志控制信号C0C1C2C3C4取指周期MDRPCMARIRCU1.不采用CPU内部总线的方式(以ADD@X为例)ADD@X间址周期PCIRACCU时钟ALUMDRMAR………控制信号标志控制信号C1C2C3C5MDRMARMDRIR形式地址有效地址有效地址ADD@X执行周期PCIRACCU时钟ALUMDRMAR………控制信号标志控制信号C1C2C5C7C6C8MARACALUMDRMDR…控制信号操作数有效地址MDRMDRCU(1)ADD@X取指周期•PC•CU发读命令1R•MDR•OP(IR)•(PC)+1PCIRPCMARACYALUZ…控制信号IRiIRiPCOPCOMARiMARiMDROMDRO…•数据线数据线控制信号CPU内部总线时钟地址线地址线MARMDRIRCUIRPCPCMDRMARCUIR采用CPU内部总线的方式内部总线(2)ADD@X间址周期•MDR•1R•MDR有效地址Ad(IR)MDROMDRO•数据线数据线时钟CUIRPCMARMDRACYALUZ…控制信号…控制信号CPU内部总线MDRIRMARiMARi地址线地址线MARIRiIRiMARMDRIRMDRMDRMDROMDROMDROMDRO形式地址MAR(3)ADD@X执行周期时钟CUIRPCMARMDRACYALUZ…控制信号CPU内部总线MDROMDRO•1R•MDR•Z•AC•(AC)+(Y)•MDR控制信号…MARMDR地址线地址线•数据线数据线MARMDRYYiYiYALUACACOACOALUiALUiALUACZZZOZOACiACiMARiMARiALUAC9.2.3多级时序系统计算机内所有的操作有两个特点:一是空间性:即操作执行的地点;二是时间性:即操作应在什么时刻完成。第一点主要由指令译码信号指定,第二点则要靠机内相互有一定配合关系的时间基准信号来定时,称为时序信号。时序系统的作用:1.机器周期一条指令的执行分成几个相互独立的步骤来完成。通常,以访问一次内存储器所需要的时间定为一个机器周期。2.时钟周期(节拍或状态)在一个机器周期可完成若干个微操作,每一个微操作都需要一定时间,一个节拍宽度对应一个时钟周期,好比计算机的心脏,一旦接电就产生时钟信号,控制产生微命令信号。T1T2T3CLK时序信号举例指令周期、机器周期和时钟周期的关系:一个指令周期包含若干个机器周期,一个机器周期包含若干个时钟周期。9.2.4控制方式控制单元控制一条指令执行的过程,实质上是依次执行一个确定的微操作序列的过程。由于不同指令所对应的微操作及其复杂程度不同,因此每条指令和每个微操作所需要的执行时间也不同。所谓控制方式,即如何形成不同微操作序列所采用的时序控制方式。主要有三种控制方式:同步控制、异步控制和联合控制。1.同步控制方式任何一条指令或指令中任何一个微操作的执行,都由事先确定且有统一的时序信号所控制的方式,称为同步控制方式。即人为地规定所有操作的执行时间都相等。操作间衔接:自动即前一操作完后,自动进入下一操作。特点:时序关系简单,便于实现,但时间利用率低,不能充分发挥各部件的运行速度。2.异步控制方式计算机中不采用统一的基准时标来控制,各种操作需要多长时间,就分配多长时间。操作间衔接:采用“应答”方式,即执行完时操作部件自动发“完成”信号,作为下一操作启动的依据。特点:可充分发挥各部件的运行速度,时间利用率高,但控制复杂,技术上不易实现。3.联合控制方式(同步和异步相结合)在实际的计算机中,完全的同步和异步是难以实现的,基本上都采用联合方式。根据其倾向性,可分为:同步计算机,即以同步为主,以异步为辅;异步计算机,即以异步为主,以同步为辅。通常,在一台计算机中,CPU内部,常采用同步控制方式;主机和I/O间,常采用异步控制方式;CPU和内存间,采用同步或异步控制方式。本章总结1、微操作和微命令2、多级时序系统3、控制方式