第十二讲控制器的设计实现ppt课件.ppt

上传人:牧羊曲112 文档编号:1421090 上传时间:2022-11-22 格式:PPT 页数:83 大小:1.14MB
返回 下载 相关 举报
第十二讲控制器的设计实现ppt课件.ppt_第1页
第1页 / 共83页
第十二讲控制器的设计实现ppt课件.ppt_第2页
第2页 / 共83页
第十二讲控制器的设计实现ppt课件.ppt_第3页
第3页 / 共83页
第十二讲控制器的设计实现ppt课件.ppt_第4页
第4页 / 共83页
第十二讲控制器的设计实现ppt课件.ppt_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《第十二讲控制器的设计实现ppt课件.ppt》由会员分享,可在线阅读,更多相关《第十二讲控制器的设计实现ppt课件.ppt(83页珍藏版)》请在三一办公上搜索。

1、1,硬布线控制的计算机,在CPU中,由“时序控制信号形成部件”产生控制计算机各部分操作所需的控制信号。这个部件的组成有两种方式:微程序控制方式硬布线控制方式,2022年11月22日星期二,2,1硬连线控制器,硬连线(Hard-wired)控制器是早期设计计算机控制器的一种方法把控制部件看作为产生专门固定时序控制信号的逻辑电路此逻辑电路以使用最少门电路和取得最高操作速度为设计目标这种逻辑电路是一种由门电路和触发器构成的复杂逻辑网络一旦控制部件构成后,除非重新设计和物理上对它重新连线,否则要想增加新的控制功能是不可能的,2022年11月22日星期二,3,硬连线控制器组成组合逻辑网络、指令寄存器和指

2、令译码器、时序发生器等组合逻辑网络产生计算机所需的全部操作命令,是控制器的核心,2022年11月22日星期二,4,组合逻辑网络的输入信号有三个来源来自指令译码器的输出I;来自执行部件的反馈信息B;来自时序发生器的时序信号T组合逻辑网络的输出信号就是微操作控制信号C用来对执行部件的操作进行控制因此,组合逻辑网络输出的微操作控制信号C,就是以上输入信号的逻辑函数,计算机组成原理,6,打入脉冲的形成,与逻辑,DB-IR,CP,CP-IR,指令寄存器打入脉冲,与逻辑,PC+1,CP,CP-PC,程序寄存器打入脉冲,与逻辑,ADS#,T1,ADS#,访问存储器T1周期打入脉冲,7,CLK2,CLK2,C

3、LK,T1,T2,CP,打入脉冲,T1节拍T2节拍,机器主频,计算机组成原理,显然,硬布线控制器的基本原理,归纳起来可叙述为:某一微操作控制信号C是指令操作码译码器输出Im、时序信号(节拍电位Mi,节拍脉冲Tk)和状态条件信号Bj的逻辑函数,即 C= f (Im, Mi, Tk, Bj),2022年11月22日星期二,9,硬连线控制器的设计步骤首先根据各条指令的功能要求,按照给出的数据通路,编写每条指令的操作流程;然后根据全部指令的操作流程,并与适当的时序信号相结合,写出每个微操作控制信号的逻辑表达式,并进行化简;最后按此逻辑表达式,用与门、或门和非门等逻辑门电路及触发器来产生微操作控制信号,

4、计算机组成原理,计算机组成原理,计算机组成原理,计算机组成原理,这个控制信号是用门电路、触发器等许多器件采用布尔代数方法来设计实现的。当机器加电工作时,某一操作控制信号C在某条特定指令和状态条件下,在某一序号的特定节拍电位和节拍脉冲时间间隔中起作用,从而激活这条控制信号线,对执行部件实施控制。显然,从指令流程图出发,就可以一个不漏地确定在指令周期中各个时刻必须激活的所有操作控制信号。例如,对引起一次主存读操作的控制信号C3来说,当节拍电位M1=1,取指令时被激活;而节拍电位M4=1,三条指令(LDA,ADD,AND)取操作数时也被激活,此时指令译码器的LDA,ADD,AND输出均为1,因此C3

