1、第九章 控制单元的组成原理,计 算 机 组 成 原 理,2013年3月26日,控制单元是CPU的一部分,计算机无论完成什么 任务,都是在控制单元控制下完成的。CU向CPU外部发出控制信号,以命令CPU与存储器和I/O模块交换数据,控制单元也向CPU内部发送控制信号,以完成寄存器间数据传送,使ALU完成指定的功能以及其他内部操作。该模型表示了控制单元的输入和输出信号之间的 关系。输入信号有: 时序:CPU的所有工作都按一定的时间关系有序安排。,9.1 控制单元模型,指令寄存器,控制单元 (CU),系 统 总 线,图9-1 控制单元模型,CPU的控制 信号,来自总线控制信号,至总线控制信号,标 志
2、,时 序,指令寄存器:当前指令的操作码-确定指令完成何种微操作。 标志:标志决定CPU发出哪些控制信号,例如,对“增量若为0跳步”指令来说,CU据零标志是否置位确定PC是否加1。 来自系统总线的控制信号:系统的控制线部分向CU提供,如中断信号和存储器的操作完成信号等。 输出信号有:CPU内的控制信号:包括用于寄存器之间传送数据和用于指定ALU的功能两类。到控制总线的控制信号:有存储器的控制信号和对I/O模块的控制信号。这里的控制信号即微操作控制信号,这些控制信号作为二进制输入量直接送到各个逻辑门上。例如取指令操作包括两步:第一步将程序计数器PC的内容传送到主存的地址寄存器MAR;第二步由存储器
3、读一个字装入IR,并且PC增1。,图9-2 一个简单的数据通路,C4,对于图9-2所示的数据通路结构,CU需发出下面的微操作控制信号来完成取指令工作。 (1)打开PC各位与MAR各位之间的门C0。 (2)一个开门信号以允许MAR的内容送到地址总线上C1。 (3)一个存储器的读控制信号送到控制总线上-CR。 (4)一个允许数据总线上的内容被存入MDR的开门信号C2。 (5)对PC内容加1,并返存PC控制信号-C10。 (6)打开MDR和IR之间门的控制信号C3。 CU是CPU中的最主要的组成部分,后面将讨论CU的组成和设计。,对于图9-2所示的数据通路结构,CU需发出下面的微操作控制信号来完成取
4、指令工作。 (1)打开PC各位与MAR各位之间的门C0。 (2)一个开门信号以允许MAR的内容送到地址总线上C1。 (3)一个存储器的读控制信号送到控制总线上-CR。 (4)一个允许数据总线上的内容被存入MDR的开门信号C2。 (5)对PC内容加1,并返存PC控制信号-C10。 (6)打开MDR和IR之间门的控制信号C3。 CU是CPU中的最主要的组成部分,后面将讨论CU的组成和设计。,ADD X的控制取指,C0、C1、C2、C3、C4,ADD X的控制间址,C5、C1、C2、C3,得到EA,ADD X的控制执行,取数:C5、C1、C2 计算:C6、C7 写回:C8,9.2 指令执行的过程中的
5、操作,PCAR PC+1PC AR ABUSRAMDBUSDR DRIR IR(A)PC Next command,9.2.1 计算机的总体结构图9-3为一简单计算机的总体结构,主要是数据通路结构。假设机器字长16位,采用单总线结构,CPU、主存和外设都挂在总线上。 1部件设置 1)CPU 运算部件 ALU-算/逻单元 LT-暂存器 LA-锁存器,寄存的组织(16位)R0R7-可编程寄存器,SR-源操作数寄存器,Z、Y-暂存器(指令执行过程暂存数据),PC-程序计数器,MAR-存储器地址寄存器,MDR-存储器缓冲寄存器,IR-指令寄存器。 控制单元(CU)输入有指令译码器和时序,输出为微操作控
6、制信号,引向各个控制点。 2)主存储器 按字编址,字长16位,容量64KW。接收CU送来的RD/WR,存储器完成操作后为CPU回答MOC信号。 3)总线 总线由16位数据线,16位地址线和若干位控制线组成。不仅CPU与主存之间交换信息要通过总线,而且CPU内部信息传送也要通过总线完成。图中表示信息传送方向。,基本构成: 控制器,运算器, 寄存器,数据通路 寄存器的类型: 指令寄存器(IR) 程序计数器(PC) 数据寄存器(MDR) 地址寄存器(MAR) 状态寄存器(SR) 通用寄存器(Ri) 用户不可见暂存器(Z、Y) 数据通路: 单总线结构,单总线CPU结构,2各类信息的传送路径 指令的执行
7、基本上可以归为信息的传送即控制流(或指令流)和数据流二大信息流。 (1)指令 MMDRBUSIR (2)地址 1)指令地址:PCBUSMAR 2)数据地址:操作数地址与转移地址根据不同寻址方式的要求决定。如为寄存的间接寻址。则将指定寄存器的内容(R)BUSMAR。 3)数据 寄存器寄存器:经总线直接传送 寄存器存储器:RiBUSMDRM 存储器寄存器:MMDRBUSRi 3设置的微操作控制信号(微命令) 下图标出的控制信号,即为微操作控制信号,它实际控制数据通路中的数据流和指令流的流向。这些控制信号在本质上是控制数据通路的各个控制门的打开或关闭,ALU的实际操作功能、寄存器接收数据控制、主存的
8、读或写命令等。,主机基本组成,PCAR,PCBUS LDAR,主机基本组成,READ MEM,ARABUS RD LDDR,主机基本组成,DRIR,DRBUS LDIR,执行指令过程,ADD R0,(81),执行指令过程,ADD R0,(81),IR,IRi,PC,AR,R0,R1,R2,R3,M,DR,X,G,Y,PCi,ARi,DRi,IRo,PCo,ARo,RW,DRo,R0o,R0i,R3o,R3i,Xi,Yi,A总线,B总线,+,-,双总线结构机器的数据通路,IR,IRi,PC,AR,R0,R1,R2,R3,M,DR,X,Y,PCi,ARi,DRi,IRo,PCo,ARo,RW,DR
9、o,R0o,R0i,R3o,R3i,Xi,Yi,A总线,B总线,+,-,执行指令,G,ADD R0,R2,IR,IRi,PC,AR,R0,R1,R2,R3,M,DR,X,Y,PCi,ARi,DRi,IRo,PCo,ARo,RW,DRo,R0o,R0i,R3o,R3i,Xi,Yi,A总线,B总线,+,-,单总线结构机器,IR,IR,PC,AR,R0,R1,R2,R3,M,DR,X,Y,PC,AR,DR,RW,R0,R3,X,Y,A总线,+,-,单总线结构机器,操 作 控 制 器,A L U,PCAR,译码测试,MDR,DRIR,R2Y,R0X,R0+R2R0,PCo,G,ARi,RW=R,DRo
10、,G,IRi,R2o,G,Yi,R0o,G,Xi,+, G, R0i,CPU周期,9.2.2 指令系统 1指令格式 指令系统采用定长指令格式,字长16位,格式如下:15 12 11 9 8 6 5 3 2 0,其中OP为操作码,4位,可定义16种操作,M为寻址方式,MS为源操作数寻址方式,MD为目的操作数寻址方式,RS为源操作数寄存器,RD为目的操作数寄存器。MS、RS配合可确定源操作数,MD、RD配合可确定目的操作数。 2寻址方式 其中自增型双间址是指寄存器的内容不是操作数的地址,而是操作数地址的地址,同时要修改寄存器的内容。变址寻址是以指令向下一单元的内容作为位移量与寄存器的内容相加作为操
11、作数的地址。,M,100,001,000,010,011,名 称,汇编符号,含义,寄存器寻址,寄存器间址,自增型寄存器间址,自增型双间址,变址寻址,R,(R),(R)+,(R)+,X(R),(R)为操作数,有效地址E=(R),E=(R)且(R)+1 R,E=(R)且(R)+1 R,E=X+(R),表9-1 寻址方式,3操作类型 双操作数运算指令 操作码 名称 汇编符号 操作 0001 加法 ADD 0010 减法 SUB 0011 逻辑乘 AND 单操作数运算指令 操作码 名称 汇编符号 操作 0100 加1 INC 0101 减1 DEC 0110 求补 NEG,转移类指令:无条件转移:条件
12、转移:,无条件转移指令不受任何条件约束,直接把控制转移到所指定的目的地,从那进而开始执行程序。条件转移指令先测试某个条件,然后根据所测试的条件来决定是否转移。,1.指令格式结构如下所示,试分析指令格式特点。,解:(1)OP字段有4位,指定16种操作;(2)单字长二地址指令;(3)寻址特征位3位,每个操作数可以指定8种寻址方式,寄存器编址位3位,共可以有8个寄存器;(4)操作数可以是RR型、RS型、SS型;,课堂练习与思考:,2.CPU结构如图B9.1所示,其中有一个累加寄存器AC,一个状态条件寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。 标明图中四个寄存器的名称。 简述指令从主
13、存取到控制器的数据通路。,3.简述数据在运算器和主存之间进行存 / 取访问的数据通路。,课堂练习与思考:,解: (1)a为数据缓冲寄存器 DR ,b为指令寄存器 IR ,c为主存地址寄存器,d为程序计数器PC。(2)主存 M 缓冲寄存器 DR 指令寄存器 IR 操作控制器。(3)存储器读 :M DR ALU AC存储器写 :AC DR M,9.2.4 指令操作流程 每条指令都可分解为一串操作序列,将这些操作按操作周期归类合并,并以流程图的形式画出,就得到指令的操作流程图。反过来,有了操作流程图后,也能非常清晰的了解一条指令的执行过程。简单指令系统的指令操作流程图如图9-4所示。,取指周期:每条
14、指令都要经历的周期是操作。 取操作数周期:要取源操作数的指令进入此周期。其操作流程与源寻址方式有关。 (1)寄存的寻址,RS中的内容为源操作数,将它送入源操作数寄存器SR; (2)寄存器间接寻址,以RS为地址访问主存一次,从存储器中取出源操作数送入源操作数寄存器SR; (3)自增型寄存器间址,除了完成上述间址操作外,还要修改RS的内容,经ALU增1再送回RS;,(4)变扯寻址,先以PC现行值为地址从存储器单元取得位移量X,再与RS的内容相加,以相对结果为地址取出操作数送入源操作数寄存器SR。此外,PC+1,准备好下一条指令地址。在这个流程中因为要两次访问存储器,所以周期要延迟一次。 通过指令流
15、程,将能了解各种寻址方式的实现过程。 取目的操作数周期:需要取目的操作数的指令进入此周期。取目的操作数与取源操作数相似,只是将其送入LA。 执行周期:所有指令都要进入本周期,根据指令操作码决定进行什么操作。 通过指令流程的分析可以看出,指令流程受机器结构、指令功能和寻址方式等因素约束,不能任意编造,它是指令在机器内部执行的过程的反映。,LASRBUS,END,WRITE,BUSMDR,SRLABUS,SR+LABUS,BUSRD,指令操作流程,接上一张,ADD,SUB,AND,ET,R,R,指令操作流程,指令操作流程,例9.1加法指令ADD R0,(R1)的微操作序列。 FT:P0 PCBUS
16、,BUSMAR,READ,CLEAR,LA,1C0,ADD,ALULTP1:LTBUS,BUSPC(PC+1)PC),WAITP2:MDRBUS,BUSIRP3:1ST(取源操作数周期触发器) ST:P0 R0BUS,BUSSRP1 空操作P2 空操作P3 1DT (取目的操作数周期触发器) DT:P0 R1BUS,BUSMAR,READ,WAITP1 MDRBUS,BUSLAP2 空操作P3 1ET (取执行周期触发器) ET:P0 SRBUS,ADD,ALULTP1 LTBUS,BUSMDR,WRITE,WAITP2 空P3 END,例9.2 减法指令SUB (R0)+,x(R1)的微操作
17、序列。 START:FT微操作序列同例9.1所示 ST:P0 R0BUS,BUSMAR,READ,CLEAR LA,1C0,ADD,ALULTP1 LTBUS,BUSR0,WAITP2 MDRBUS,BUSSRP3 1DT DT:P0 PCBUS,BUSMAR,READ,CLEAR LA,1C0,ADD,ALULTP1 LTBUS,BUSR1,WAITP2 MDRBUS,BUSLAP3 1DT DT: P0 R1BUS,ADD,ALULTP1 LTBUS,BUSMAR,READ,WAITP2 MDRBUS,BUSLAP3 1ET ET:P0 SRBUS,SUB,ALULTP1 LTBUS,BU
18、SMDR,WRITE,WAITP2 空操作P3 END,例9.3 转移指令JMP(R0)+ 的微操作序列 START:FT 微操作序列同例9.1(P3 1ET) ET:P0 R0BUS,BUSPC,CLEAR LA,1C0,ADD,ALULTP1 LTBUS,BUSR0P2 空操作P3 END 说明几点: (1)指令的微操作序列是机器所有指令的微操作在各个时序信号上的分配,它是指令流程的进一步具体化。安排微操作序列遵循二个规则: 微操作序列的顺序必须是恰当的。例如,PCBUS,BUSMAR,必须先于MDRBUS,BUSIR,因为存储器读操作需使用MAR地址。 不能引起数据通路上的信息发生冲突。
19、例如在一个节拍内不能两次往总线上发送信息。 (2)上述安排方式,目的在于说明由指令操作流程写出指令的微操作序列的方法,因此,不是最优方案。例如,对寄存器寻址方式,因为操作数已放在寄存器中,微操作序列十分简单,有的节拍轮空,出现空操作。在实际设计时应避免。,不同类型指令所需的周期数可能不同,上述双操作数运算指令至少要经过四个周期,单操作指令至少要经过三个周期,转移指令经过两个周期。通常一条指令至少要经过取指和执行二个周期,取操作数周期是可变的。单操作数指令仅有一个地址,至少经过一个取操作数周期,双操作数指令至少需要经过两个取操作数周期。图9-5描述了周期状态的变化情况,称为CPU控制流程。 执行
20、周期结束后,一条指令执行完毕,此时要进入“END”框,END的含义是现行指令结束后,CPU要进行一串状态测试,测试的顺序如图9-5所示。由于DMA方式和中断方式分别用于处理高速和低速外设的请求,所以DMA的优先级高于中断请求。为此,在一条指令结束时,先判断有无DMA请求,若有,则插入DMAT(DMA周期)。(注意,实际的计算机大多在一个总线周期结束时就插入DMAT。这是为简化问题,限制在一条指令结束时才判别与响应DMA请求)。,FTS ID CI R,图9-6 FT触发器,FT,DMA请求?,ST,DT,ET,DMAT,IT,中断请求?,N,Y,Y,N,图9-5 CPU控制流程,1.原理性地说
21、明ADD R0,R1指令、条件相对转移指令的指令格式和执行步骤。,答案: ADD R0,R1,指令中给出操作码和R0、R1的编号,指令执行步骤: (1) 程序计数器(PC)的内容送地址寄存器 (2)读内存,读出内容送指令寄存器(IR); PC内容+1(增量); (3)R0、R1送ALU,ALU执行加运算,运算结果存回R0寄存器;保存运算结果的特征状态。 (4)检查有无中断请求,有,则响应中断,无则转入下一条指令的执行过程。条件相对转移指令,指令中给出操作码和相对转移偏移值,条件转移要依据的转移判断条件;指令的执行步骤:其中(1)、(2)步的取指和最后一步的判中断同前一条指令的处理,(3) 执行
22、条件转移指令时,要判别指定的条件,若为真,才执行:尚未修改的PC内容送ALU,相对转移偏移值送ALU,ALU执行加操作,结果送入PC;否则顺序地进入下一条指令的执行过程;,课堂练习与思考:,解答:执行流程: 程序计数器的内容地址寄存器 读内存,读出的指令指令寄存器 DR的内容异或SR的内容,结果DR 检查有无中断请求,有,则进行相应处理;无,则转入下一条指令的执行过程。,执行流程: 程序计数器的内容地址寄存器 读内存,读出的指令指令寄存器 SR的内容地址寄存器(寄存器间接寻址方式) 读内存,读出的数据DR 检查有无中断请求,有,则进行相应处理;无,则转入下一条指令的执行过程,本章 主要内容 9
23、.2.1 控制单元的外特性 控制单元CU的外特性如图9.1所示。,9.2.2 微操作命令的分析 1取指周期的微操作命令 2间址周期的微操作命令 3执行周期的微操作命令 4中断周期的微操作命令,图9.1 控制单元的外特性,9.2.3 多级时序系统 1机器周期 2时钟周期 机器周期、时钟周期和节拍的关系如图9.2所示。,图9.2 机器周期、时钟周期和节拍的关系 3指令周期、机器周期、节拍和时钟周期的关系 图9.3反映了指令周期、机器周期、节拍和时钟周期的关系。,图9.3 指令周期、机器周期、节拍和时钟周期的关系,9.2.4 控制方式 1同步控制方式 (1)采用完全统一节拍的机器周期 (2)采用不同
24、节拍的机器周期 (3)采用中央控制和局部控制相结合的方法 2异步控制方式 3联合控制方式 本章 小结 学习本章后要理解并掌握以下内容: 1指令周期、机器周期、时钟周期的概念及它们之间的关系。 2多级时序系统。 3分析取指周期、间址周期、执行周期、中断周期的微操作命令。 4什么是CU的控制方式,常见的控制方式。 5以8085CPU为例,说明指令周期、机器周期和节拍与控制信号的关系。,第九章 控制单元原理自测题 一.选择题 1.与微指令的执行周期对应的是 。 A.指令周期 B.机器周期 C.节拍周期 D.时钟周期 2.在微程序控制器中,机器指令和微指令的关系是 。 A.每一条机器指令由一条微指令来
25、执行; B.一条微指令由若干条机器指令组成; C.每一条机器指令由一段用微指令组成的微程序来解释执行; D.一段微程序由一条机器指令来执行。 3.在计算机中,存放微指令的控制存储器隶属于 。 A.外存储器 B.高速缓冲存储器 C.内存储器 D.CPU 4.异步控制常作为 的主要控制方式。 A.单总线结构计算机中访问主存与外围设备时; B.微型机的CPU控制中 C.组合逻辑控制的CPU中 D.微程序控制器中 5.操作控制器的功能是 。 A.产生时序信号 B.从主存取出一条指令 C.完成指令操作码译码 D.从主存取出指令,完成指令操作码译码, 执行并产生相关的操作控制信号,以解释执行该指令。,B,
26、C,D,A,D,二.填空题 1.组合逻辑控制器又称硬布线控制器,是由 构成的,它可以根据不同的指令产生不同的 。 2.微程序控制器的核心部件是存储微程序的 ,它一般用 构成。 3.在微程序控制器中,计算机执行一条指令的过程就是依次执行一个确定的 的过程。 4.控制器发出的控制信号是 因素和 因素的函数,前者是指出操作在什么条件下进行,后者是指操作在什么时刻进行。 5.控制器由于设计方法的不同可分为 型和 型控制器。 6.操作控制器的功能是根据指令操作码和 来产生各种操作控制信号,从而完成 和执行指令的控制。 7.硬布线控制器的基本思想是:某一 控制信号是 译码输出、 信号、 信号的函数。 8.在寄存器之间建立数据通道的任务是由 来完成的。,门电路,控制信号,控制存储器,只读存储器,微指令序列(微程序),空间,时间,组合逻辑,存储逻辑,时序信号,取指令,微操作,指令操作码,时序,状态条件,操作控制器,本章结束: 继续学习第十章!,控制方式,同步控制方式 已定的指令在执行时所需的机器周期数 和时钟周期数都是固定不变的。 异步控制方式: 每条指令或操作控制信号需要多少时间 就占用多少时间。 联合控制方式,