控制器 课件.ppt
控制器,学习内容控制器的基本设计方法组合逻辑控制器设计微程序控制器设计重点了解控制器的工作过程也即了解计算机全部工作过程,从而建立整机的概念,第五章 控制器,计算机结构回顾,存储程序计算机结构,是计算机工作的指挥和控制核心,计算机总框图,CPU,存储器,控制器概述,基本概念控制器又称计算机控制电路,是计算机中处理指令的部件控制器的功能按特定的顺序取出并解释程序的每一条指令,然后产生一系列使得运算器和其它部件进行操作的控制信号,计算机各部件在控制器的控制信号控制下协调工作,一步步地完成指令规定的工作,基本概念指令流计算机执行的指令序列数据流根据指令要求依次访问的数据序列控制流由控制器发出的控制信号序列,控制器概述,控制器概述,基本概念控制器的功能(从程序执行角度看)对指令流和数据流实施正确控制在空间上,由控制器形成受控部件的控制信号在时间上,控制器控制各种动作的执行顺序,控制器概述,基本概念控制器的功能(从系统设计和实现的角度看)取指令(控制指令流出)分析指令(控制指令分析)执行指令,发出各种操作命令(控制指令执行)确定下一条指令的地址(控制指令流向)执行环境的建立与保护(控制执行环境的维护),存储器,运算器,控制器,控制器概述,PC IR ID,ALU 寄存器 XR 地址运算,中断系统,CU 时序电路,控制器的功能(从完成功能角度看),1) 用户可见寄存器,(1) 通用寄存器,CPU 的寄存器,存放操作数,可作 某种寻址方式所需的 专用寄存器,(2) 数据寄存器,存放操作数(满足各种数据类型),两个寄存器拼接存放双倍字长数据,(3) 地址寄存器,存放地址,其位数应满足最大的地址范围,用于特殊的寻址方式 段基值 栈指针,(4) 条件码寄存器,存放条件码,可作程序分支的依据,如 正、负、零、溢出、进位等,控制器概述,2) 控制和状态寄存器,(1) 控制寄存器,PC,控制 CPU 操作,(2) 状态寄存器,状态寄存器,其中 MAR MBR IR 用户不可见,存放条件码用户可见,PSW 寄存器,存放程序状态字用户可见,PC 用户可见,MAR,M,MBR,IR,控制器概述,CPU 的寄存器,控制器概述,控制器设计的主要任务控制信号控制器需要产生对存储器、运算器和输入/输出部件的正确控制信号序列研究工作这些控制信号产生的时间和方法,第 5.1 节,指令结构,知识点了解实例计算机中的指令系统理解实例计算机指令的含义重点了解实例计算机中的指令系统,5.1、指令结构,5.1、指令结构,指令流的产生和控制过程,如何根据指令流产生控制流是控制器完成的主要工作,而控制信号则是由控制器对指令字进行分析处理后产生,指令字回顾,指令字通常由操作码和地址字段组成操作码字段用于定义指令的操作地址字段用于指示指令所操作对象的位置一条指令的地址字段可以包含若干个地址 指令格式可以分为固定长度与可变长度RISC计算机多采用固定长度指令格式指令通常为4个字节(32位)或者8个字节(64位)CISC计算机通常不是固定长度指令格式,其指令格式比RISC指令格式要复杂,5.1、指令结构,实例计算机的程序员界面数据表示指令格式寻址方式 实例计算机指令的定义,5.1.1、实例计算机的指令系统,实例计算机8位计算机8位累加器AC8位单地址指令实例机的指令格式基本1地址指令扩展1地址指令,实例机的指令格式,5.1.1、实例计算机的指令系统,(a)基本1地址指令,(b)扩展1地址指令,采用可变长度操作码,实例机的寻址空间存储地址5位,存储空间:25=32个存储单元实例机的指令、数据以及堆栈共享该存储空间 堆栈指针SP的初始值: 00011111B实例机的寻址方式直接寻址(基本1地址指令)立即数寻址(扩展1地址指令),5.1.1、实例计算机的指令系统,实例机的数据表示只有二进制8位无符号整数形式,5.1.1、实例计算机的指令系统,实例机的指令,指令系统还可以扩展?,表5.1 实例计算机的指令,5.1.1、实例计算机的指令系统,加法指令(ADD),5.1.2、实例计算机指令的含义,加法指令的格式:加法指令的功能:AC:=AC + Memory(address);,基本1地址指令,减法指令(SUB),5.1.2、实例计算机指令的含义,减法指令的格式:减法指令的功能:AC:=AC - Memory(address);,基本1地址指令,存储指令(STORE),5.1.2、实例计算机指令的含义,存储指令的格式:存储指令的功能:Memory(address):=AC;,基本1地址指令,读出指令(LOAD),读出指令的格式:,读出指令的功能: AC := Memory(address);,5.1.2、实例计算机指令的含义,基本1地址指令,条件转移指令(BRANCH),5.1.2、实例计算机指令的含义,转移指令的格式:转移指令的功能:IF (AC(7)=1)THEN PC:=address;ELSE PC:=PC+1;END IF;,基本1地址指令,转子指令(CALL),转子指令的格式:,转子指令的功能: SP := SP 1;Memory(SP) := PC;PC := address;,5.1.2、实例计算机指令的含义,基本1地址指令,子程序返回指令(RETURN),子程序返回指令的格式:,子程序返回指令的功能:PC := Memory(SP);SP := SP + 1;,5.1.2、实例计算机指令的含义,扩展0地址指令,清累加器AC指令(CLEAR),5.1.2、实例计算机指令的含义,清累加器AC指令的格式:清累加器AC指令的功能:AC:= 0;,扩展0地址指令,右移指令(SHIFTR),5.1.2、实例计算机指令的含义,右移指令的格式:右移指令的功能:again:while counter/=00 loopAC (0:6):=AC(1:7);AC(7):=0;counter:=counter-1;end loop again;,扩展1地址指令,左移指令,5.1.2、实例计算机指令的含义,左移指令的格式:左移指令的功能:again:while counter/=00 loopAC(1:7):=AC(0:6);AC(0):=0;counter:=counter-1;end loop again;,扩展1地址指令,第 5.2 节,控制器的基本设计技术,知识点了解控制器的基本组织指令周期控制器的基本组织理解基本控制器的设计方法微操作时标系统组合逻辑控制器设计重点掌握基本控制器的组合逻辑设计方法,5.2、控制器的基本设计技术,5.2、控制器的基本设计技术,控制器的基本组织基本控制器的设计,分阶段设计,存储程序计算机的程序执行过程取指令、分析指令和控制指令执行的过程控制器从存储器中取指令、访问数据和加工数据的操作序列操作序列由指令序列(指令流)完成指令流由控制流控制完成控制流包含控制指令执行的控制信号序列,5.2.1、控制器的基本组织,指令周期定义: 一条指令的执行时间,即从取指令开始到指令执行完成所需要的时间。,完成一条指令,执行,取指、分析,取指阶段,执行阶段,5.2.1、控制器的基本组织,指令周期取指周期控制器将程序计数器PC内容送存储器,启动存储器读,从存储器中取出指令,然后对指令进行译码,并将程序计数器PC加(为程序顺序执行提供下条指令的地址)执行周期控制器将操作数地址送存储器,从存储器中取出操作数,并按指令要求对操作数完成相应操作,或将结果回写(包括送存储器),5.2.1、控制器的基本组织,1,PC,送存储器,2,、取指令,3,、指令译码,4,PC+,指令周期,取指周期,IF,执行周期,EX,1,送操作数地址,2,、取操作数,3,、完成操作,4,结果回写,指令周期,指令周期,时间,5.2.1、控制器的基本组织,指令周期,指令周期每条指令的指令周期不同,NOP,ADD mem,MUL mem,5.2.1、控制器的基本组织,指令周期具有间接寻址的指令周期,带有中断周期的指令周期,5.2.1、控制器的基本组织,指令周期四类指令的指令周期,非访存 指令周期,直接访存 指令周期,间接访存 指令周期,转移 指令周期,5.2.1、控制器的基本组织,指令周期指令周期流程,5.2.1、控制器的基本组织,指令周期 CPU 工作周期的标志,CPU有4 种性质的访存操作,取 指令,取 地址,取 操作数,存 程序断点,取指周期,间址周期,执行周期,中断周期,CPU 的4个工作周期,5.2.1、控制器的基本组织,1) 取指周期数据流,指令周期指令周期的数据流,CU,MAR,PC,5.2.1、控制器的基本组织,2) 间址周期数据流,5.2.1、控制器的基本组织,指令周期指令周期的数据流,3) 执行周期数据流,4) 中断周期数据流,不同指令的执行周期的数据流是不同的,5.2.1、控制器的基本组织,指令周期的数据流,控制寄存器,5.2.1、控制器的基本组织,微操作控制部件,5.2.1、控制器的基本组织,控制寄存器程序计数器PC指出下一条指令的地址程序启动时,PC被预置为某个特定值指令寄存器IR指令从存储器中取出以后,要送入指令寄存器IR中,以便保存和进行指令分析存储器地址寄存器MAR用于保存访问存储器的地址,5.2.1、控制器的基本组织,控制寄存器存储器数据寄存器MBR暂存从存储器中读出的数据或需要写入存储器的数据读触发器R需要进行存储器读时,将它置位写触发器W当存储缓冲寄存器MBR中有数据需要写入存储器时,将它置位,5.2.1、控制器的基本组织,控制寄存器取指令触发器IF IF触发器置位时表示计算机处于取指周期。系统启动时,IF被初始化为1执行指令触发器EXEX触发器置位时表示计算机处于执行周期。系统启动时,EX被初始化为0,5.2.1、控制器的基本组织,对控制寄存器操作的控制信号对控制器中的所有控制寄存器,需要有相应的控制信号对它们进行操作,5.2.1、控制器的基本组织,“PC复位” 将程序计数器清0“PC加1” 用于PC值加1操作。使PC指向下一条指令在存储器中的位置“MBR送IR”将MBR的内容送到IR。是取指令暂存操作,5.2.1、控制器的基本组织,“PC送MAR” 将指令计数器PC的值送到存储器地址缓冲寄存器MAR中去。这里送的实际上是下一条指令的地址“IR送MAR”将指令寄存器IR中的地址字段送到存储器地址缓冲寄存器MAR中去。这种操作用于转移指令,送的是转移目标指令的地址,5.2.1、控制器的基本组织,“清R”和“置R” 完成R触发器的操作,用于对存储器的读操作。对存储器的读操作结束时,发“清R”信号;需要读存储器时,需要预先发出“置R”信号“清W”和“置W” 完成W触发器的操作。与对R触发器操作的控制信号相似,用于对存储器写操作控制,5.2.1、控制器的基本组织,“清IF”和“置IF” 完成IF触发器的操作,用于控制取指周期的时间。取指周期开始时,需要发出“置IF”信号;取指周期结束时,发出“清IF”信号“清EX”和“置EX” 完成EX触发器的操作,用于控制执行周期。与对IF触发器操作的控制信号功能相似,用于对执行周期的控制,5.2.1、控制器的基本组织,与运算器有关的控制信号对运算器进行操作控制,需要增加相应的控制信号,5.2.1、控制器的基本组织,“AC复位”:将累加器A的内容清为全“0”“ALU送AC”:将ALU的计算结果送AC“加法”:控制ALU进行加法运算“减法”:控制ALU进行减法运算,“AC送MBR”:将累加器AC的内容送 存储缓冲寄存器MBR“MBR送AC”:将MBR的内容送累加器AC,5.2.1、控制器的基本组织,5.2.2 基本控制器的设计,基本控制器的设计如何形成受控部件的控制信号?如何连接受控部件的控制信号?在何时使这些控制信号有效?,控制器的功能指令控制功能计算机的工作过程是连续执行指令的过程,控制器应能保证指令流的正常流动时序控制功能控制器必须产生指令周期、机器周期和节拍等时序信号,用来给机器定时操作控制功能中断控制功能,5.2.2、基本控制器的设计,控制器的组成指令部件程序计数器、指令寄存器、指令译码器、地址形成部件时序部件脉冲源、启停控制逻辑、节拍信号发生器微操作信号发生器中断控制逻辑,5.2.2、基本控制器的设计,控制器的核心控制单元(CU),控制单元的外特性,时钟,标志,CPU 内部的控制信号,到系统总线的控制信号,来自系统总线的控制信号,5.2.2、基本控制器的设计,指令寄存器,1. 输入信号,(1) 时钟,(2) 指令寄存器,(4) 外来信号,(3) 标志,CU 受时钟控制,控制信号 与操作码有关,CU 受标志控制,INTR 中断请求;,HRQ 总线请求,一个时钟脉冲,发一个操作命令或一组需同时执行的操作命令,如,5.2.2、基本控制器的设计,2. 输出信号,(1) CPU 内的各种控制信号,(2) 送至控制总线的信号,INTA,HLDA,访存控制信号,访 IO/ 存储器的控制信号,读命令,写命令,中断响应信号,总线响应信号,5.2.2、基本控制器的设计,计算机上的一个程序,5.2.2、基本控制器的设计,控制器的控制信号举例,PC,IR,AC,CU,时钟,ALU,控制信号,标志,控制信号,取指周期,以 ADD 为例,PC,IR,CU,5.2.2、基本控制器的设计,ADD 间址周期,5.2.2、基本控制器的设计,间址周期,控制器的控制信号举例,ADD 执行周期,ALU,5.2.2、基本控制器的设计,AC,执行周期,控制器的控制信号举例,微操作相对指令完成的功能而言,一个部件能够完成的基本操作,称为微操作(Micro-OP或OP)。实际上是控制器送出的控制线,具有1和0两种状态控制器发出的控制信号通过硬连线的方式连接到某个受控部件微操作是计算机中最基本的操作,也是最小的具有独立意义的操作,5.2.2、基本控制器的设计,组合逻辑控制器设计中一个重要概念,微操作一条指令的执行过程就是一个微操作序列的操作过程。控制器对指令的控制过程就转换为对指令所对应微操作的控制过程。不同的指令对应着不同的微操作序列控制器对指令流与数据流的控制就是对这些微操作序列流的控制,5.2.2、基本控制器的设计,控制方式两种控制方式:同步控制和异步控制产生不同微操作命令序列所用的时序控制1)同步控制方式机器有统一的时钟信号,微操作与时钟信号同步。 控制器产生统一的、顺序固定的、周而复始的节拍电位和工作脉冲微操作必须在一个时钟周期内完成。系统时钟周期以微操作序列最长的指令为标准,确定控制微操作运行的节拍数简单指令(微操作序列短的指令)可空一部分节拍不用,5.2.2、基本控制器的设计,1)同步控制方式,5.2.2、基本控制器的设计,信号宽度确定,有时间浪费,设计简单、便于调试、系统可靠,2)异步控制方式各个部件之间没有统一的时钟各部件有自己的时钟有的异步控制甚至不需要时钟 “命令微操作回答”方式命令信号启动一个微操作,在每个微操作执行完毕,发出回答信号,控制器收到回答信号即开始命令启动下个微操作每条指令执行完毕,发出回答信号,控制器收到回答信号即开始执行下条指令,5.2.2、基本控制器的设计,每条指令需要n节拍就产生n节拍,2)异步控制方式,5.2.2、基本控制器的设计,信号宽度不确定,没有时间浪费,设计复杂、系统调试难度大、系统可靠性不易保证,时标系统构成指令的微操作序列是有时序要求的对于同步控制方式,统一的系统时钟,是协调各个部件有序工作的基本手段时钟、节拍和节拍电位构成时标系统节拍在同步控制方式下,根据系统时钟信号,以系统时钟周期为基本单位,将指令周期划分为若干个相等的时间段,每个时间段称为一个节拍节拍一般用具有一定宽度的电位信号表示,称为节拍电位节拍电位通常具有周期性,称为节拍电位周期,5.2.2、基本控制器的设计,时标系统1)节拍和节拍电位,5.2.2、基本控制器的设计,系统时钟周期,CLK,T0,T1,T2,T3,时标系统时钟、指令周期、节拍电位和节拍电位周期的关系,时标系统多级时序系统,机器周期、节拍组成多级时序系统,一个指令周期含若干个机器周期,一个机器周期包含若干个时钟周期,CLK,节拍,节拍,2)节拍电位产生电路,时标系统3)指令周期和存储周期指令周期一条指令的执行时间,与计算机的存储周期密切相关通常是存储周期的整数倍零地址指令:指令周期为一个存储周期一地址指令(直接):指令周期为二个存储周期一地址指令(间接):指令周期为三个存储周期存储周期存储系统的工作周期,即两次存储器访问的最小时间间隔,5.2.2、基本控制器的设计,时标系统3)指令周期和存储周期,5.2.2 基本控制器的设计,时标系统4)系统时钟周期的确定原则除访存微操作外,一般微操作在一个节拍完成系统时钟频率考虑的因素电路的门级延迟td电路允许的最大逻辑级数n信号时间裕量,包括电路的线传输延时(78ns/m)和电路的离散误差(一般为估计值,有时需精确分析),5.2.2、基本控制器的设计,时标系统4)系统时钟周期的确定原则节拍宽度Tcpntd+一般取=(1/31/4)ntd,系统中微操作的最大逻辑级数:门级延迟要求:,5.2.2、基本控制器的设计,时标系统例:某先行进位加法器逻辑级为8.5级,加法器输入开关2级,累加器的接收和打入共6级,操作控制信号为7级。使用门延迟为8ns的集成电路设计该加法器,试确定系统时钟周期。解:整个加法器的级数:n=8.5+2+6+7=23.5(级)已知td=8ns,取=1/3(ntd)=62ns则:Tcpntd+=23.58+62=250ns说明计算机系统时钟周期不能小于250ns,即时钟频率不能超过4MHz,5.2.2、基本控制器的设计,省略了输入输出部件;指令和数据都存放在存储器中,计算机的处理结果将保存在存储器中,一个累加器型的实例计算机,ALU,5.2.3 组合逻辑控制器设计与实现,5.2.3 组合逻辑控制器设计与实现,设计过程确定指令系统确定指令周期的组成安排微操作的节拍,并建立指令系统的微操作清单建立所有指令微操作序列表和微操作时序表写出微操作命令的最简表达式画出逻辑图选择适合的硬件实现,1) 实例机的指令系统,5.2.3 组合逻辑控制器设计与实现,2) 指令周期的组成,CLK,T0,T1,T2,T3,采用 同步控制方式,安排微操作时序的原则,原则一 微操作的 先后顺序不得 随意 更改,原则二 被控对象不同 的微操作 尽量安排在 一个节拍 内完成,原则三 占用 时间较短 的微操作 尽量 安排在 一个节拍 内完成 并允许有先后顺序,5.2.3 组合逻辑控制器设计与实现,3) 微操作的节拍安排,取指周期 微操作的 节拍安排,原则二,原则三,原则二,T0,T1,T2,原则二,T3,5.2.3 组合逻辑控制器设计与实现,3) 微操作的节拍安排,执行周期 微操作的 节拍安排,CLEAR,T0,T1,T2,T3,原则二,5.2.3 组合逻辑控制器设计与实现,3) 微操作的节拍安排,分析指令ADD 所涉及的微操作,“PC送MAR”“设置读条件”,“MBR送IR”,“IR地址字段送MAR”“设置读条件”,“加法”,“PC1送PC”,5.2.3 组合逻辑控制器设计与实现,“ALU结果送AC”,3) 微操作的节拍安排ADD指令,3) 微操作的节拍安排ADD指令,5.2.3 组合逻辑控制器设计与实现,取指周期,取指周期,5.2.3 组合逻辑控制器设计与实现,3) 微操作的节拍安排ADD指令,5.2.3 组合逻辑控制器设计与实现,3) 微操作的节拍安排ADD指令,取指周期,执行周期,5.2.3 组合逻辑控制器设计与实现,3) 微操作的节拍安排 ADD指令,3) 微操作的节拍安排 ADD指令,5.2.3 组合逻辑控制器设计与实现,4)列出指令的微操作序列表,表5.2 ADD的微操作序列表,表5.3 SUBTRACT的微操作序列表,表5.4 STORE的微操作序列表,表5.5 LOAD的微操作序列表,表5.6 CLEAR的微操作序列表,表5.7 5条指令的实例计算机的微操作表,微操作控制信号的逻辑表达式 (1)置IF = EX (2)清IF = IF (3)置EX= IF (4)清EX=EX (5)置R=IFT0+EXT0 (ADD+SUB+LOAD) (6)清R=IFT1+EXT1 (ADD+SUB+LOAD) (7)置W=EXT0STORE (8) 清W=EXT1STORE,5) 写出微操作的最简表达式,5.2.3 组合逻辑控制器设计与实现,微操作控制信号的逻辑表达式,(9) PC加1=IFT2 (10) PC送MAR=IFT0 (11) MBR送IR=IFT1 (12)IR送MAR=EXT0(ADD+SUB+STORE+LOAD) (13) 加法=EXT2ADD (14) 减法=EXT2SUB (15) ALU送ACC=EXT3 (ADD+SUB) (16) AC复位=EXT3CLEAR (17) AC送MBR=EXT0STORE (18)MBR送AC=EXT3LOAD,5.2.3 组合逻辑控制器设计与实现,6) 画出逻辑图指令识别/指令译码直接控制译码,5.2.3 组合逻辑控制器设计与实现,6)画出逻辑图指令识别,5.2.3 组合逻辑控制器设计与实现,微操作控制信号产生电路示例(15) “ALU送AC”(15)=EXT3(ADD+SUB),5.2.3 组合逻辑控制器设计与实现,第 5.3 节,指令流控制和复杂指令设计,知识点了解计算机指令流控制指令理解局部控制周期技术中央控制局部控制混合控制重点掌握局部控制周期技术,5.3、指令流控制和复杂指令设计,5.3.1、计算机指令流控制,PCPC + 1PCn,CPU执行程序时,通常每执行一条指令后,程序计数器PC自动加1,要打破这种顺序,需要程序控制指令 转移指令 子程序调用指令 子程序返回指令,条件转移指令,5.3.1、计算机指令流控制,转移指令的格式:转移指令的功能:IF (AC(7)=1)THEN PC:=address;ELSE PC:=PC+1;END IF;,表5.8 BRANCH的微操作序列表,无操作,增加微操作(19) IR送PC = EXT2BRANCH(AC7=1),5.3.1、计算机指令流控制,PC复位PC加“1”IR送PC,PC,转子指令(CALL),转子指令的格式:,转子指令的功能:SP := SP 1;Memory(SP) := PC;PC := address;,5.3.1、计算机指令流控制,如果不采用堆栈技术作为子程序的现场保护方法,可否实现子程序嵌套?,转子指令工作过程,SP,IR,CU,时钟,控制信号,标志,PC,PC,SP,5.3.1、计算机指令流控制,表5.9 CALL的微操作序列表,子程序返回指令,子程序返回指令的格式:,子程序返回指令的功能:PC := Memory(SP);SP := SP + 1;,5.3.1、计算机指令流控制,表5.10 RETURN的微操作序列表,增加微操作(20)SP送MAR=EXT0(CALL+RETURN)(21)SP加1=EXT1RETURN(22)SP减1=IFT3CALL(23)PC送MBR=EXT0CALL(24)MBR送PC=EXT2RETURN,5.3.1、计算机指令流控制,调整微操作(5) 置R = IF T0 + EX T0 (ADD + SUB)改为: 置R=IF T0 + EXT0 (ADD + SUB + RETURN)(6) 清R = IF T1 + EX T1 (ADD + SUB+LOAD)改为:清R= IFT1 + EXT1 (ADD + SUB +LOAD + RETURN)(7) 置W = EX T0 STORE改为:置W = EXT0 (STORE + CALL),5.3.1、计算机指令流控制,调整微操作(8) 清W = EX T1 STORE改为:清W = EX T1 (STORE + CALL)(18) IR送PC = EXT2(AC7 = 1) BRANCH改为:IR送PC = EX T2 (AC7 = 1) BRANCH + CALL)每个 控制 信号 在 指定机器周期 的 指定节拍 T 时刻 发出,5.3.1、计算机指令流控制,5.3.2、局部控制周期技术,问题并不是每条指令在每一节拍均有微操作一些指令执行需要更多的时间一些指令的执行时间不确定,中央控制、局部控制、混合控制,在指令执行时间上对控制器进行功能扩展,中央控制就是要有一种适合于一台计算机中所有指令的处理方式和时序分配方式,使所有的指令都在统一的时序下进行处理,所有指令的指令周期都是相同的。 控制逻辑简单、实现容易 效率低效率和功能给控制器设计带来矛盾,5.3.2、局部控制周期技术,局部控制每条指令都有独立的处理方式或时序分配方式,由指令启动各自的时序进行处理,每一条指令的指令周期取决于它的微操作序列长度。 控制逻辑复杂、实现困难 效率高,5.3.2、局部控制周期技术,混合控制在中央控制的基础上,对个别指令进行局部控制的一种设计方式。结合了前两种控制模式的优点,5.3.2、局部控制周期技术,混合控制指令基本周期大多指令都采用具有相同的指令周期的中央控制方式 局部控制周期对指令基本周期不能完成的指令,其中处理时间较长的微操作采用局部控制方式,这段时间称为局部控制周期,5.3.2、局部控制周期技术,混合控制,取指周期,执行周期,5.3.2、局部控制周期技术,图5.14 中央控制与局部控制的转换,LTSG,图5.14 中央控制与局部控制的转换,LTSG,图5.14 中央控制与局部控制的转换,2,位移位计数器,SC,IR,1,IR,0,SC,1,SC,0,初值,SC,1,SC,0,&,计数结束,IR,送,SC,LTSG,移位触发器,SR,1,1,&,图5.15 移位指令局部控制电路的逻辑结构,SR置位:表示指令进入局部控制时序,SR复位:表示指令回到中央控制时序,5.3.2、局部控制周期技术,混合控制:右移指令的实现状态转换通过状态标志SR进行中央、局部转换在节拍IF的T3拍的下降沿,通过置SR,使控制器从中央控制转入局部控制在节拍SR和SC=00时,通过清除SR并设置EX,使控制器从局部控制转入中央控制,5.3.2、局部控制周期技术,表5.11 SHIFTR的微操作序列表,5.3.2、局部控制周期技术,增加微操作(25)IR送SC=IFT3(SHIFTR+ SHIFTL)(26)置SR=IFT3(SHIFTR+ SHIFTL)(27)清SR=SRTLi(SC=00) (SHIFTR+ SHIFTL)(28)右移=SRTLi (SC00) SHIFTR(29)左移=SRTLi (SC00) SHIFTL调整微操作(3) 置EX=IFT3(ADD+SUBTRACT+STORE+LOAD+CLEAR+BRANCH+CALL+RETURN)+SRTLi(SC=00) (SHIFTR+ SHIFTL),实例计算机,易混淆的概念 同步控制方式 异步控制方式 中央控制周期技术 局部控制周期技术,5.3.2、局部控制周期技术,控制器组合逻辑设计特点问题指令系统和控制逻辑被特定电路绑定在一起,设计复杂且难以修改设计方法难以形式化、规范化,设计效率低,控制器的微程序设计方法,5.3.2、局部控制周期技术,庞杂、调试困难、修改困难,思路清晰 、简单明了,控制逻辑级数以满足机器快速性的要求,第 5.4 节,微程序控制器技术,5.4、微程序控制器技术,知识点理解微程序控制基本概念微指令、微程序、微指令周期理解微程序控制基本原理Wilkes模型微程序控制器的工作过程了解实例计算机的微程序实现重点掌握微程序控制基本概念、微程序控制器的工作过程,基本思想假设一条指令OnTv :开电视机两个微操作:1 插上电源插头 2 按下电源开关,OnTv,OnTv,组合逻辑 微程序,5.4、微程序控制器技术,将微操作用微指令表示,固化在存储单元,编制对机器指令进行取指、译码和执行的微指令序列(微程序),执行该微程序,完成该机器指令的执行,5.5.1、微程序控制基本概念,基本思想如果一台计算机的指令共有n个微操作,每一个微操作可用一个二进制位控制当其中某一位为1时,则执行该位所控制的微操作当其中某一位为0时,就不执行这个微操作n个控制位就构成一条微指令,直接控制编码微指令,微指令将指令执行微操作序列中一个节拍内同时完成的微操作用控制位构成的二进制代码串来表示构成一条指令的一组微操作,就可以用一组微指令来描述 微程序构成一条指令的微指令序列微指令序列 微程序一条机器指令对应一段微程序控制存储器存放微程序的存储器将所有指令对应的微程序保存在该存储器中,5.5.1、微程序控制基本概念,微命令微操作的控制信号控制部件通过控制线向执行部件发出的各种控制命令微操作执行部件接受微命令后所进行的最基本操作相容微操作指在同时或同一个CPU时钟周期内并行执行的微操作不相容(互斥)微操作指不能在同时或同一个CPU时钟周期内并行执行的微操作,5.5.1、微程序控制基本概念,5.5.1、微程序控制基本概念,控制存储器(CM),一条机器指令,一段微程序,M,微程序控制器工作过程控制器处理一条指令的工作过程,就是启动这条指令在控制存储器中所对应的微程序,一条一条地顺序执行微指令的过程微程序控制器采用上述方法设计的控制器,5.5.1、微程序控制基本概念,微程序控制器,5.5.1、微程序控制基本概念,用软件的程序设计方法来设计硬件。速度慢,微程序控制单元的基本框图,顺序逻辑,CMAR,地址译码,至 CPU 内部和系统总线的控制信号,微指令一组实现一定操作功能的微命令的组合微指令的组成微操作码字段指定一条微指令中同时产生的操作控制信号微地址码字段决定下一条要执行的微指令地址其它有关信息提供操作需要的数据或某些特征信息,5.5.1、微程序控制基本概念,微指令周期指从控制存储器读取一条微指令并执行完相应的微操作所需要的时间时间一般是固定的和指令周期的区别:指令周期时间可以变化微程序控制的重要指标之一,5.5.1、微程序控制基本概念,微程序设计将传统的程序设计方法运用到控制逻辑的设计中用类似程序设计的方法,组织和控制计算机内部信息的传送,5.5.1、微程序控制基本概念,软件和硬件相互促进发展软件方法设计硬件微程序控制器设计微程序设计的优点易于修改设计通过仿真(emulation)其他指令系统,保证软件兼容可以减少实现复杂指令的成本硬件对软件的直接支持数据表示寻址技术,5.5.1、微程序控制基本概念,1951年,Wilkes提出了微程序控制的基本思想提出一种控制器设计的系统化方法1953年,给出了微程序工作模型,称之为Wilkes模型 1965年,IBM 360系列机成功采用了微程序技术。第一次提出系列计算机的概念,该系列有大、中、小型计算机,不同型号的机器在程序指令的层次上互相兼容,5.5.2 Wilkes模型,1965年,IBM 360系列机都采用了微程序技术,IBM system/360,最早使用半导体元件的通用计算机系列第三代计算机的里程碑,5.5.2 Wilkes模型,Wilkes模型,CMAR,FCMAR,指令寄存器,IR,条件码,传送控制,时钟信号,S,控制存储器CM,Wilkes模型的组成控制存储器CM微指令寄存器IR控制存储器地址寄存器CMAR控存地址缓冲寄存器FCMAR条件码接收电路S地址译码器,5.5.2 Wilkes模型,控制存储器CM存放实现整个指令系统的所有微程序只读存储器控制存储器容量视机器指令系统而定,一般为几K字几M字 控制存储器要求速度快,采用高速器件,5.5.2 Wilkes模型,微指令寄存器IR存放当前微指令控制信号字段将操作控制信号送到控制信号线上微地址码字段用于控制下一条微指令地址的产生,5.5.2 Wilkes模型,控制存储器地址寄存器CMAR微地址寄存器AR存放将要访问的下条微指令的地址,5.5.2 Wilkes模型,控存地址缓冲寄存器FCMAR微地址形成逻辑根据微指令中的微地址码控制信息以及机器状态标志产生下一条微指令的地址根据机器指令的操作码变换产生对应于该指令的微程序入口地址。 地址变换,5.5.2 Wilkes模型,条件码接收电路S用于接受外部信号,控制微程序的流向地址译码器将CMAR中的下条微指令地址译码,以选择CM对应的存储单元,将其中的微指令读出送微指令寄存器IR,5.5.2 Wilkes模型,Wilkes模型的工作过程,地,址,译,码,器,CMAR,FCMAR,IR,控制信号字段,微地址码字段,条件码,传送控制,时钟信号,S,控制存储器CM,微指令寄存器,u,IR,指令寄存器,Wilkes模型的工作过程每条机器指令对应于一段微程序。这些微程序编好后放入CM中经过一定的地址变换,得到IR中指令的微程序入口地址FCMARFCMARCMAR,从CM中取出微指令送到IR,即微指令执行产生微命令的控制信号后续微指令的地址编码FCMAR,5.5.2 Wilkes模型,控存,微程序控制的工作原理,(1) 取指阶段,由 CMBR 发命令,形成下条微指令地址 N + 1,由 CMBR 发命令,由 CMBR 发命令,形成下条微指令地址 N + 2,执行取指微程序,微程序控制的工作原理,(2) 执行阶段,由 CMBR 发命令,由 CMBR 发命令,由 CMBR 发命令,执行 LOAD 微程序,形成下条微指令地址 P + 1,形成下条微指令地址 P + 2,形成下条微指令地址 N,(2) 执行阶段,由 CMBR 发命令,由 CMBR 发命令,由 CMBR 发命令,执行 ADD微程序,形成下条微指令地址 Q + 1,形成下条微指令地址 Q + 2,形成下条微指令地址 N,ADD,形成下条微指令地址 Q + 3,由 CMBR 发命令,几个概念的对比微命令 VS. 微操作构成控制信号序列的最小单位,由控制部件向执行部件发送,是微操作的控制信号执行部件接受微命令后进行的最基本的操作,是微命令控制的操作过程 实质是同一信号:对控制部件体现为微命令,对执行部件体现为微操作机器指令 VS. 微指令提供给用户编程的基本单位,机器能完成的最基本操作,机器指令由微指令解释执行实现机器指令操作的一系列微命令的组合,5.5.2 Wilkes模型,几个概念的对比程序 VS. 微程序由机器指令构成。用户编制,存放在主存储器中,允许修改微程序是微指令的有序集合,用于描述机器指令。计算机设计者编制,存放在控制存储器中,不允许用户修改主存储器 VS. 控制存储器存放系统程序和用户程序,容量大 存放对应于机器指令系统的微程序,容量有限,5.5.2 Wilkes模型,几个概念的对比微程序控制 VS. 组合逻辑控制可调整、速度慢、实现复杂指令 不可调整、速度快、实现简单指令典型RISC处理器一般采用组合逻辑控制实现CISC处理器采用两种控制逻辑常用的简单指令采用组合逻辑控制实现不常用的复杂指令采用微程序控制实现,5.5.2 Wilkes模型,5.5.3、实例计算机的微程序实现,ALUAC+MBR,ALUACC-MBR,表5.13 五条指令的控制流,确定微指令的结构指令控制流,微程序控制器中没有节拍问题,只有微指令的执行顺序问题,确定微指令的结构微命令清单(1),5.5.3、实例计算机的微程序实现,确定微指令的结构微命令清单(2),确定微指令的结构微指令格式(1),(1) 微指令的编码方式,(2) 后继微指令的地址形成方式,采用直接控制编码,由机器指令的操作码通过微地址形成部件产生,由微指令的下地址字段直接给出,(3) 微指令字长,确定 操作控制字段,由 21 个微操作 取 26 位,确定微指令的 下地址字段,由 40 条微指令 取6 位,微指令字长 可取 26 6 32 位,5.5.3、实例计算机的微程序实现,确定微指令的结构微指令格式(2),5.5.3、实例计算机的微程序实现,微程序设计和微代码,5.5.3、实例计算机的微程序实现,有控制信号的地方填“1”,图5.23 五条指令的微程序码点图,微程序控制器的实现,5.5.3、实例计算机的微程序实现,微程序控制器的控制信号是由控