5、的逻辑表达式可由下式确定:,计算机组成原理,一般来说,还要考虑节拍脉冲和状态条件的约束,所以每一控制信号Cn可以由以下形式的布尔代数表达式来确定: C3=M1+M4(LDA+ADD+AND) 在硬布线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。 设计微操作控制信号的方法和过程是,根据所有机器指令流程图,寻找出产生同一个微操作信号的所有条件,并与适当的节拍电位和节拍脉冲组合,从而写出其布尔代数表达式并进行简化,然后用门电路或门阵列来实现。 为了防止遗漏,设计时可按信号出现在指令流程图中的先后次序来书写,然后进行归纳和简化。要特别注意控制信号是电位有效还是脉冲有效,如果是脉冲有

6、效,必须加入节拍脉冲信号进行相“与”。,计算机组成原理,在用硬布线实现的操作控制器中,通常,时序产生器除了产生节拍脉冲信号外,还应当产生节拍电位信号。这是因为,在一个指令周期中要顺序执行一系列微操作,需要设置若干节拍电位来定时。 与微程序控制相比,硬布线控制的速度较快。其原因是微程序控制中每条微指令都要从控存中读取一次,影响了速度,而硬布线控制主要取决于电路延迟。因此,近年来在某些超高速新型计算机结构中,又选用了硬布线控制器,或与微程序控制器混合使用。,计算机组成原理,17,硬布线逻辑的实现途径,两级门电路的实现(参考chapter 2)PLA(可编程逻辑阵列)PAL (可编程阵列逻辑)GAL

7、(通用阵列逻辑)VLSI直接实现,2022年11月22日星期二,18,门阵列控制器,由大量的与门、或门阵列等电路构成的器件,称为门阵列(Gate Array)器件典型代表产品包括:可编程逻辑阵列(Programmable Logic Array,PLA)、可编程阵列逻辑(Programmable Array Logic,PAL)、通用阵列逻辑(Generic Array Logic,GAL)等用门阵列器件设计的操作控制器,称为门阵列控制器其工作原理与硬连线控制器基本相同但门阵列控制器用门阵列器件代替硬连线控制器中的组合逻辑网络,2022年11月22日星期二,19,用门阵列实现微操作信号发生器时

8、,把操作码、时序信号和状态条件作为门阵列的输入按一定的“与”、“或”关系编排后,其输出便是微操作控制信号显然,门阵列控制器也是一种组合逻辑控制器但是与常规的硬连线控制器不同,它是可编程的,并且不需要把一系列门电路和触发器通过硬连线组织起来,2022年11月22日星期二,20,门阵列控制器的设计步骤:首先根据各条指令的功能要求,按照给出的数据通路,编写每条指令的操作流程;然后根据全部指令的操作流程,并与适当的时序信号相结合,写出每个微操作控制信号的逻辑表达式,并进行化简;最后按此逻辑表达式,用门阵列器件来产生微操作控制信号,2022年11月22日星期二,21,组合逻辑控制方法包括硬连线方法与门阵

9、列方法两种硬连线方法是分立元件时代的产物采用这种方法的一项重要指标是尽量减少所用的逻辑门数目,以降低成本但这样造成控制器结构不规整,各种操作控制信号以明显的随机形式散布在整个计算机中,不便于维修,可靠性低,并且造价高门阵列方法用大规模集成电路来实现上述随机逻辑,从而克服了前者的缺点,22,硬布线控制器的特点,优点:当机器的 指令集 中指令条数较少且操作码规整时,译码速度快,硬件逻辑的执行速度快。缺点:当机器的 指令集 中指令数量较大时,控制线路复杂;控制器的调试难度增大;自动化生产程度将降低。典型机器:早期的CPURISC机器,2022年11月22日星期二,23,微程序控制器是用微程序(Mic

10、roprogram)实现计算机控制的控制器具有规整性、灵活性、可维护性等一系列优点在计算机设计中被广泛采用,24,Wilkes模型,微程序设计思想,最初是由英国剑桥大学的M.V.Wilkes于1951年提出。核心部分是连接有二极管的一个阵列。,2022年11月22日星期二,25,2基本概念,1)微命令2)微指令3)微地址4)微程序,2022年11月22日星期二,26,1)微命令,由微程序控制器通过控制线向执行部件发出的微操作控制信号称为微命令(Microorder)执行部件接受微命令后所进行的操作就是微操作微操作是计算机中最基本的操作,2022年11月22日星期二,27,2)微指令,在一个CP

