1、1,Chapter 6 CPU组织,控制器的基本概念,时序系统和控制方式,指令的执行过程,组合逻辑控制器,微程序控制器,流水线工作原理,2,6.0 计算机的硬件系统,典型微机系统,3,数字逻辑基础补充,3-时序逻辑 触发器,时序逻辑电路,4,6.1 控制器的基本概念,一、控制器的功能:“指挥中心” 正确且自动地连续执行指令 即:向计算机各功能部件发出控制信号1.取指令 2.分析指令 3.执行指令 4.控制程序和数据的输入与结果的输出 5.对异常情况和某些请求的处理,5,6.1 控制器的基本概念,二、控制器的组成,指令部件 时序部件 微操作序列形成部件 中断控制逻辑,6,6.1 控制器的基本概念
2、,微操作 信号发生器,微操作命令序列,时钟,节拍发生器,中断控制逻辑,状态寄存器,中断请求,指令结束,I/O状态信息,控制台信息,运行状态,程序计数器PC,7,6.1 控制器的基本概念,控制器基本组成框图(图6.3),前页,8,6.1 控制器的基本概念,1、指令部件,(1)PC 程序计数器:存放指令地址,有+1或接收新值功能 PC位数与MAR位数一致 程序开始时,PC内容为程序在内存的首地址 顺序执行,PC内容不断加“1” 非顺序时,PC指向目标地址,(2)IR 指令寄存器: 存放当前正在执行的指令内容(OP与OA),9,6.1 控制器的基本概念,(3)ID 指令译码器: 将指令中的OP部分译
3、码,分析是什么操作,(4)地址形成部件: 指令OA中给出的是形式地址,由寻址方式经过运算得出有效地址,2、时序部件,(1)脉冲源,(2)启停控制逻辑,(3)节拍信号发生器,按需要给出脉冲信号,10,6.1 控制器的基本概念,3、中断控制逻辑,用来处理中断的硬件电路,4、微操作序列形成部件,微操作:最基本的、不可再分解的操作。 例如:打开一个逻辑门,微操作信号发生器: 输入:ID译码得出的控制操作信号、 时序信号、 功能部件返回的状态信号和条件信号 输出:完成该指令所需的微操作控制信号,11,6.1 控制器的基本概念,三、控制器的分类(实现):,根据微操作信号发生器的实现方法不同来分:,组合逻辑
4、控制器 快,可修改性差 微程序控制器 设计规整,可修改;速度慢 PLA控制器 前两者的综合,12,6.2 时序系统与控制方式,一、三级时序系统M、T、P,1、指令周期: 取出一条指令到该指令执行完所需要的时间。,不同指令的指令周期不相同,2、机器周期(CPU周期): 把指令周期分成取指周期、执行周期等若干机器周期。,13,多级时序信号之间的关系,三级时序信号之间的关系,14,6.2 时序系统与控制方式,1)不同指令所包含的机器周期数可能不同 2)为了控制简单,规定每个M一样长 CPU访问主存的时间最长 以主存的工作周期(存取周期)规定机器周期的大小,15,6.2 时序系统与控制方式,3、节拍
5、T: (时钟周期) 把机器周期分成若干个时间相等的节拍,每个节拍完成一个基本操作。 如:ALU一次运算、寄存器间一次传送等。,16,4、工作脉冲 P: 二、时序信号的产生例 计数器变化规律: 0001 10 11 00。,6.2 时序系统与控制方式,T0,T1,T2,T3,P,17,6.2 时序系统与控制方式,三、控制方式,1、同步控制方式(固定时序控制方式): 统一的时序控制,以最复杂指令的操作时间作为统一的时间间隔标准,优点:设计简单,容易实现 缺点:大多数简单指令空闲时间多,速度降低,2、异步控制方式(“应答”方式): 例如:CPU发出存储器Read信号,“启动” MEM读结束后,发出M
6、FC信号“结束”,18,6.2 时序系统与控制方式,3、联合控制方式(同步异步的混合方式): 功能部件内部同步控制 功能部件之间异步控制,例如:CPU内部同步 CPU与外设或主存异步,优点:没有时间浪费,速度提高 缺点:控制复杂,19,6.3 指令的执行过程,系统总线 AB CB DB,M,I/O,内总线,控制部件,时序,寄存器,MAR,MDR,ALU,PSW,PC,IR,Y,Z,20,6.3 指令的执行过程,一、寄存器的设置:,1、通用寄存器:,2、专用寄存器:存放特定的内容,MAR、MDR、PC、IR PSW:例如8086的PSW为16位,用到9位,0,2,4,6,7,8,9,10,11,
7、15,21,6.3 指令的执行过程,总线特点:同一个时刻只能有一个发送端,但可以有多个接收端,实现方法:三态门,控制端,输入,输出,控制信号“1”时,门打开,输出输入 控制信号“0”时,门关闭,例如: (R0)R1, 因为通过总线传送,控制信号R0out1可将R0内容送到总线上,此时令控制R1in1,可使R1的接收门打开,完成(R0)R1,22,习题3.27,A,B是两个D型边沿寄存器 1)外部数据如何才能传送到B 2)如何实现A+BA, A+BB 3)若A,B均为锁存器,有什么影响,23,6.3 指令的执行过程,一个简单的3+2执行过程,24,6.3 指令的执行过程,二、指令的执行过程:,取
8、指令 分析指令 执行指令,1、取指令: 即(PC) IR (PC) AB发READ命令 指令内容DB IR (PC)1 PC,2、分析指令:IR中的OP部分送至ID中,3、执行指令:由控制逻辑发出微操作控制序列,完成指令功能,25,6.3 指令的执行过程,以下一条加法指令为例:功能: (rs)+(rs1)+disp) rd,需要完成以下操作(每组操作需要一个机器周期) 1.取指令(并分析指令) 2.计算数据地址 3.到存储器取数 4.运算并送结果,26,6.3 指令的执行过程,27,6.3 指令的执行过程,图,1.取指令:即(PC) IR PCAB; 发READ命令; 指令内容DB IR; (
9、PC)1 PC 2.计算地址:rs1 GR,(rs1) ALU,disp ALU; “+”;ALU AR 3.取数: ARAB; 发READ命令; DB DR; 4.运算: rs GR,(rs) ALU, DRALU; “+”;ALU rd,置状态位,28,6.5 组合逻辑控制器,一、时序与节拍,一条指令的实现可分为取址、取数等若干步,执行一步所需时间为一个机器周期。 可用计数器译码器电路或循环移位寄存器实现机器周期的区分。 CY1-4在对应的 机器周期内为有效,29,6.5 组合逻辑控制器,二、操作控制信号的产生 1.操作控制信号的形成逻辑 操作码译码器:将操作码输入,每根 输出线表示一条指
10、令,任何时刻只有 一根有效。 2.操作控制信号的组合产生 组合逻辑电路(与、或、非等 门电路组合),30,6.5 组合逻辑控制器,3、操作控制信号的产生(以加法指令为例) 1) 在取指令CPU周期(CY1)所需的控制信号可由指令译码与CY1组合 即:PCAB=ADDCY1DBIR=ADDCY1PC+1=ADDCY1 注:a:此时指令尚未取出 b:对任一条指令取指命令相同 因此:CY1即可决定此控制信号, 例:PCAB=ADDCY1 可改为PCAB=CY1,31,6.5 组合逻辑控制器,3、操作控制信号的产生(以加法指令为例) 2)对加法指令的CY2、CY3、CY4等阶段出现的控制命令依次进行分
11、析。 例:RS1GR=ADDCY2 “+”=ADDCY2ALUAR=ADDCY2 ARAB=ADDCY3; “+”=ADDCY4ALU rd=ADDCY4 对其他指令用同样的方法对各个阶段的命令进行分析。例“+”=SUBCY2,32,6.5 组合逻辑控制器,3、操作控制信号的产生(以加法指令为例) 2)(接前页)将同一控制信号在若干条指令的某些周期中所需要的组合起来。 “+”=ADD(CY2+CY4)SUBCY2JMPCY2 为操作码译码的输出与时序信号经“与、或、非”等门电路的组合。 3)同类型的指令控制信号大部分相同,少量不同。不同类型指令,控制信号的差异较大。 例:整个算术逻辑运算仅AL
12、U的操作命令等少量有差异,33,6.5 组合逻辑控制器,3、操作控制信号的产生(以加法指令为例) 4)在确定操作码时,一般令同类指令的一部分操作码相同,以便化简。 例:8位操作码,0001111表示加法指令,0010111表示减法指令。,且算术逻辑指令的低三位均为111。 设某条命令A在所有的算术逻辑指令中都需要,则: A=ADDCY2SUBCY2逻辑加CY2 =(ADD+SUB+逻辑加+)CY2 =OP20P1OP0CY2,34,6.5 组合逻辑控制器,4。控制器的组成,35,6.5 组合逻辑控制器,4。控制器的组成 1)程序计数器和中断控制逻辑 PC的四个输入来源: 开机时 顺序执行时 程
13、序转移时 响应中断时 2)译码器 3)硬布线逻辑的实现 可由PLA、PAL和GAL等具有两极门电路的电路实现。 其中第一级为与门、第二级为或门。,back,36,6.4 微程序控制器,一、微程序控制的基本概念 1951 英 剑桥大学 威尔克斯Wilkes提出,组合逻辑控制器的优点:速度快 缺点:设计的规整性差、可修改性差(不灵活) 6.4.1基本工作原理,基本思想: 用软件的方法来实现控制器,37,6.4 微程序控制器,将机器指令的操作(从取指到完成)分解成微命令序列,用二进制代码表示这些微命令,并编成微指令(控制字),再形成微程序,存放在控制存储器(CM)中。一条机器指令与一段微程序对应从控
14、存中取出微指令就产生微命令,每段微程序的执行结果就是实现了一条机器指令的功能,微程序控制解决了组合逻辑控制器带来的规整性和修改性的问题,38,6.4 微程序控制器,二、基本术语,微操作最小的、不可再分解的操作。 e.g. 打开一个逻辑门微命令微操作的控制信号 e.g. 打开一个逻辑门的电位信号,39,6.4 微程序控制器,(2) 微指令若干微命令的组合,把数据通路中的所有控制信号用一个二进制状态字(控制字、微指令)表示。 编码的每一位代表了一个控制信号,控制实现一步操作,全部指令的控制字放在控存中控存中一个单元的内容一条微指令控存中一个单元的地址微地址,(3) 微周期从CM中取出一条微指令并执
15、行相应的微操作所需要的时间,40,6.4 微程序控制器,微指令格式,微操作码字段 产生某一步操作需要的各微操作控制信号,微地址码字段 用以控制产生下一条微指令所在的地址,(4) 微程序一系列微指令的有序集合,一段微程序 对应 一条机器指令,微程序与控制存储器微程序控制级,机器设计者 工作程序与主存储器传统机器级,用户,41,6.4 微程序控制器,三、微程序控制器的组成和工作原理,命令,主存,地址,指令寄存器IR,OP,OA,微地址形成部件,微地址寄存器,控存CM,微指令寄存器,控制字段,下址字段,微命令,42,6.4 微程序控制器,四、举例:仍以加法指令为例(含四条微指令,每条的控制信号同时发
16、出),43,6.4 微程序控制器,假设例中共23条控制信号(见表6.1),微指令格式如下,加法指令的四条微指令编码如下:当前正在执行的微指令从控制存储器取出后放在微指令寄存器中,寄存器的各个控制位的输出直接连到各个控制门上,进行控制。,44,6.4 微程序控制器,微程序流程如下:,45,6.4 微程序控制器,工作原理: 1)根据操作码进行译码,得到相应指令的第一条微指令地址。 2)由微指令的下址字段指出下一条微指令的地址。3)控制字段的输出直接控制相关门,46,6.4 微程序控制器,1、执行“取机器指令”公共操作,从CM的0号单元取出一段“取机器指令”用的微程序逐条送到IR中。 该微程序的微操
17、作控制字段产生有关控制信号,完成从主存中取出一条机器指令并送到IR中。,(PC) IR,2、IR中的OP通过微地址形成部件,产生该机器指令对应的微程序入口地址,送往MAR中。,五、微程序控制计算机的工作过程小结,47,6.4 微程序控制器,3、根据入口地址,访问CM,从CM中取出对应微程序的一条微指令, 其控制字段产生一组微命令有关操作,由顺序控制字段形成下一条微指令地址,读取下一条微指令。,4、一条机器指令对应的微程序执行完后,返回到“取机器指令”用的微程序入口地址,以便读取下一条机器指令并执行。,指令系统固定 微程序固定,48,6.4 微程序控制控制器,一、微指令编码法,1、直接控制法:(
18、不译码法) 微操作控制字段的每一位代表一个微命令 优点:简单直观,输出直接用于控制 缺点:微指令字长太长,控制存储器容量大,2、最短编码法:微指令字长最短 将所有的微命令统一编码,每一条微指令只定义一个微命令。,6.4.2微程序设计技术,49,优点:微指令字长短 缺点:需要一个复杂的微命令译码器 指令的并行性降低,微程序很长,3、字段编码法:折衷方案 将操作控制字段分成小段, 段内最短编码,段间直接控制法,6.4 微程序控制控制器,微命令总数为N,操作控制字段长度为L, L2N,50,6.4 微程序控制控制器,(1)字段直接编码法 显式编码、单重定义编码法,微命令,操作控制字段,各字段可以独立
19、地定义本字段的微命令,和其他字段无关。,优点:采用较少的二进制位表示较多信息,使字长 缺点:译码使得执行速度,51,6.4 微程序控制控制器,(2)字段间接编码法 隐式编码、多重定义编码法进一步缩短字长,微命令,操作控制字段,一个字段某些编码需要和其他字段配合才能定义某些微命令。,52,6.4 微程序控制器,53,分段原则: 互斥性的微命令在一段,相容性的不能一段 与数据通路对应 每小段包含位数不能太多 一般每小段要留一位状态位,表示不发出任何微命令,6.4 微程序控制器,54,6.4 微程序控制器,二、微程序入口地址的形成,初始微地址的形成 取出机器指令后,由OP指出微程序的首地址 (初始微
20、地址、入口地址),微程序也有顺序、分支、转移、循环等,各个指令的入口地址形成一张入口地址表 操作码OP可以直接与入口地址的一部分对应,55,6.4 微程序控制器,例如: 机器指令共8条,用3位表示 000MOV指令,入口地址A 001ADD指令,入口地址B 111XXX指令,入口地址H,MOV微程序,ADD微程序,XXX微程序,A,B,H,假设 GOTO指令需要四个字节,000 00 001 00111 00,OP,56,6.4 微程序控制器,三、后继微地址的形成 每条微指令执行完毕后根据要求形成后继地址,(1)增量方式: (顺序转移型) PC 这种方式同PC产生机器指令地址很相似,顺序执行微
21、指令时,后继地址由PC “1”形成 遇到转移时,后继地址由PC与形成转移微地址的逻辑电路组合给出 则下址字段仅起选择作用,57,6.4 微程序控制器,三、后继微地址的形成,(1)增量方式: uPC的四个输入对应四种状态,下址选B、C、D A:复位时 B:不同指令的入口地址 C:顺序执行时 D: 转移时,优点:微地址产生机构简单 缺点:速度慢,灵活性差,58,6.4 微程序控制器,(2)增量与下址字段结合产生后继微地址,59,6.4 微程序控制器,BCF(转移控制字段): 条件选择:见表6.2 如001时判断是否结果为0,BAF转移地址字段: 给出条件结果满足时的后继地址,PC的内容: 复位时,
22、第一条指令的第一条微指令地址由机器提供(微程序入口) BCF=7时,由操作码形成微地址,译码 PC BCF为1、2、3、4,对应三条条件、一条无条件转移指令: 满足时BAFPC;不满足则PC 加1 BCF为5:转微子程序( PC)RR;BCF为6时:返回,60,6.4 微程序控制器,(3)多路转移方式 A:根据操作码不同,产生不同的后继微地址。用MAPROM,操作码为地址,其内容为入口地址 B:根据硬件状态不同决定后继微地址 (4)微中断,四、微指令格式,设计原则:应该缩短微指令字长,减少微程序长度,使得速度提高,61,6.4 微程序控制器,(1)水平型微指令: 一条微指令定义并执行多个并行操
23、作的微命令。,优点:能充分利用数据通路的并行结构,使得微程序缩短,执行速度加快 缺点:指令字长,CM容量,机器指令与微指令的差别大,62,6.4 微程序控制器,(3)混合型微指令: 不太长的微指令,又具有一定的并行控制能力。 格式相对复杂,优点:字长,编程简单 缺点:并行能力 ,微程序长,执行速度,(2)垂直型微指令: 一条微指令只控制实现一两种操作。,63,五、动态微程序设计,6.4 微程序控制器,1.微程序控制存储器 微程序以解释的方式执行指令,指令固定,一般用ROM存放 2.动态微程序设计 如能根据用户的要求改变微程序,则具有动态微程序设计的功能。,64,六、微程序设计微指令执行方式,6
24、.4 微程序控制器,(1)串行方式: 取一条微指令执行取下一条执行,T串T取指T执行,控存CM的存取时间,执行微操作的时间,(2)并行方式:P 取指、执行在时间上重合,T并T执行,转移较难实现,65,6.6 微程序控制器的设计,微程序控制器的设计步骤,确定微程序控制方式 如:并、串型;水平、垂直画出指令流程图拟定微命令系统编制微程序微程序代码化写入控制存储器(ROM),66,6.7 流水线工作原理,一、流水线基本工作原理 1.顺序执行时,在某些计算机中,CPU可分为指令部件和执行部件,则程序的执行过程可表示为,67,6.7 流水线工作原理,2、指令重叠执行,68,6.7 流水线工作原理,二、流水线的阻塞 流水线阻塞:流水线不能连续工作 1、相关问题 如:后面指令所用的数与前面的结果相关,但没有得到结果时。 2、程序转移 采用“猜测法”等。,69,习题,70,本章结束,