《第19讲组合逻辑设计.ppt》由会员分享,可在线阅读,更多相关《第19讲组合逻辑设计.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理Principles of Computer Organization广义双语教学课程http:/211.64.192.109/skyclass25/青岛理工大学 校级精品课程http:/ 控制单元的设计控制单元的设计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/3
2、90,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 控制器控制一条指令运行的过程是依次执行一系列微操作控制器控制一条指令运行的过程是依次执行一系列微操作的过程。微操作严格按照一定的时序进行。不同指令对应的微的过程。微操作严格按照一定的时序进行。
3、不同指令对应的微操作数及其繁简程度不同,每条指令和每个微操作所需的执行操作数及其繁简程度不同,每条指令和每个微操作所需的执行时间也不同。时间也不同。控制器的控制方式是指形成控制不同微操作序列的时序控控制器的控制方式是指形成控制不同微操作序列的时序控制信号的方法。常用的时序控制方式有:同步控制方式、异步制信号的方法。常用的时序控制方式有:同步控制方式、异步控制方式和联合控制方式。控制方式和联合控制方式。9.2.4 控制方式控制方式 Control Mode(1)同步控制方式同步控制方式 Synchronous Control Mode 同步控制方式是由基准时标控制微操作序列,每个微操作出同步控制
4、方式是由基准时标控制微操作序列,每个微操作出现的时间与统一的基准时标保持一致。现的时间与统一的基准时标保持一致。在程序运行时,任何指令的执行或指令中每个微操作的执行在程序运行时,任何指令的执行或指令中每个微操作的执行都受事先确定的时序信号所控制。每个时序信号的结束就标志着都受事先确定的时序信号所控制。每个时序信号的结束就标志着一个微操作或一条指令已经完成。随即开始执行后续的微操作,一个微操作或一条指令已经完成。随即开始执行后续的微操作,或自动转向下一条指令的运行。或自动转向下一条指令的运行。在同步控制方式下,一条机器指令由确定的机器周期组成,在同步控制方式下,一条机器指令由确定的机器周期组成,
5、每个机器周期又分成若干个节拍。在频率固定的脉冲作用下形成每个机器周期又分成若干个节拍。在频率固定的脉冲作用下形成这些节拍和周期。在任何情况下,一条指令的执行所需的机器周这些节拍和周期。在任何情况下,一条指令的执行所需的机器周期和节拍数都是不变的。期和节拍数都是不变的。同步控制方式有三种方案:中央控制,局部控制,中央控制同步控制方式有三种方案:中央控制,局部控制,中央控制和局部控制相结合。和局部控制相结合。1中央控制中央控制中央控制采用完全统一的机器周期执行各种不同的指令。中央控制采用完全统一的机器周期执行各种不同的指令。指令的功能不同,所需的微操作也不同。指令的功能不同,所需的微操作也不同。以
6、最繁的需时最多的指令为标准来确定机器周期的节拍数以最繁的需时最多的指令为标准来确定机器周期的节拍数和时间间隔。对于那些比较简单的微操作将造成时间浪费和时间间隔。对于那些比较简单的微操作将造成时间浪费。优点是控制器的逻辑相对简单,时间便于控制。但要求所有优点是控制器的逻辑相对简单,时间便于控制。但要求所有的指令都以相同方式进行处理,效率和性能上存在不足。的指令都以相同方式进行处理,效率和性能上存在不足。如果要提高效率,就必须让所有指令的处理时间都相同或相如果要提高效率,就必须让所有指令的处理时间都相同或相近,因而限制了采用某些功能复杂、处理时间长的指令。近,因而限制了采用某些功能复杂、处理时间长
7、的指令。反之,若采用了功能复杂、处理时间长的指令,控制器处理反之,若采用了功能复杂、处理时间长的指令,控制器处理指令的时序要加长,那些功能简单的指令就存在时间浪费、处理指令的时序要加长,那些功能简单的指令就存在时间浪费、处理效率不高等问题。效率不高等问题。2局部控制局部控制 局部控制采用不同节拍的机器周期,以解决微操作执行时局部控制采用不同节拍的机器周期,以解决微操作执行时间不统一的问题。给操作较繁的微操作安排节拍数多的机器周间不统一的问题。给操作较繁的微操作安排节拍数多的机器周期,较简单的微操作安排在较短的机器周期内。期,较简单的微操作安排在较短的机器周期内。每条指令都有独立的处理方式或时序
8、分配方式。指令周期每条指令都有独立的处理方式或时序分配方式。指令周期取决于所需的微操作序列长度。取决于所需的微操作序列长度。优点是处理效率高。但控制器逻辑复杂。优点是处理效率高。但控制器逻辑复杂。3中央控制和局部控制相结合中央控制和局部控制相结合 大多数指令的执行过程中包含的微操作个数及指令的执行大多数指令的执行过程中包含的微操作个数及指令的执行时间比较接近或相等,可以将这样的指令作为标准建立统一的时间比较接近或相等,可以将这样的指令作为标准建立统一的时序节拍,称为中央节拍,由中央控制器发出。时序节拍,称为中央节拍,由中央控制器发出。少数指令执行过程中包含的微操作个数较多,指令的执行少数指令执
9、行过程中包含的微操作个数较多,指令的执行时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来完成相应的操作。来完成相应的操作。例如,例如,3中央控制和局部控制相结合中央控制和局部控制相结合 少数指令执行过程中包含的微操作个数较多,指令的执行时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来完成相应的操作。例如,执行乘除法指令时,由一组中央节拍完成取指令操作。然执行乘除法指令时,由一组中央节拍完成取指令操作。然后,暂停中央节拍,启动局部节拍,完成后,暂停中央节拍,启动局部节拍,完成N次加法和移位操作。次加法和移位操作。再结束局
10、部节拍,转回中央节拍,继续执行指令的操作。再结束局部节拍,转回中央节拍,继续执行指令的操作。J1 J2 J3 J4Jn-1 JnM1 M2 M3 M4M1 M2 M3 M4插入插入局部节拍的宽度与中央节拍的宽度相等。局部节拍的宽度与中央节拍的宽度相等。中央节拍局部节拍(2)异步控制方式异步控制方式 Asynchronous Control Mode 不用统一的基准时标信号,而由专用的应答线路控制微操不用统一的基准时标信号,而由专用的应答线路控制微操作的时序。前一个微操作的作的时序。前一个微操作的“终了终了”信号可命令后一个微操作信号可命令后一个微操作启动。微操作序列没有固定的周期节拍和严格的时
11、钟同步。启动。微操作序列没有固定的周期节拍和严格的时钟同步。系统各个部件之间没有统一的时钟,每条指令、每个微操系统各个部件之间没有统一的时钟,每条指令、每个微操作需要多少时间就占用多少时间。微操作信号的宽度是由对应作需要多少时间就占用多少时间。微操作信号的宽度是由对应微操作的需要来确定,几乎没有时间的浪费。微操作的需要来确定,几乎没有时间的浪费。当控制器发出进行某一微操作控制信号后,等待执行部件在当控制器发出进行某一微操作控制信号后,等待执行部件在完成该微操作后发回的完成该微操作后发回的“回答回答”信号,作为本次微操作的结束信信号,作为本次微操作的结束信号,再开始新的操作。号,再开始新的操作。
12、异步控制方式的缺点是:设计比较复杂,器件多,控制方异步控制方式的缺点是:设计比较复杂,器件多,控制方式比较复杂,系统调试难度大,工作可靠性不易保证。式比较复杂,系统调试难度大,工作可靠性不易保证。AB(3)联合控制方式联合控制方式 将同步控制方式和异步控制方式结合起来,指令的微操作将同步控制方式和异步控制方式结合起来,指令的微操作序列既有同步控制的,又有异步控制的。序列既有同步控制的,又有异步控制的。CPU内部的数据加工、数据传送指令的微操作序列的执行时内部的数据加工、数据传送指令的微操作序列的执行时间比较接近,采用同步控制。其中某些执行时间较长的指令采用间比较接近,采用同步控制。其中某些执行
13、时间较长的指令采用中央控制和局部控制相结合的方式。中央控制和局部控制相结合的方式。I/O操作指令,由于操作指令,由于I/O设备的工作速度与设备的工作速度与CPU的速度难以的速度难以匹配,时间难以确定,采用异步控制。以执行部件送回的应答信匹配,时间难以确定,采用异步控制。以执行部件送回的应答信号作为本次微操作的结束。号作为本次微操作的结束。CPU与主存储器之间的数据传送操作,需要的时间很长,采与主存储器之间的数据传送操作,需要的时间很长,采用异步控制。用异步控制。(4)人工控制人工控制 为了调试系统和软件开发的需要,计算机的控制台、面板或为了调试系统和软件开发的需要,计算机的控制台、面板或内部电
14、路板上需设置一些开关、按钮,以进行人工控制。如内部电路板上需设置一些开关、按钮,以进行人工控制。如 Reset使计算机处于初始状态。使计算机处于初始状态。连续或单步转换开关。连续或单步转换开关。符合停机符合停机10.1 组合逻辑设计组合逻辑设计 “组合逻辑控制组合逻辑控制”又称硬布线控制又称硬布线控制(Hardwired Control)或或“硬连逻辑控制硬连逻辑控制”。组合逻辑控制器的设计方法是:1列出全部微操作列出全部微操作2建立操作时间表建立操作时间表4作组合逻辑框图作组合逻辑框图3求微操作命令的逻辑函数表达式求微操作命令的逻辑函数表达式程序计数器PCOP地址码指令寄存器指令译码器ID微
15、微操操作作控控制制信信号号形形成部件成部件脉冲源启停线路时序信号产生部件运算器ALU通用寄存器组状态寄存器数据寄存器MDR地址寄存器MARCLK+1ResetResetDBABCB10.1.2 微操作的节拍微操作的节拍安排安排 安排安排微操作节拍时需注意:微操作的先后顺序,能在微操作节拍时需注意:微操作的先后顺序,能在1个节个节拍内执行的微操作应尽可能安排在同一个节拍内。拍内执行的微操作应尽可能安排在同一个节拍内。假设机器采用同步控制,每个机器周期包含假设机器采用同步控制,每个机器周期包含3个节拍个节拍。1取指周期微操作的节拍取指周期微操作的节拍安排安排T0节拍可安排两个微操作。节拍可安排两个
16、微操作。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)(1)非访存指令非访存指令 清除累加器指令清除累加器指令CLAT03 执行周期微操作的节拍执行周期微操作的节拍安排安排T1T2 0ACC 累加器取反指令累加器取反指令COMT0T
17、1T2 (1)非访存指令)非访存指令 算术右移算术右移1位指令位指令SHRT0执行周期微操作的节拍执行周期微操作的节拍安排安排T1T2 R(ACC)ACC,ACC0ACC0 循环左移循环左移1位指令位指令CSLT0T1T2 L(ACC)ACC,ACC0ACCn 停机指令停机指令STPT0T1T2 0G(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)(2)
18、访存指令访存指令 取数指令取数指令LDA XT0 Ad(IR)MAR,1R执行周期微操作的节拍执行周期微操作的节拍安排安排T1 M(MAR)MDR T2 MDRACC(3)转移类转移类指令指令 无条件无条件转移转移指令指令JMP XT03 执行周期微操作的节拍执行周期微操作的节拍安排安排T1T2 Ad(IR)PC 零零转移转移指令指令JZ XT0T1T2 CPU响应中断,执行中断隐指令响应中断,执行中断隐指令把把PC内容压栈,关中断内容压栈,关中断T0 SPMAR,0 中断允许触发器中断允许触发器4 中断周期微操作的节拍中断周期微操作的节拍安排安排T1 PC MDR,1WT2 MDR M(MA
19、R),向量地址向量地址 PC10.1.3 组合逻辑控制器的设计方法组合逻辑控制器的设计方法组合逻辑控制器的设计方法是:组合逻辑控制器的设计方法是:1列出全部微操作列出全部微操作 分析并列出各条指令在取指、分析、执行中所需的全部微分析并列出各条指令在取指、分析、执行中所需的全部微操作。(根据给定的操作。(根据给定的CPU数据通路和指令功能)数据通路和指令功能)根据各条指令所需的全部微操作,按执行的先后顺序,再根据各条指令所需的全部微操作,按执行的先后顺序,再加上必要的控制条件,列出全部指令所需的微操作的操作时间加上必要的控制条件,列出全部指令所需的微操作的操作时间表。表。确定机器的状态周期、节拍
20、与工作脉冲。确定机器的状态周期、节拍与工作脉冲。2建立操作时间表建立操作时间表10.1 组合逻辑设计组合逻辑设计4作组合逻辑框图作组合逻辑框图 根据求出的组合逻辑函数表达式,画出产生微操作命令序根据求出的组合逻辑函数表达式,画出产生微操作命令序列的组合逻辑框图。列的组合逻辑框图。组合逻辑控制器的设计方法组合逻辑控制器的设计方法3求微操作命令的逻辑函数表达式求微操作命令的逻辑函数表达式 根据微操作时间表,对各条指令中的同一种操作(公操作)根据微操作时间表,对各条指令中的同一种操作(公操作)进行集中、合并、化简,求出每一个操作的组合逻辑函数表达进行集中、合并、化简,求出每一个操作的组合逻辑函数表达
21、式。式。10.2 微程序设计微程序设计 Microprogramming 微程序控制微程序控制Microprogrammed Control的概念的概念和原理最早是由英国剑桥大学的和原理最早是由英国剑桥大学的Maurice.V.Wilkes教授于教授于1951年提出来的。年提出来的。他指出,他指出,“一条机器指令可以分解为许多基本的微命令序列一条机器指令可以分解为许多基本的微命令序列”。并且首先把这种思想用于计算机控制器的设计。并且首先把这种思想用于计算机控制器的设计。In 1964 IBM introduced its System/360 computer architecture whi
22、ch 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
23、 of a microprogram,which still sees widespread usage in modern CPUs.微程序控制的基本思想是把机器指令的每一操作控制步编成微程序控制的基本思想是把机器指令的每一操作控制步编成一条微指令。每条机器指令对应一段微程序。一条微指令。每条机器指令对应一段微程序。执行机器指令时,从控制存储器中顺序取出这些微指令,就执行机器指令时,从控制存储器中顺序取出这些微指令,就可按所要求的次序产生相应的操作控制信号。可按所要求的次序产生相应的操作控制信号。微程序控制器微程序控制器Microprogrammed Control Unit的核心部件是控的
24、核心部件是控制存储器。制存储器。从二十世纪六十年代中期到八十年代末,大多数计算机都从二十世纪六十年代中期到八十年代末,大多数计算机都采用微程序控制技术。采用微程序控制技术。但是,当时还制造不了存放微程序的(廉价、高速、大容量但是,当时还制造不了存放微程序的(廉价、高速、大容量的)控制存储器。直到的)控制存储器。直到1964年才在年才在IBM360系列机上成功地采用了系列机上成功地采用了微程序设计技术,解决了指令系统的兼容问题。微程序设计技术,解决了指令系统的兼容问题。微程序微程序 Microprogram由微指令组成的程序由微指令组成的程序,是微指令的有序集合。是微指令的有序集合。是同时发出的
25、控制信号所执行的一组微操作。是同时发出的控制信号所执行的一组微操作。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 th
26、e 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)微命令微命令Microcommand是微操作的控制信号。是微操作
27、的控制信号。微操作微操作Microoperation是微命令的操作过程,是执行部件接受是微命令的操作过程,是执行部件接受微命令后所进行的最基本的操作。微命令后所进行的最基本的操作。控制存储器控制存储器Control Memory/Control Storage用来存放实现整用来存放实现整个指令系统的全部微程序,它一般用只读存储器构成。个指令系统的全部微程序,它一般用只读存储器构成。一条指令由若干条微指令解释,按次序执行这些微指令实一条指令由若干条微指令解释,按次序执行这些微指令实现指令的功能。现指令的功能。The microcode usually does not reside in the
28、 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.微程序设计技术的实质是将程序设计技术和存储技术相结合,微程序设计技术的实质是将程序设计技术和存储技术相结合,用程序设计的思想方法来组织操作控制逻辑。用程序设计的思想方法来组织操作控制逻辑。将微操作控制信号按一定规则
29、进行信息编码,形成控制字将微操作控制信号按一定规则进行信息编码,形成控制字(微指令),再把这些微指令按时间先后排列起来成为微程序,(微指令),再把这些微指令按时间先后排列起来成为微程序,存放在一个控制存储器中。执行一条指令实际上就是执行一段存存放在一个控制存储器中。执行一条指令实际上就是执行一段存放在控制存储器中的微程序。放在控制存储器中的微程序。Microprogramming is a method that can be employed to implement machine instructions in a CPU relatively easily,often using le
30、ss 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.Homework9-11,12,13Common logic styles used in CPU design include:U
31、nstructured 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