11、U周期中,实现一定操作功能的一组微命令的集合构成一条微指令(Microinstruction)微指令存放在控制存储器中,2022年11月22日星期二,28,3)微地址,微地址(Microaddress)就是微指令在控制存储器中的地址,2022年11月22日星期二,29,4)微程序,一条机器指令的功能用若干条微指令组成的序列微程序(Microprogram)来实现微程序是由微指令组成、用以实现指令功能的程序,2022年11月22日星期二,30,由此可见,微命令按照一定的要求组合成微指令微指令按照指令功能的要求组合成微程序一条机器指令的功能是用一段微程序来实现的机器指令执行的过程就是微程序执行的过

12、程微程序的总和便可实现整个指令系统的功能,2022年11月22日星期二,31,1基本思想,微程序控制器的基本思想将程序设计的思想方法引入控制器的控制逻辑。微程序控制器将原来的组合逻辑变成了存储逻辑,并且可用类似程序设计的方法来设计控制逻辑。,2022年11月22日星期二,32,将有关微操作控制信号写成微指令若干微指令组成一个微程序所有微程序都存放在控制存储器中当机器运行时,逐条读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作,33,控制存储器的组织,公共子程序,中断处理子程序,ADD微程序,SUB微程序,.,JMP 微程序,转移至取指或中断入口,微指令1微指令2

13、,.,2022年11月22日星期二,34,微程序控制技术,其实质是用程序设计的思想方法来组织操作控制逻辑存放微程序的存储器称为控制存储器(Control Memory,CM,简称控存)由于微程序是存储在控制存储器之中的,因此,改变控制存储器的内容就可以方便地改变指令特性、增删指令、甚至改变指令系统这给计算机设计者和用户提供了相当大的灵活性,2022年11月22日星期二,35,微程序控制技术是利用软件方法来设计硬件的一项技术能使机器逻辑设计规整,同时提高可靠性、可利用性和可维护性微程序开发在许多方面类似于软件开发软件工程中行之有效的一系列开发手段都可应用于微程序的开发上,2022年11月22日星

14、期二,36,1)微程序控制器的组成原理,微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成控制存储器由只读存储器构成,用于存放微程序微指令寄存器用来存放从控制存储器中取得的微指令,包括微命令寄存器和微地址寄存器微地址转移逻辑用于产生后继微指令的地址,2022年11月22日星期二,37,控制存储器,控制存储器用来存放实现机器指令系统的微程序一般是高速的只读存储器通常情况下,在微程序的调试阶段往往采用可读写的存储器,而微程序一旦固化,就采用只读存储器存放,并且在机器运行时只读不写控制存储器的工作过程读出一条微指令,执行这条微指令;接着又读出下一条微指令,执行这一条微指令,,202

15、2年11月22日星期二,38,控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量对控制存储器的要求是速度快,读出周期短注意:控制存储器是控制器的一部分,不属于主存储器控制存储器存放的是微指令,而主存储器存放的则是指令,2022年11月22日星期二,39,微指令寄存器,微指令寄存器用来暂时存放由控制存储器读出的一条微指令信息,包括微命令寄存器和微地址寄存器微命令寄存器保存微指令中的操作控制字段和判别测试字段的信息微地址寄存器则保存将要访问的下一条微指令的地址,2022年11月22日星期二,40,地址转移逻辑,微地址寄存器存放微地址信息微指令从控制存储器读出后,

