第19讲组合逻辑设计优秀课件.ppt
第19讲组合逻辑设计第1页,本讲稿共28页第第10章章 控制单元的设计控制单元的设计Chapter 10 The Design of Control unit When there are only a few addressing modes,the particular addressing mode required is usually encoded within the instruction code(e.g.IBM System/390,most RISC).But when there are lots of addressing modes,a specific field is often set aside in the instruction to specify the addressing mode.第第9章章 控制单元的功能控制单元的功能Chapter 9 The Functions of Control unit 第2页,本讲稿共28页 控制器控制一条指令运行的过程是依次执行一系列微操作的过程。控制器控制一条指令运行的过程是依次执行一系列微操作的过程。微操作严格按照一定的时序进行。不同指令对应的微操作数及其繁简程微操作严格按照一定的时序进行。不同指令对应的微操作数及其繁简程度不同,每条指令和每个微操作所需的执行时间也不同。度不同,每条指令和每个微操作所需的执行时间也不同。控制器的控制方式是指形成控制不同微操作序列的时序控制信号的方法。控制器的控制方式是指形成控制不同微操作序列的时序控制信号的方法。常用的时序控制方式有:同步控制方式、异步控制方式和联合控制方式。常用的时序控制方式有:同步控制方式、异步控制方式和联合控制方式。9.2.4 控制方式控制方式 Control Mode第3页,本讲稿共28页(1)同步控制方式同步控制方式 Synchronous Control Mode 同步控制方式是由基准时标控制微操作序列,每个微操作出现的时间与统同步控制方式是由基准时标控制微操作序列,每个微操作出现的时间与统一的基准时标保持一致。一的基准时标保持一致。在程序运行时,任何指令的执行或指令中每个微操作的执行都在程序运行时,任何指令的执行或指令中每个微操作的执行都受事先确定的时序信号所控制。每个时序信号的结束就标志着一个受事先确定的时序信号所控制。每个时序信号的结束就标志着一个微操作或一条指令已经完成。随即开始执行后续的微操作,或自动微操作或一条指令已经完成。随即开始执行后续的微操作,或自动转向下一条指令的运行。转向下一条指令的运行。在同步控制方式下,一条机器指令由确定的机器周期组成,每个机器在同步控制方式下,一条机器指令由确定的机器周期组成,每个机器周期又分成若干个节拍。在频率固定的脉冲作用下形成这些节拍和周期。周期又分成若干个节拍。在频率固定的脉冲作用下形成这些节拍和周期。在任何情况下,一条指令的执行所需的机器周期和节拍数都是不变的。在任何情况下,一条指令的执行所需的机器周期和节拍数都是不变的。同步控制方式有三种方案:中央控制,局部控制,中央控制和局部控同步控制方式有三种方案:中央控制,局部控制,中央控制和局部控制相结合。制相结合。第4页,本讲稿共28页1中央控制中央控制中央控制采用完全统一的机器周期执行各种不同的指令。中央控制采用完全统一的机器周期执行各种不同的指令。指令的功能不同,所需的微操作也不同。指令的功能不同,所需的微操作也不同。以最繁的需时最多的指令为标准来确定机器周期的节拍数和时间以最繁的需时最多的指令为标准来确定机器周期的节拍数和时间间隔。对于那些比较简单的微操作将造成时间浪费间隔。对于那些比较简单的微操作将造成时间浪费。优点是控制器的逻辑相对简单,时间便于控制。但要求所有的指令都以优点是控制器的逻辑相对简单,时间便于控制。但要求所有的指令都以相同方式进行处理,效率和性能上存在不足。相同方式进行处理,效率和性能上存在不足。如果要提高效率,就必须让所有指令的处理时间都相同或相近,如果要提高效率,就必须让所有指令的处理时间都相同或相近,因而限制了采用某些功能复杂、处理时间长的指令。因而限制了采用某些功能复杂、处理时间长的指令。反之,若采用了功能复杂、处理时间长的指令,控制器处理指令的时序反之,若采用了功能复杂、处理时间长的指令,控制器处理指令的时序要加长,那些功能简单的指令就存在时间浪费、处理效率不高等问题。要加长,那些功能简单的指令就存在时间浪费、处理效率不高等问题。第5页,本讲稿共28页2局部控制局部控制 局部控制采用不同节拍的机器周期,以解决微操作执行时间不局部控制采用不同节拍的机器周期,以解决微操作执行时间不统一的问题。给操作较繁的微操作安排节拍数多的机器周期,较简统一的问题。给操作较繁的微操作安排节拍数多的机器周期,较简单的微操作安排在较短的机器周期内。单的微操作安排在较短的机器周期内。每条指令都有独立的处理方式或时序分配方式。指令周期取决每条指令都有独立的处理方式或时序分配方式。指令周期取决于所需的微操作序列长度。于所需的微操作序列长度。优点是处理效率高。但控制器逻辑复杂。优点是处理效率高。但控制器逻辑复杂。第6页,本讲稿共28页3中央控制和局部控制相结合中央控制和局部控制相结合 大多数指令的执行过程中包含的微操作个数及指令的执行时大多数指令的执行过程中包含的微操作个数及指令的执行时间比较接近或相等,可以将这样的指令作为标准建立统一的时序间比较接近或相等,可以将这样的指令作为标准建立统一的时序节拍,称为中央节拍,由中央控制器发出。节拍,称为中央节拍,由中央控制器发出。少数指令执行过程中包含的微操作个数较多,指令的执行时间少数指令执行过程中包含的微操作个数较多,指令的执行时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来完成比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来完成相应的操作。相应的操作。例如,例如,第7页,本讲稿共28页3中央控制和局部控制相结合中央控制和局部控制相结合 少数指令执行过程中包含的微操作个数较多,指令的执行时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来完成相应的操作。例如,执行乘除法指令时,由一组中央节拍完成取指令操作。然后,暂停执行乘除法指令时,由一组中央节拍完成取指令操作。然后,暂停中央节拍,启动局部节拍,完成中央节拍,启动局部节拍,完成N次加法和移位操作。再结束局部节拍,次加法和移位操作。再结束局部节拍,转回中央节拍,继续执行指令的操作。转回中央节拍,继续执行指令的操作。J1 J2 J3 J4Jn-1 JnM1 M2 M3 M4M1 M2 M3 M4插入插入局部节拍的宽度与中央节拍的宽度相等。局部节拍的宽度与中央节拍的宽度相等。中央节拍局部节拍第8页,本讲稿共28页(2)异步控制方式异步控制方式 Asynchronous Control Mode 不用统一的基准时标信号,而由专用的应答线路控制微操作的时不用统一的基准时标信号,而由专用的应答线路控制微操作的时序。前一个微操作的序。前一个微操作的“终了终了”信号可命令后一个微操作启动。微操作信号可命令后一个微操作启动。微操作序列没有固定的周期节拍和严格的时钟同步。序列没有固定的周期节拍和严格的时钟同步。系统各个部件之间没有统一的时钟,每条指令、每个微操作需要多系统各个部件之间没有统一的时钟,每条指令、每个微操作需要多少时间就占用多少时间。微操作信号的宽度是由对应微操作的需要来确少时间就占用多少时间。微操作信号的宽度是由对应微操作的需要来确定,几乎没有时间的浪费。定,几乎没有时间的浪费。当控制器发出进行某一微操作控制信号后,等待执行部件在完成当控制器发出进行某一微操作控制信号后,等待执行部件在完成该微操作后发回的该微操作后发回的“回答回答”信号,作为本次微操作的结束信号,再开信号,作为本次微操作的结束信号,再开始新的操作。始新的操作。异步控制方式的缺点是:设计比较复杂,器件多,控制方式比异步控制方式的缺点是:设计比较复杂,器件多,控制方式比较复杂,系统调试难度大,工作可靠性不易保证。较复杂,系统调试难度大,工作可靠性不易保证。AB第9页,本讲稿共28页(3)联合控制方式联合控制方式 将同步控制方式和异步控制方式结合起来,指令的微操作序列将同步控制方式和异步控制方式结合起来,指令的微操作序列既有同步控制的,又有异步控制的。既有同步控制的,又有异步控制的。CPU内部的数据加工、数据传送指令的微操作序列的执行时间比较接近,内部的数据加工、数据传送指令的微操作序列的执行时间比较接近,采用同步控制。其中某些执行时间较长的指令采用中央控制和局部控制相结采用同步控制。其中某些执行时间较长的指令采用中央控制和局部控制相结合的方式。合的方式。I/O操作指令,由于操作指令,由于I/O设备的工作速度与设备的工作速度与CPU的速度难以匹配,时间难的速度难以匹配,时间难以确定,采用异步控制。以执行部件送回的应答信号作为本次微操作的结束。以确定,采用异步控制。以执行部件送回的应答信号作为本次微操作的结束。CPU与主存储器之间的数据传送操作,需要的时间很长,采用异步控与主存储器之间的数据传送操作,需要的时间很长,采用异步控制。制。第10页,本讲稿共28页(4)人工控制人工控制 为了调试系统和软件开发的需要,计算机的控制台、面板或内部电路板上为了调试系统和软件开发的需要,计算机的控制台、面板或内部电路板上需设置一些开关、按钮,以进行人工控制。如需设置一些开关、按钮,以进行人工控制。如 Reset使计算机处于初始状态。使计算机处于初始状态。连续或单步转换开关。连续或单步转换开关。符合停机符合停机第11页,本讲稿共28页10.1 组合逻辑设计组合逻辑设计 “组合逻辑控制组合逻辑控制”又称硬布线控制又称硬布线控制(Hardwired Control)或或“硬连硬连逻辑控制逻辑控制”。组合逻辑控制器的设计方法是:1列出全部微操作列出全部微操作2建立操作时间表建立操作时间表4作组合逻辑框图作组合逻辑框图3求微操作命令的逻辑函数表达式求微操作命令的逻辑函数表达式第12页,本讲稿共28页程序计数器PCOP地址码指令寄存器指令译码器ID微微操操作作控控制制信信号号形形成部件成部件脉冲源启停线路时序信号产生部件运算器ALU通用寄存器组状态寄存器数据寄存器MDR地址寄存器MARCLK+1ResetResetDBABCB10.1.2 微操作的节拍安排微操作的节拍安排第13页,本讲稿共28页 安排微操作节拍时需注意:微操作的先后顺序,能在安排微操作节拍时需注意:微操作的先后顺序,能在1个节拍内个节拍内执行的微操作应尽可能安排在同一个节拍内。执行的微操作应尽可能安排在同一个节拍内。假设机器采用同步控制,每个机器周期包含假设机器采用同步控制,每个机器周期包含3个节拍。个节拍。1取指周期微操作的节拍安排取指周期微操作的节拍安排T0节拍可安排两个微操作。节拍可安排两个微操作。PCMAR,1R10.1.2 微操作的节拍安排微操作的节拍安排T1节拍可安排两个微操作。节拍可安排两个微操作。M(MAR)MDR,(PC)+1 PCT2节拍节拍 MDR IR,指令一取到指令一取到IR就开始进行译码就开始进行译码2间指周期微操作的节拍安排间指周期微操作的节拍安排T0节拍节拍 Ad(IR)MAR,1RT1节拍节拍 M(MAR)MDR T2节拍节拍 MDR Ad(IR),(或,(或 MDR MAR)第14页,本讲稿共28页(1)非访存指令非访存指令 清除累加器指令清除累加器指令CLAT03 执行周期微操作的节拍安排执行周期微操作的节拍安排T1T2 0ACC 累加器取反指令累加器取反指令COMT0T1T2 第15页,本讲稿共28页(1)非访存指令)非访存指令 算术右移算术右移1位指令位指令SHRT0执行周期微操作的节拍安排执行周期微操作的节拍安排T1T2 R(ACC)ACC,ACC0ACC0 循环左移循环左移1位指令位指令CSLT0T1T2 L(ACC)ACC,ACC0ACCn 停机指令停机指令STPT0T1T2 0G第16页,本讲稿共28页(2)访存指令访存指令 加法指令加法指令ADD XT0 Ad(IR)MAR,1R执行周期微操作的节拍安排执行周期微操作的节拍安排T1 M(MAR)MDR T2 (ACC)+(MDR)ACC 存数指令存数指令STA XT0 Ad(IR)MAR,1WT1 ACC MDRT2 MDR M(MAR)第17页,本讲稿共28页(2)访存指令访存指令 取数指令取数指令LDA XT0 Ad(IR)MAR,1R执行周期微操作的节拍安排执行周期微操作的节拍安排T1 M(MAR)MDR T2 MDRACC第18页,本讲稿共28页(3)转移类转移类指令指令 无条件无条件转移转移指令指令JMP XT03 执行周期微操作的节拍安排执行周期微操作的节拍安排T1T2 Ad(IR)PC 零零转移转移指令指令JZ XT0T1T2 第19页,本讲稿共28页CPU响应中断,执行中断隐指令响应中断,执行中断隐指令把把PC内容压栈,关中断内容压栈,关中断T0 SPMAR,0 中断允许触发器中断允许触发器4 中断周期微操作的节拍安排中断周期微操作的节拍安排T1 PC MDR,1WT2 MDR M(MAR),向量地址向量地址 PC第20页,本讲稿共28页10.1.3 组合逻辑控制器的设计方法组合逻辑控制器的设计方法组合逻辑控制器的设计方法是:组合逻辑控制器的设计方法是:1列出全部微操作列出全部微操作 分析并列出各条指令在取指、分析、执行中所需的全部微操作。分析并列出各条指令在取指、分析、执行中所需的全部微操作。(根据给定的(根据给定的CPU数据通路和指令功能)数据通路和指令功能)根据各条指令所需的全部微操作,按执行的先后顺序,再加上必根据各条指令所需的全部微操作,按执行的先后顺序,再加上必要的控制条件,列出全部指令所需的微操作的操作时间表。要的控制条件,列出全部指令所需的微操作的操作时间表。确定机器的状态周期、节拍与工作脉冲。确定机器的状态周期、节拍与工作脉冲。2建立操作时间表建立操作时间表10.1 组合逻辑设计组合逻辑设计第21页,本讲稿共28页4作组合逻辑框图作组合逻辑框图 根据求出的组合逻辑函数表达式,画出产生微操作命令序列根据求出的组合逻辑函数表达式,画出产生微操作命令序列的组合逻辑框图。的组合逻辑框图。组合逻辑控制器的设计方法组合逻辑控制器的设计方法3求微操作命令的逻辑函数表达式求微操作命令的逻辑函数表达式 根据微操作时间表,对各条指令中的同一种操作(公操作)进行集中、根据微操作时间表,对各条指令中的同一种操作(公操作)进行集中、合并、化简,求出每一个操作的组合逻辑函数表达式。合并、化简,求出每一个操作的组合逻辑函数表达式。第22页,本讲稿共28页10.2 微程序设计微程序设计 Microprogramming 微程序控制微程序控制Microprogrammed Control的概念和原理的概念和原理最早是由英国剑桥大学的最早是由英国剑桥大学的Maurice.V.Wilkes教授于教授于1951年提出来的。年提出来的。他指出,他指出,“一条机器指令可以分解为许多基本的微命令序列一条机器指令可以分解为许多基本的微命令序列”。并且首先。并且首先把这种思想用于计算机控制器的设计。把这种思想用于计算机控制器的设计。In 1964 IBM introduced its System/360 computer architecture which was used in a series of computers that could run the same programs with different speed and performance.This was significant at a time when most electronic computers were incompatible with one another,even those made by the same manufacturer.To facilitate this improvement,IBM utilized the concept of a microprogram,which still sees widespread usage in modern CPUs.第23页,本讲稿共28页 微程序控制的基本思想是把机器指令的每一操作控制步编成一条微指令。微程序控制的基本思想是把机器指令的每一操作控制步编成一条微指令。每条机器指令对应一段微程序。每条机器指令对应一段微程序。执行机器指令时,从控制存储器中顺序取出这些微指令,就可执行机器指令时,从控制存储器中顺序取出这些微指令,就可按所要求的次序产生相应的操作控制信号。按所要求的次序产生相应的操作控制信号。微程序控制器微程序控制器Microprogrammed Control Unit的核心部件是控制存储器。的核心部件是控制存储器。从二十世纪六十年代中期到八十年代末,大多数计算机都采用微从二十世纪六十年代中期到八十年代末,大多数计算机都采用微程序控制技术。程序控制技术。但是,当时还制造不了存放微程序的(廉价、高速、大容量的)控制但是,当时还制造不了存放微程序的(廉价、高速、大容量的)控制存储器。直到存储器。直到1964年才在年才在IBM360系列机上成功地采用了微程序设计技术,系列机上成功地采用了微程序设计技术,解决了指令系统的兼容问题。解决了指令系统的兼容问题。微程序微程序 Microprogram由微指令组成的程序由微指令组成的程序,是微指令的有序集合。是微指令的有序集合。第24页,本讲稿共28页是同时发出的控制信号所执行的一组微操作。是同时发出的控制信号所执行的一组微操作。Microprograms consist of series of microinstructions.These microinstructions control the CPU at a very fundamental level of hardware circuitry.For example,a single typical microinstruction might specify the following operations:Connect Register 1 to the A side of the ALU微程序微程序:由微指令组成的程序,是微指令的有序集合。Set the ALU to perform twos-complement addition微指令微指令 MicroinstructionStore the result value in Register 8Connect Register 7 to the B side of the ALU Update the condition codes with the ALU status flags(Negative,Zero,Overflow,and Carry)第25页,本讲稿共28页微命令微命令Microcommand是微操作的控制信号。是微操作的控制信号。微操作微操作Microoperation是微命令的操作过程,是执行部件接受微命令是微命令的操作过程,是执行部件接受微命令后所进行的最基本的操作。后所进行的最基本的操作。控制存储器控制存储器Control Memory/Control Storage用来存放实现整个指令用来存放实现整个指令系统的全部微程序,它一般用只读存储器构成。系统的全部微程序,它一般用只读存储器构成。一条指令由若干条微指令解释,按次序执行这些微指令实现指令的一条指令由若干条微指令解释,按次序执行这些微指令实现指令的功能。功能。The microcode usually does not reside in the main memory,but in a special high speed memory,called the control store.To simultaneously control all processors features in one cycle,the microinstruction is often as wide as 50 or more bits.第26页,本讲稿共28页 微程序设计技术的实质是将程序设计技术和存储技术相结合,用程序设微程序设计技术的实质是将程序设计技术和存储技术相结合,用程序设计的思想方法来组织操作控制逻辑。计的思想方法来组织操作控制逻辑。将微操作控制信号按一定规则进行信息编码,形成控制字(微指令),再将微操作控制信号按一定规则进行信息编码,形成控制字(微指令),再把这些微指令按时间先后排列起来成为微程序,存放在一个控制存储器中。执把这些微指令按时间先后排列起来成为微程序,存放在一个控制存储器中。执行一条指令实际上就是执行一段存放在控制存储器中的微程序。行一条指令实际上就是执行一段存放在控制存储器中的微程序。Microprogramming is a method that can be employed to implement machine instructions in a CPU relatively easily,often using less hardware than with other methods.It is a set of very detailed and rudimentary lowest-level routines which controls and sequences the actions needed to execute(perform)particular instructions,sometimes also to decode(interpret)them.第27页,本讲稿共28页Homework9-11,12,13Common logic styles used in CPU design include:Unstructured random logic Finite-state machines Microprogramming(common from 1965 to 1985,no longer common except for x86 RISC-like CPUs)Programmable logic array(common in the 1980s,no longer common).CPUs designed for high-performance markets might require custom designs for each of these items to achieve frequency,power-dissipation,and chip-area goals.思考10-7,10-19,20思考9-9,10第28页,本讲稿共28页