计算机组成原理第五章 第4讲 微程序控制器

上传人:门**** 文档编号:243643915 上传时间:2024-09-27 格式:PPT 页数:73 大小:594KB
返回 下载 相关 举报
计算机组成原理第五章 第4讲 微程序控制器_第1页
第1页 / 共73页
计算机组成原理第五章 第4讲 微程序控制器_第2页
第2页 / 共73页
计算机组成原理第五章 第4讲 微程序控制器_第3页
第3页 / 共73页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,微程序控制器,5.4,微程序控制器,发展,微程序的概念和原理是由英国剑桥大学的,MVWilkes,教授于,1951,年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。,到,1964,年,,IBM,公司在,IBM 360,系列机上成功地采用了微程序设计技术。,20,世纪,70,年代以来,由于,VLSI,技术的发展,推动了微程序设计技术的发展和应用。,目前,从大型机到小型机、微型机都普遍采用了微程序设计技术。,5.4,微程序控制器,基本思想:仿照解题的方法,把操作控制信号编制成微指令,存放到控制存储器里,运行时,从控存中取出微指令,产生指令运行所需的操作控制信号。,微程序设计技术是用软件方法来设计硬件的技术。,5.4,微程序控制器,5.4.1,微程序控制原理,5.4.2,微程序设计技术,5.4.1,微程序控制原理,控制部件,执行部件,执行部件,微命令,反馈信息:,状态测试,微命令,微命令,CPU,中的功能部件可以划分为两大类:,微操作,微操作,微操作,执行部件,5.4.1,微程序控制原理,微命令,:控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。,例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。,微命令是控制计算机各部件完成某个基本微操作的命令。,什么是,微操作,?,5.4.1,微程序控制原理,微操作:是微命令的操作过程。,微命令和微操作是一一对应的。,微命令是微操作的控制信号,微操作是微命令的操作过程。,微操作是执行部件中最基本的操作。,举例:,控制门电位信号的变化、寄存器输入端的控制、,ALU,的基本执行过程,5.4.1,微程序控制原理,由于数据通路的结构关系,微操作可分为相容的和相斥的两种:,相斥的微操作,是指不能同时或不能在同一个节拍内并行执行的微操作。,相容的微操作,是指能够同时或在同一个节拍内并行执行的微操作。必须各占一位,类比并行与并发,举一个例子:,先勘误,:,P156,图,5.20,右侧中间,5 7 9,应该改为,9 7 5,9,7,5,相斥:,(,4 6 8,) (,5 7 9,) (,+ - M,),相容:,(,1 2 3,) (,X Y,组合),图解释,对图的解释:,寄存器的两个输入端:一个代表数据写入,一个代表控制线路,两者都有效时产生输出,算数逻辑单元亦类似,5.4.1,微程序控制原理,3,、,微指令,(,Microinstruction,) :在机器的一个,CPU,周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。,微指令:指在同一,CPU,周期内并行或并发执行的微操作控制信息集合。,它是微命令的组合,微指令存储在控制器中的,控制存储器,中。,5.4.1,微程序控制原理,4,、微程序,一系列微指令的有序集合就是微程序。,一段微程序对应一条指令,。,微地址:存放微指令的控制存储器的单元地址,举例:以简单运算器通路图的微指令格式为例:,5.4.1,微程序控制原理,微指令基本格式,注意勘误:,9,7,5,相斥:,(,4 6 8,) (,5 7 9,) (,+ - M,),相容:,(,1 2 3,) (,X Y,组合),图解释,5.4.1,微程序控制原理,操作控制:发出管理和指挥全机工作,圆点表示一个个微命令,某一位为,1,表示发出微命令,为,0,不发出。,Eg,.,第,1,位为,1,时表示发出,LDR1,第,4,、,5,位位,1,表示将,R1,同时写入,X,、,Y,微命令信号的时间控制,Eg.4,、,9,、,10,、,2,在节拍电位均有效,需要和,T,脉冲做与操作,如:,P157,图,5.22,5.4.1,微程序控制原理,顺序控制:决定下一条微指令地址,后四位:下一条微指令直接地址,P1P2,:判断测试标志,P1P2,均为,0,:使用直接地址,P1P2,中有,1,:要进行,P1,或,P2,测试,根据测试结果修改直接地址,5.4.1,微程序控制原理,看图,p158,图,5.23,提示:,图中间下方,,“,微命令寄存器,”,不要,改为,“微指令寄存器”,5.4.1,微程序控制原理,5.4.1,微程序控制原理,思考:,微指令周期?,微指令字长?控制存储器的字长,控制存储器的大小受什么影响?,微地址,如何按照非顺序方式执行?,5.4.1,微程序控制原理,控制存储器,(,CM,),。,这是微程序控制器的核心部件,用来存放微程序。其性能,(,包括容量、速度、可靠性等,),与计算机的性能密切相关。,只读特性,微指令周期,:读出一条微指令并执行微指令的时间总和。,5.4.1,微程序控制原理,微指令寄存器,(,IR,),分为两部分:,微地址寄存器,(,MAR,),和,微命令寄存器,用来存放从控制存储器取出的正在执行的微指令,它的位数同微指令字长相等。,微地址寄存器存放将要访问的下一条微指令地址,微命令寄存器存放一条微指令(包括操作控制字段和判别测试字段),5.4.1,微程序控制原理,地址转移逻辑,如果微程序不出现分支:下一条微指令地址直接由微地址寄存器给出,如果微程序出现分支:通过判别测试字段,P,和执行部件的“状态条件”反馈信息,修改微地址寄存器内容。,勘误:,其实不能叫勘误,要指出的是,教材,P158,页,介绍完基本三个部分功能之后,没有给出微程序控制器的工作过程描述。,工作过程描述的相关内容要在本,ppt,或者配套多媒体课件上学习。,5.4.1,微程序控制原理,微程序控制器的工作过程,(1),执行取指令的公共操作。取指令的公共操作通常由一段,取指微程序,来完成,在机器开始运行时,自动将取指微程序的入口微地址送微地址寄存器,并从控制存储器中读出相应的微指令送入微指令寄存器。微指令的操作控制字段产生有关的微命令,用来控制实现取机器指令的公共操作。当取指微程序执行完后,从主存中取出的机器指令就已存入指令寄存器,IR,中了。,(2),由机器指令的操作码字段通过微地址形成部件产生出该机器指令所对应的微程序的入口地址,并送入微地址寄存器,5.4.1,微程序控制原理,(3),从控制存储器中逐条取出对应的微指令并执行之,每条微指令都能自动产生下一条微指令的地址。,(4),一条机器指令对应的微程序的最后一条微指令执行完毕后,其下一条微指令地址又回到取指微程序的人口地址,从而继续第,(1),步,以完成取下条机器指令的公共操作。,以上是一条机器指令的执行过程,如此周而复始,直到整个程序的所有机器指令执行完毕。,5.4.1,微程序控制原理,以一个典型例子说明微指令的工作过程,首先做知识准备,明确问题环境,5.4.1,微程序控制原理,BCD,码?,用,4,位二进制数来表示,1,位十进制数中的,09,这,10,个数码,Eg,.,(,379,),10,=,(,0011 0111 1001,),BCD,101111011 889,5.4.1,微程序控制原理,在我们的例子中:,7+3=10,用,BCD,码做加法期望得到:,0111+0011= 0001 0000,而实际,0111+0011=1010,用什么办法解决实际问题,满足应用需求?,5.4.1,微程序控制原理,原理:判断两个数的和的每位,两位之和小于等于,9,时:按二进制加法处理,两位之和大于,9,时:需再加,6,,促成进位,举例:,6+2 7+3,11+8 95+25,减法规则与之类似,5.4.1,微程序控制原理,在图,5.20,所示运算器基础上的具体做法:,R1 + R2 + R3,a b 6,做加法:,a+b+6,有进位?,是:结果值正确,否:结果值减,6,恢复,a+b,的真实结果,5.4.1,微程序控制原理,假设在某编程环境下,需要完成,BCD,两个位加法运算,代码:,b = b + a,;,该代码被编译成机器语言后,以汇编语言写出可以假定是,对于该指令,共耗费,4,个,CPU,周期,取指占,1,个,CPU,周期,执行占,2-3,个,CPU,周期,指令,:,ADD R2 R1,5.4.1,微程序控制原理,BCD,加法指令流程,数据通路图,P156,图,5.20,指令周期流程图如右图,R1 R2 R3,a b 6,取指微指令,微指令地址,判别测试,P1,给出微地址,判别测试,P2,是否进位,指令,:,ADD R2 R1,勘误,注意,P159,:,第一条微指令的二进制编码:,“在这条微指令中,.”,10,0000,000,000,000,000,10101,5.4.1,微程序控制原理,共四条微指令,10,0000,0000,第,1,条微指令:取指令操作信号,000,000,000,000,10101,13.PC-ABUS,(,I,),15.LDIR,17.PC+1,18.P1,判别,:,操作码译码 “,ADD2”,:,1010,13-17,取指执行过程图示,00,1001,1010,010 100,100,100,00000,2.,存结果,LDR2,4.R1-X,7.R2 - Y,10.+,不判别测试,下一条微指令地址,1001,第,2,条微指令:,R2+R1-R2,01,0000,1001,010 001,001,100 00000,2.,存结果,LDR2,6.R2 - X,9.R3 - Y,10.+,P2判别:进位标志Cy,,Cy=0:,0001,Cy=1:,0000,第,3,条微指令:,R2+R3-R2,00,0000,0001,010 001,001,001,00000,2.,存结果,LDR2,6.R2 - X,9.R3 - Y,12.-,转地址,0000,,即取指令,第,4,条微指令:,R2-R3-R2,5.4.1,微程序控制原理,6,、,CPU,周期和微指令周期的关系,T1, T2, T3,时间执行微指令,(,如运算等,),T4,上升沿打入结果至寄存器,T4,时间读取微指令,eg,.,取指,eg,.,执行,机器指令与微指令的关系,微地址寄存器,机器指令与微指令的关系,1.,一条机器指令对应一个微程序,2.,指令、程序、地址与内存有关,微指令、微程序、微地址与控制存储器有关,3.,每一个,CPU,周期对应一条微指令,5.4.2,微程序控制器设计技术,一、设计微指令应当追求的目标,有利于缩短微指令的长度,有利于缩小,CM,的容量,有利于提高微程序的执行速度,有利于对微指令的修改,有利于提高微程序设计的灵活性,5.4.2,微程序控制器设计技术,1,、微命令的编码方法,编码有三种方法:直接表示法,/,编码表示法,/,混合表示法,直接表示法:操作控制字段中的各位分别可以直接控制计算机,不需要进行译码。,5.4.2,微程序控制器设计技术,直接表示法特点:,这种方法结构简单,并行性强,操作速度快,但是微指令字太长,若微命令的总数为,N,个,则微指令字的操作控制字段就要有,N,位。,另外,在,N,个微命令中,有许多是互斥的,不允许并行操作,将它们安排在一条微指令中会使信息的利用率下降。,5.4.2,微程序控制器设计技术,2,、编码表示法:将操作控制字段分为若干个小组,每个组通过译码输出操作控制信号。,5.4.2,微程序控制器设计技术,可能存在的问题:,两位定义了四个微命令,00,01,10,11,现在需要同时发出,或者说在同一个,CPU,周期内发出,00,和,01,微命令,怎么办?,解决方法:相斥的微命令分为一组,1,2,3,4,5,6,7,8,9,顺序控制,4,、,5,:,00,无操作,01 R1,X,10 R2, X,11 DR,X,6,、,7,:,00,无操作,01 R3,Y,10 R2, Y,11 R1,Y,8,、,9,:,00,无操作,01,10,11 M,混和表示法,1,、,2,、,3,位为直接表示法,4,、,5,;,6,、,7,;,8,、,9,位为编码表示法,对于教材上例子的改进:,5.4.2,微程序控制器设计技术,编码注意几点:,把互斥性的微命令分在同一组内,兼容性的微命令分在不同组内。这样不仅有助于提高信息的利用率,缩短微指令字长,而且有助于充分利用硬件所具有的并行性,加快执行的速度。,应与数据通路结构相适应。,每个小组中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。,一般每个小组还要留出一个状态,表示本小组不发出任何微命令。,编码表示法特点:,可以避免相斥,使指令字大大缩短,但增加了译码电路,使微程序的执行速度减慢,5.4.2,微程序控制器设计技术,3,、混合编码法:将前两种结合在一起,兼顾两者特点。一个字段的某些编码不能独立地定义某些微命令,而需要与其他字段的编码来联合定义,5.4.2,微程序控制器设计技术,二、微指令地址的形成,入口地址:每条机器指令对应一段微程序,当公用的取指微程序从主存中取出机器指令之后,由机器指令的操作码字段指出各段微程序的入口地址,这是一种多分支,(,或多路转移,),的情况。,5.4.2,微程序控制器设计技术,1,、入口地址形成:如果机器指令操作码字段的位数和位置固定,可以直接使操作码与微程序入口地址的部分位相对应。,5.4.2,微程序控制器设计技术,2,、后继微地址形成方法,(,1,)计数器的方式方法:,微程序顺序执行时,其后继微地址就是现行微地址加上一个增量,(,通常为,1),;,当微程序遇到转移或转子程序时,由微指令的转移地址段来形成转移微地址。,在微程序控制器中也有一个微程序计数器,PC,,一般情况下都是将微地址寄存器,MAR,作为,PC,5.4.2,微程序控制器设计技术,特点:,优点是简单、易于掌握,编制微程序容易,缺点是这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。,5.4.2,微程序控制器设计技术,(,2,)多路转移的方式,根据条件转移如图,条件:状态条件,/,测试,/,微指令中微地址,/,操作码,例如:,P,字段的,2,位可以做,4,路转移,适用于:取指微指令执行之后,,OP,译码实现多路微程序入口微地址跳转,【,例,2】,微地址寄存器有,6,位,(A,5,-A,0,),,当需要修改其内容时,可通过某一位触发器的强置端,S,将其置“,1”,。现有三种情况:,(1),执行“取指”微指令后,微程序按,IR,的,OP,字段,(IR3-IR0),进行,16,路分支;,(2),执行条件转移指令微程序时,按进位标志,C,的状态进行,2,路分支;,(3),执行控制台指令微程序时,按,IR4,,,IR5,的状态进行,4,路分支。,请按多路转移方法设计微地址转移逻辑。,问题分析:,指令格式:,微指令格式:,地址码,R3 R2 R1 R0,P3 P2 P1 uA5 uA4 uA3 uA2 uA1 uA0,微命令,进位标记,C,按所给设计条件,微程序有三种判别测试,分别为,P1,,,P2,,,P3,。 由于修改,A5-A0,内容具有很大灵活性,现分配如下:,(1),用,P1,和,IR3-IR0,修改,A3-A0,;,(2),用,P2,和,C,修改,A0,;,(3),用,P3,和,IR5,、,IR4,修改,A5,、,A4,。,其中,A0,在,P,字段内容不同时,作用不同。,最后再加上节拍脉冲,假设在,CPU,周期最后一个节拍脉冲获得微地址,转移逻辑表达式如下:,A5=P3IR5T4,A4=P3IR4T4,A3=P1IR3T4,A2=P1IR2T4,A1=P1IR1T4,A0=P1IR0T4+P2CT4,由于从触发器强置端修改,故前,5,个表达式可用“与非”门实现,最后一个用“与或非”门实现。,下图仅画出了,A2,、,A1,、,A0,触发器的微地址转移逻辑图。,5.4.2,微程序控制器设计技术,3,、微指令格式分为两类:水平型微指令和垂直型微指令,(,1,)水平型微指令,水平型微指令是指一次能定义并能并行执行多个微命令的微指令。,格式如下,控制字段,判别测试字段,下地址字段,5.4.2,微程序控制器设计技术,水平型微指令特点:,优点:,微指令字较长,速度越快。,微指令中的微操作有高度的并行性。,微指令译码简单。,控制存储器的纵向容量小,灵活性强。,缺点:,微指令字比较长,明显地增加了控制存储器的横向容量。,水平微指令与机器指令差别很大,一般要熟悉机器结构、数据通路、时序系统以及指令执行过程的人才能进行微程序设计,这对用户来说是很困难的。,5.4.2,微程序控制器设计技术,(,2,)垂直型微指令:采用编码方式。,设置微操作控制字段时,一次只能执行一到二个微命令的微指令称为垂直型微指令。,先看第一个例子:,5.4.2,微程序控制器设计技术,垂直型微指令的特点:,微指令字短,一般为,10,20,位左右。,微指令的并行微操作能力有限,一条微指令一般只包含一个微操作命令。,微指令译码比较复杂。全部微命令用一个微操作控制字段(,微操作码,)进行编码,微指令执行时需行完全译码。,设计用户只需注意微指令的功能,而对微命令及其选择、数据通路的结构则不用过多地考虑,因此,便于用户编制微程序。而且,编制的微程序规整、直观,便于实现设计的自动化。,5.4.2,微程序控制器设计技术,垂直微指令字较短,使控制存储器的横向容量少。,采用较长的微程序结构去换取较短的微指令结构,用垂直微指令编制微程序要使用较多的微指令,微程序较长;要求控制存储器的纵向容量大。垂直微指令产生微命令要经过译码,微程序执行速度慢。,不能充分利用数据通路具有多种并行操作能力,5.4.2,微程序控制器设计技术,水平型微指令和垂直型微指令的比较,(1),水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。,(2),水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。,(3),由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。,(4),水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。,5.4.2,微程序设计技术,4,、动态微程序设计,对应于一台计算机的机器指令只有一组微程序,这一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序设计技术称为静态微程序设计。,采用,EPROM,作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。,过渡段,上边介绍了微程序控制器的原理及设计方法,控制器的另外一种实现方法是硬布线,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!