16、可直接给出下一条微指令的地址如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出当微程序出现分支时,意味着微程序出现条件转移在这种情况下,则通过判别测试字段和执行部件的状态条件来反馈信息,对微地址寄存器的内容进行修改,并按修改好的内容去读取下一条微指令地址转移逻辑就是承担自动修改微地址的任务的,2022年11月22日星期二,41,2)微程序控制器的工作过程,微程序控制器的工作过程实质上就是在微程序控制器的控制下计算机执行机器指令的过程可大致描述如下:从控制存储器中运行取指令微程序,完成从主存储器中取得机器指令的工作根据机器指令的操作码,得到该机器指令所对应的微程序的入口逐条取出

17、微指令,完成相关微操作控制执行下一条机器指令,42,微程序控制的基本原理,微操作(控制信号)的编码以加法指令为例: (rs)+(rs1)+disp)=rd从M中取指=IR, (PC)-AB ; (PC)+1=PC; ADS#, W/R#, M/IO#, Read#, DB-IR,C/D#.计算操作数地址,将得到的有效地址=AR; (rs1)-GR, (rs1)-ALU,disp-ALU, “+”, ALU-AR取操作数:AR-AB, ADS#,W/R#, M/IO#, Read#, DB-DR;做加法:(rs)-GR,(rs)-ALU,DR-ALU; rd-GR, ALU-rd, 置运算结果N

18、,Z,V,C,43,控制器中各信号的位置图,44,控制器所要控制的基本控制信号23个,45,微指令的组织,将每个控制信号用1bit表示,当该位为1时,表示有控制信号;为0时,表示无控制信号。对M/IO#、W/R#,则当该位为1时,分别表示访问存储器和写;当该位为0时,分别表示IO访问和读。每条微指令执行完后,需要给出下条微指令执行的地址。微指令格式:,微操作序列(码),后继地址,46,加法指令的微指令编码,47,微程序控制器的基本结构,操作码,地址码,来自Cache/主存,IR,指令译码,控制存储器,控制字段,下址,微指令寄存器IR,形成微程序入口地址, op,48,微程序流程图,2022年1

19、1月22日星期二,49,微程序的关键是微指令结构的设计设计微指令结构时主要考虑以下几个问题:微指令字的长度、控制存储器的容量、微程序的长度、微程序的执行速度、微指令修改与微程序设计的灵活性,2022年11月22日星期二,50,1)微指令基本格式,微指令包括操作控制字段和顺序控制字段操作控制字段用于产生微命令,发出指挥计算机工作的微操作控制信号;顺序控制字段用来确定下一条微指令的地址,保证微程序连续正确地运行,计算机组成原理,微程序设计技术微指令的编译法(编码译码方法)所谓相容性的微操作,是指在同时或同一个CPU周期内可以并行执行的微操作。所谓相斥性的微操作,是指不能在同时或不能在同一个CPU周

20、期内并行执行的微操作。,2022年11月22日星期二,52,将微指令的操作控制字段中的每一个二进制位定义为一个微命令该位为1时表示有该微命令优点简单直观,速度快,输出直接用于控制缺点微命令太多,造成微指令字过长,控制存储器容量过大,1. 直接控制法在微指令的控制字段中,每一位代表一个微命令,在设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成“1”或“0”,这样就可打开或关闭某个控制门,这就是直接控制法,在6.3节中所讲的就是这种方法。但在某些复杂的计算机中,微命令甚至可多达三四百个,这使微指令字长达到难以接受的地步,并要求机器有大容量控制存储器,为了改进设计出现了以下各种编译法。,

