版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1硬布线控制的计算机在CPU中,由“时序控制信号形成部件”产生控制计算机各部分操作所需的控制信号。这个部件的组成有两种方式:微程序控制方式硬布线控制方式
03二月202321.硬连线控制器硬连线(Hard-wired)控制器是早期设计计算机控制器的一种方法把控制部件看作为产生专门固定时序控制信号的逻辑电路此逻辑电路以使用最少门电路和取得最高操作速度为设计目标这种逻辑电路是一种由门电路和触发器构成的复杂逻辑网络一旦控制部件构成后,除非重新设计和物理上对它重新连线,否则要想增加新的控制功能是不可能的03二月20233硬连线控制器组成组合逻辑网络、指令寄存器和指令译码器、时序发生器等组合逻辑网络产生计算机所需的全部操作命令,是控制器的核心03二月20234组合逻辑网络的输入信号有三个来源⑴来自指令译码器的输出I;⑵来自执行部件的反馈信息B;⑶来自时序发生器的时序信号T组合逻辑网络的输出信号就是微操作控制信号C用来对执行部件的操作进行控制因此,组合逻辑网络输出的微操作控制信号C,就是以上输入信号的逻辑函数计算机组成原理6打入脉冲的形成与逻辑DB->IRCPCP-IR指令寄存器打入脉冲与逻辑PC+1CPCP-PC程序寄存器打入脉冲与逻辑ADS#T1ADS#’访问存储器T1周期打入脉冲7CLK2CLK2CLKT1T2CP打入脉冲T1节拍T2节拍机器主频计算机组成原理显然,硬布线控制器的基本原理,归纳起来可叙述为:某一微操作控制信号C是指令操作码译码器输出Im、时序信号(节拍电位Mi,节拍脉冲Tk)和状态条件信号Bj的逻辑函数,即C=f(Im,Mi,Tk,Bj)
03二月20239硬连线控制器的设计步骤首先根据各条指令的功能要求,按照给出的数据通路,编写每条指令的操作流程;然后根据全部指令的操作流程,并与适当的时序信号相结合,写出每个微操作控制信号的逻辑表达式,并进行化简;最后按此逻辑表达式,用与门、或门和非门等逻辑门电路及触发器来产生微操作控制信号计算机组成原理计算机组成原理计算机组成原理计算机组成原理
这个控制信号是用门电路、触发器等许多器件采用布尔代数方法来设计实现的。当机器加电工作时,某一操作控制信号C在某条特定指令和状态条件下,在某一序号的特定节拍电位和节拍脉冲时间间隔中起作用,从而激活这条控制信号线,对执行部件实施控制。显然,从指令流程图出发,就可以一个不漏地确定在指令周期中各个时刻必须激活的所有操作控制信号。例如,对引起一次主存读操作的控制信号C3来说,当节拍电位M1=1,取指令时被激活;而节拍电位M4=1,三条指令(LDA,ADD,AND)取操作数时也被激活,此时指令译码器的LDA,ADD,AND输出均为1,因此C3的逻辑表达式可由下式确定:计算机组成原理一般来说,还要考虑节拍脉冲和状态条件的约束,所以每一控制信号Cn可以由以下形式的布尔代数表达式来确定:
C3=M1+M4(LDA+ADD+AND)在硬布线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。设计微操作控制信号的方法和过程是,根据所有机器指令流程图,寻找出产生同一个微操作信号的所有条件,并与适当的节拍电位和节拍脉冲组合,从而写出其布尔代数表达式并进行简化,然后用门电路或门阵列来实现。为了防止遗漏,设计时可按信号出现在指令流程图中的先后次序来书写,然后进行归纳和简化。要特别注意控制信号是电位有效还是脉冲有效,如果是脉冲有效,必须加入节拍脉冲信号进行相“与”。
计算机组成原理在用硬布线实现的操作控制器中,通常,时序产生器除了产生节拍脉冲信号外,还应当产生节拍电位信号。这是因为,在一个指令周期中要顺序执行一系列微操作,需要设置若干节拍电位来定时。与微程序控制相比,硬布线控制的速度较快。其原因是微程序控制中每条微指令都要从控存中读取一次,影响了速度,而硬布线控制主要取决于电路延迟。因此,近年来在某些超高速新型计算机结构中,又选用了硬布线控制器,或与微程序控制器混合使用。
计算机组成原理17硬布线逻辑的实现途径两级门电路的实现(参考chapter2)PLA(可编程逻辑阵列)PAL(可编程阵列逻辑)GAL(通用阵列逻辑)VLSI直接实现03二月202318门阵列控制器由大量的与门、或门阵列等电路构成的器件,称为门阵列(GateArray)器件典型代表产品包括:可编程逻辑阵列(ProgrammableLogicArray,PLA)、可编程阵列逻辑(ProgrammableArrayLogic,PAL)、通用阵列逻辑(GenericArrayLogic,GAL)等用门阵列器件设计的操作控制器,称为门阵列控制器其工作原理与硬连线控制器基本相同但门阵列控制器用门阵列器件代替硬连线控制器中的组合逻辑网络03二月202319用门阵列实现微操作信号发生器时,把操作码、时序信号和状态条件作为门阵列的输入按一定的“与”、“或”关系编排后,其输出便是微操作控制信号显然,门阵列控制器也是一种组合逻辑控制器但是与常规的硬连线控制器不同,它是可编程的,并且不需要把一系列门电路和触发器通过硬连线组织起来03二月202320门阵列控制器的设计步骤:首先根据各条指令的功能要求,按照给出的数据通路,编写每条指令的操作流程;然后根据全部指令的操作流程,并与适当的时序信号相结合,写出每个微操作控制信号的逻辑表达式,并进行化简;最后按此逻辑表达式,用门阵列器件来产生微操作控制信号03二月202321组合逻辑控制方法包括硬连线方法与门阵列方法两种硬连线方法是分立元件时代的产物采用这种方法的一项重要指标是尽量减少所用的逻辑门数目,以降低成本但这样造成控制器结构不规整,各种操作控制信号以明显的随机形式散布在整个计算机中,不便于维修,可靠性低,并且造价高门阵列方法用大规模集成电路来实现上述随机逻辑,从而克服了前者的缺点22硬布线控制器的特点优点:当机器的指令集中指令条数较少且操作码规整时,译码速度快,硬件逻辑的执行速度快。缺点:当机器的指令集中指令数量较大时,控制线路复杂;控制器的调试难度增大;自动化生产程度将降低。典型机器:早期的CPURISC机器03二月202323微程序控制器是用微程序(Microprogram)实现计算机控制的控制器具有规整性、灵活性、可维护性等一系列优点在计算机设计中被广泛采用24Wilkes模型微程序设计思想,最初是由英国剑桥大学的M.V.Wilkes于1951年提出。核心部分是连接有二极管的一个阵列。03二月2023252.基本概念1)微命令2)微指令3)微地址4)微程序03二月2023261)微命令由微程序控制器通过控制线向执行部件发出的微操作控制信号称为微命令(Microorder)执行部件接受微命令后所进行的操作就是微操作微操作是计算机中最基本的操作03二月2023272)微指令在一个CPU周期中,实现一定操作功能的一组微命令的集合构成一条微指令(Microinstruction)微指令存放在控制存储器中03二月2023283)微地址微地址(Microaddress)就是微指令在控制存储器中的地址03二月2023294)微程序一条机器指令的功能用若干条微指令组成的序列——微程序(Microprogram)来实现微程序是由微指令组成、用以实现指令功能的程序03二月202330由此可见,微命令按照一定的要求组合成微指令微指令按照指令功能的要求组合成微程序一条机器指令的功能是用一段微程序来实现的机器指令执行的过程就是微程序执行的过程微程序的总和便可实现整个指令系统的功能03二月2023311.基本思想微程序控制器的基本思想将程序设计的思想方法引入控制器的控制逻辑。微程序控制器将原来的组合逻辑变成了存储逻辑,并且可用类似程序设计的方法来设计控制逻辑。03二月202332将有关微操作控制信号写成微指令若干微指令组成一个微程序所有微程序都存放在控制存储器中当机器运行时,逐条读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作33控制存储器的组织公共子程序中断处理子程序ADD微程序SUB微程序…...JMP微程序转移至取指或中断入口微指令1微指令2………...03二月202334微程序控制技术,其实质是用程序设计的思想方法来组织操作控制逻辑存放微程序的存储器称为控制存储器(ControlMemory,CM,简称控存)由于微程序是存储在控制存储器之中的,因此,改变控制存储器的内容就可以方便地改变指令特性、增删指令、甚至改变指令系统这给计算机设计者和用户提供了相当大的灵活性03二月202335微程序控制技术是利用软件方法来设计硬件的一项技术能使机器逻辑设计规整,同时提高可靠性、可利用性和可维护性微程序开发在许多方面类似于软件开发软件工程中行之有效的一系列开发手段都可应用于微程序的开发上03二月2023361)微程序控制器的组成原理微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成控制存储器由只读存储器构成,用于存放微程序微指令寄存器用来存放从控制存储器中取得的微指令,包括微命令寄存器和微地址寄存器微地址转移逻辑用于产生后继微指令的地址03二月202337⑴控制存储器控制存储器用来存放实现机器指令系统的微程序一般是高速的只读存储器通常情况下,在微程序的调试阶段往往采用可读写的存储器,而微程序一旦固化,就采用只读存储器存放,并且在机器运行时只读不写控制存储器的工作过程读出一条微指令,执行这条微指令;接着又读出下一条微指令,执行这一条微指令,……03二月202338控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量对控制存储器的要求是速度快,读出周期短注意:控制存储器是控制器的一部分,不属于主存储器控制存储器存放的是微指令,而主存储器存放的则是指令03二月202339⑵微指令寄存器微指令寄存器用来暂时存放由控制存储器读出的一条微指令信息,包括微命令寄存器和微地址寄存器微命令寄存器保存微指令中的操作控制字段和判别测试字段的信息微地址寄存器则保存将要访问的下一条微指令的地址03二月202340⑶地址转移逻辑微地址寄存器存放微地址信息微指令从控制存储器读出后,可直接给出下一条微指令的地址如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出当微程序出现分支时,意味着微程序出现条件转移在这种情况下,则通过判别测试字段和执行部件的状态条件来反馈信息,对微地址寄存器的内容进行修改,并按修改好的内容去读取下一条微指令地址转移逻辑就是承担自动修改微地址的任务的03二月2023412)微程序控制器的工作过程微程序控制器的工作过程实质上就是在微程序控制器的控制下计算机执行机器指令的过程可大致描述如下:①从控制存储器中运行取指令微程序,完成从主存储器中取得机器指令的工作②根据机器指令的操作码,得到该机器指令所对应的微程序的入口③逐条取出微指令,完成相关微操作控制④执行下一条机器指令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,Z,V,C43控制器中各信号的位置图44控制器所要控制的基本控制信号23个45微指令的组织将每个控制信号用1bit表示,当该位为1时,表示有控制信号;为0时,表示无控制信号。对M/IO#、W/R#,则当该位为1时,分别表示访问存储器和写;当该位为0时,分别表示IO访问和读。每条微指令执行完后,需要给出下条微指令执行的地址。微指令格式:微操作序列(码)后继地址46加法指令的微指令编码47微程序控制器的基本结构操作码地址码来自Cache/主存IR指令译码控制存储器控制字段下址微指令寄存器IR形成微程序入口地址op48微程序流程图03二月202349微程序的关键是微指令结构的设计设计微指令结构时主要考虑以下几个问题:微指令字的长度、控制存储器的容量、微程序的长度、微程序的执行速度、微指令修改与微程序设计的灵活性03二月2023501)微指令基本格式微指令包括操作控制字段和顺序控制字段操作控制字段用于产生微命令,发出指挥计算机工作的微操作控制信号;顺序控制字段用来确定下一条微指令的地址,保证微程序连续正确地运行计算机组成原理微程序设计技术微指令的编译法(编码译码方法)所谓相容性的微操作,是指在同时或同一个CPU周期内可以并行执行的微操作。所谓相斥性的微操作,是指不能在同时或不能在同一个CPU周期内并行执行的微操作。03二月202352将微指令的操作控制字段中的每一个二进制位定义为一个微命令该位为1时表示有该微命令优点简单直观,速度快,输出直接用于控制缺点微命令太多,造成微指令字过长,控制存储器容量过大1.直接控制法在微指令的控制字段中,每一位代表一个微命令,在设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成“1”或“0”,这样就可打开或关闭某个控制门,这就是直接控制法,在6.3节中所讲的就是这种方法。但在某些复杂的计算机中,微命令甚至可多达三四百个,这使微指令字长达到难以接受的地步,并要求机器有大容量控制存储器,为了改进设计出现了以下各种编译法。计算机组成原理2.字段直接编译法在计算机中的各个控制门,在任一微周期内,不可能同时被打开,而且大部分是关闭的(即相应的控制位为“0”)。所谓微周期,指的是一条微指令所需的执行时间。如果有若干个(一组)微命令,在每次选择使用它们的微周期内,只有一个微命令起作用,那么这若干个微命令是互斥的。选出互斥的微命令,并将这些微命令编成一组,成为微指令字的一个字段,用二进制编码来表示。而在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令(图6.21)。
计算机组成原理图6.21字段直接编译法计算机组成原理字段长度与所能表示的微命令数的关系如下: 字段长度 微命令数
2位 2~3 3位 4~7 4位 8~15一般每个字段要留出一个代码,表示本段不发出任何微命令,因此当字段长度为3位时,最多只能表示7个互斥的微命令,通常代码000表示不发微命令。优点可以用较少的二进制位表示较多的微命令信号,使微指令字大大缩短缺点由于增加了译码电路,微程序的执行速度稍有减慢目前在微程序控制器设计中,编码表示法使用较为普遍计算机组成原理3.字段间接编译法字段间接编译法是在字段直接编译法的基础上,进一步缩短微指令字长的一种编译法。如果在字段直接编译法中,还规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,称为字段间接编译法。如图6.22所示。本方法进一步减少了指令长度,但很可能会削弱微指令的并行控制能力,因此通常只作为直接编译法的一种辅助手段。计算机组成原理图6.22字段间接编译法计算机组成原理4.常数源字段E在微指令中,一般设有一个常数源字段E,就如指令中的直接操作数一样。E字段一般仅有几位,用来给某些部件发送常数,故有时称为发射字段。该常数有时作为操作数送入ALU运算;有时作为计算器初值,用来控制微程序的循环次数等。5.其他诸如微操作码编译法。当前正在执行的微指令,称为现行微指令,现行微指令所在的控制存储器单元的地址称为现行微地址;现行微指令执行完毕后,下一条要执行的微指令称为后继微指令,后继微指令所在的控存单元地址称为后继微地址。所谓微程序流的控制是指当前微指令执行完毕后,怎样控制产生后继微指令的微地址。上节中讲到的产生后继微指令地址的两种方法:由指令操作码译码器产生后继微地址。由微指令的下址字段指出后继微地址。常用的产生后继微指令地址的几种方法:以增量方式产生后继微地址增量与下址字段结合产生后继微地址多路转移微中断以增量方式产生后继微地址在顺序执行微指令时,后继微地址由现行微地址加上一个增量(通常为1)形成的;而在非顺序执行时则要产生一个转移微地址。增量与下址字段结合产生后继微地址将微指令的下址字段分成两部分:转移控制字段BCF和转移地址字段BAF,当微程序实现转移时,将BAF送μPC,否则顺序执行下一条微指令(μPC+1)。下址字段BCFBAF后继地址的形成由转移控制字段BCF控制,并由BCF的具体长度决定转移地址形成的方式。若BCF为3位,则最多有8种后继地址的形成方式。BCF字段硬件条件计数器CT返回寄存器RR输入后继微地址编码微命令名称操作前操作0顺序执行××××μPC+11结果为0转移结果为0×××BAF结果不为0μPC+12结果溢出转移溢出×××BAF不溢出μPC+13无条件转移××××BAF4测试循环×为0CT-1×μPC+1不为0BAF5转微子程序×××μPC+1BAF6返回××××RR7操作码形成微址××××由操作码形成“增量与下址字段”方式的原理图BAF的长度有两种情况:与μPC的位数相等;可以从控制存储器的任一单元取微指令。比μPC短;考虑到转移点在μPC附近,或者在控制存储器的某区域内,所以由原来的μPC的若干位与BAF组合成转移微地址。第一种情况,转移灵活,但增加了微指令的长度;第二种情况,转移地址受到限制,但可缩短微指令长度。多路转移一条微指令存在多个转移分支的情况称为多路转移。实现此功能的电路通常是由PROM(可编程序只读存储器)组成的,也有把它称为MAPROM(映像只读存储器)的。该存储器的容量等于或略大于机器的指令数,所以容量小,速度快。实现多路转移可减少微程序的长度,对于一般条件转移微指令(相当于两路转移)来说,需要两条微指令来完成四路转移的功能。微中断微中断与程序中断的概念相似,在微程序执行过程中,一旦出现微中断请求信号,通常在完成现行指令的微程序后响应该微中断请求,这时中止当前正在执行的程序,而转去执行微中断处理程序,微中断请求信号是由程序中断请求信号引起的。设计人员在进行微程序设计时,已安排好微中断处理程序在控制存储器的位置,因此该微程序段的入口地址是已知的。当CPU响应微中断请求时,由硬件产生微中断程序的入口地址。当中断处理完毕后,再返回到原来被中断的程序。这也是产生后继微地址的一种情况。微指令的编译法是决定微指令格式的主要因素,在设计计算机时考虑到速度价格等因素采用不同的编译法,即使在一台计算机中,也有几种编译法并存的局面存在。微指令的格式大体上分成两类:水平型微指令;垂直型微指令。水平型微指令其基本特点是在一条微指令中定义并执行多个并行操作微命令。在实际应用中,直接控制法、字段编译法(直接、间接编译法)经常应用在同一条水平型微指令中。从速度来看,直接控制法最快,字段编译法要经过译码,所以会增加一些延迟时间。垂直型微指令在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。其特点是不强调实现微指令的并行控制功能,通常一条微指令只要求能控制实现一二种操作。这种微指令格式与指令相似:每条指令有一个操作码;每条微指令有一个微操作码。72常用的垂直型微指令类型RR传送型微指令运算控制类微指令移位控制型微指令访问主存型微指令条件转移型微指令无条件转移型微指令其他水平型微指令格式 垂直型微指令格式控制信号条件字段后继地址ADS#,M/IO#,W/R#,PC->AB,DB->IR,PC+1,ALU->PC,…...微指令操作码条件码地址码译码器ADS#,M/IO#,W/R#,PC->AB,DB->IR,PC+1,ALU->PC,…...水平型微指令与垂直型微指令的比较水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则差。水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长。水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。75静态微程序对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游业智能预订与服务质量优化方案
- 高中生生物课程故事
- 智能售后服务管理系统合同
- 彩虹王国童话的征文
- 金融投资分析价值投资实战指南
- 产品研发流程与策略指南
- 天河外墙漏水堵漏施工方案
- 智能医疗弱电施工合同
- 油漆作业安全操作证制度
- 桂林市城市更新规划指南
- 保密培训记录表
- 专升本英语写作专题讲解课件
- 平安保险授权委托书
- 员工安全培训教育制度
- 深圳证券交易所
- 各种管道护理评分标准
- 体育赛事志愿者管理
- 辽宁华电高科环保技术有限公司油泥煤循环流化床协同资源化工业化试验项目环境影响评价报告书
- 复旦大学普物B期末考试试卷
- 剪映教程PPT版本新版剪影零基础教学课程课件
- 非煤矿山安全风险分级管控与安全隐患排查治理u000b双重预防机制建设知识
评论
0/150
提交评论