21、计算机组成原理,2. 字段直接编译法在计算机中的各个控制门,在任一微周期内,不可能同时被打开,而且大部分是关闭的(即相应的控制位为“0”)。所谓微周期,指的是一条微指令所需的执行时间。如果有若干个(一组)微命令,在每次选择使用它们的微周期内,只有一个微命令起作用,那么这若干个微命令是互斥的。选出互斥的微命令,并将这些微命令编成一组,成为微指令字的一个字段,用二进制编码来表示。而在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令(图6.21)。,计算机组成原理,图6.21 字段直接编译法,计算机组成原理,字段长度与所能表示的微命令数的关系如下: 字段长度 微命令数2位

22、233位474位815一般每个字段要留出一个代码,表示本段不发出任何微命令,因此当字段长度为3位时,最多只能表示7个互斥的微命令,通常代码000表示不发微命令。优点可以用较少的二进制位表示较多的微命令信号,使微指令字大大缩短缺点由于增加了译码电路,微程序的执行速度稍有减慢目前在微程序控制器设计中,编码表示法使用较为普遍,计算机组成原理,3. 字段间接编译法字段间接编译法是在字段直接编译法的基础上,进一步缩短微指令字长的一种编译法。如果在字段直接编译法中,还规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,称为字段间接编译法。如图6.22所示。本方法进一步减少了指令长度,但很可能会削

23、弱微指令的并行控制能力,因此通常只作为直接编译法的一种辅助手段。,计算机组成原理,图6.22 字段间接编译法,计算机组成原理,4. 常数源字段E在微指令中,一般设有一个常数源字段E,就如指令中的直接操作数一样。E字段一般仅有几位,用来给某些部件发送常数,故有时称为发射字段。该常数有时作为操作数送入ALU运算;有时作为计算器初值,用来控制微程序的循环次数等。5. 其他诸如微操作码编译法。,当前正在执行的微指令,称为现行微指令,现行微指令所在的控制存储器单元的地址称为现行微地址;现行微指令执行完毕后,下一条要执行的微指令称为后继微指令,后继微指令所在的控存单元地址称为后继微地址。所谓微程序流的控制

24、是指当前微指令执行完毕后,怎样控制产生后继微指令的微地址。,上节中讲到的产生后继微指令地址的两种方法:由指令操作码译码器产生后继微地址。由微指令的下址字段指出后继微地址。常用的产生后继微指令地址的几种方法:以增量方式产生后继微地址增量与下址字段结合产生后继微地址多路转移微中断,以增量方式产生后继微地址在顺序执行微指令时,后继微地址由现行微地址加上一个增量(通常为1)形成的;而在非顺序执行时则要产生一个转移微地址。,增量与下址字段结合产生后继微地址将微指令的下址字段分成两部分:转移控制字段BCF和转移地址字段BAF,当微程序实现转移时,将BAF送PC,否则顺序执行下一条微指令(PC+1)。,后继

25、地址的形成由转移控制字段BCF控制,并由BCF的具体长度决定转移地址形成的方式。若BCF为3位,则最多有8种后继地址的形成方式。,“增量与下址字段”方式的原理图,BAF的长度有两种情况:与PC的位数相等;可以从控制存储器的任一单元取微指令。比PC短;考虑到转移点在PC附近,或者在控制存储器的某区域内,所以由原来的PC的若干位与BAF组合成转移微地址。第一种情况,转移灵活,但增加了微指令的长度;第二种情况,转移地址受到限制,但可缩短微指令长度。,多路转移一条微指令存在多个转移分支的情况称为多路转移。实现此功能的电路通常是由PROM(可编程序只读存储器)组成的,也有把它称为MAPROM(映像只读存

26、储器)的。该存储器的容量等于或略大于机器的指令数,所以容量小,速度快。实现多路转移可减少微程序的长度,对于一般条件转移微指令(相当于两路转移)来说,需要两条微指令来完成四路转移的功能。,微中断微中断与程序中断的概念相似,在微程序执行过程中,一旦出现微中断请求信号,通常在完成现行指令的微程序后响应该微中断请求,这时中止当前正在执行的程序,而转去执行微中断处理程序,微中断请求信号是由程序中断请求信号引起的。设计人员在进行微程序设计时,已安排好微中断处理程序在控制存储器的位置,因此该微程序段的入口地址是已知的。当CPU响应微中断请求时,由硬件产生微中断程序的入口地址。当中断处理完毕后,再返回到原来被

27、中断的程序。这也是产生后继微地址的一种情况。,微指令的编译法是决定微指令格式的主要因素,在设计计算机时考虑到速度价格等因素采用不同的编译法,即使在一台计算机中,也有几种编译法并存的局面存在。微指令的格式大体上分成两类:水平型微指令;垂直型微指令。,水平型微指令其基本特点是在一条微指令中定义并执行多个并行操作微命令。在实际应用中,直接控制法、字段编译法(直接、间接编译法)经常应用在同一条水平型微指令中。从速度来看,直接控制法最快,字段编译法要经过译码,所以会增加一些延迟时间。,垂直型微指令在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。其特点是不强

28、调实现微指令的并行控制功能,通常一条微指令只要求能控制实现一二种操作。这种微指令格式与指令相似:每条指令有一个操作码;每条微指令有一个微操作码。,72,常用的垂直型微指令类型,RR传送型微指令运算控制类微指令移位控制型微指令访问主存型微指令条件转移型微指令无条件转移型微指令其他,水平型微指令格式垂直型微指令格式,水平型微指令与垂直型微指令的比较水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则差。水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长。水平型微指令用户

29、难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。,75,静态微程序 对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序称为静态微程序。,2022年11月22日星期二,76,动态微程序设计,当采用可擦写存储器件(如EPROM)作为控制存储器时,可以通过改变微指令和微程序来改变机器的指令系统采用动态微程序设计时,微指令和微程序可以根据需要加以改变因而可在一台机器上实现不同类型的指令系统,以扩大机器的应用范围例如,在不改变硬件系统结构的前提下,用两套微程序分别实现两个不同系列计算机的指令系统,可使得这两种计算机的软件彼此兼容;

30、也可以通过在原来的指令系统的基础上增加一些新指令来提高整个系统执行的效率,77,串行微程序控制器,微指令控制节拍脉冲,78,并行微程序控制器,微指令控制节拍脉冲,79,毫微程序概念,用于解释微程序的一种微程序。在普通的微程序计算机中,从主存取出的每条指令是由放在控制存储器中的微程序来解释执行,通过控制线对硬件进行直接控制。如果微程序并不直接控制硬件,而是通过存放在第二级控制存储器中的毫微程序来解释的,这个第二级控制存储器称为毫微存储器,直接控制硬件的是毫微指令。,2022年11月22日星期二,80,5.3.3 组合逻辑控制器与微程序控制器的比较,1实现方式2性能,2022年11月22日星期二,

31、81,1实现方式,从实现方式上说,组合逻辑控制方法由逻辑门电路组合实现微程序控制器的控制功能则是在存放微程序的控制存储器和存放当前微指令的微指令寄存器的直接控制之下实现的组合逻辑控制器控制信号首先用逻辑表达式列出,经过简化后用门电路或门阵列器件实现显得较为复杂,当修改指令或增加指令时非常麻烦,有时甚至没有可能,2022年11月22日星期二,82,微程序控制器结构比较规整,大大减少了控制器的复杂性和非标准化程度,可以把硬件的用量限制在很小的范围内由于各条指令控制信号的差别都反映在微程序上,因此,增加或修改指令只要增加或修改控制存储器中的内容即可从而提供了很大的灵活性,使得控制器设计的变更、修改以及指令系统的扩充都不再成为难事因此,微程序控制得到了广泛的应用指令系统复杂的计算机一般都采用微程序控制方式来实现控制功能,2022年11月22日星期二,83,2性能,从性能上来比较,在同样的半导体工艺条件下,组合逻辑控制方式比微程序控制的速度快执行每一条微指令都要从控制存储器中读取一次微指令,从而影响了速度组合逻辑控制方式的速度仅取决于电路的延迟因此,在超高速计算机的设计中,往往采用组合逻辑控制方法,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号