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

上传人:牧羊曲112 文档编号:6342733 上传时间:2023-10-18 格式:PPT 页数:73 大小:448KB
返回 下载 相关 举报
计算机组成原理第五章第4讲微程序控制器.ppt_第1页
第1页 / 共73页
计算机组成原理第五章第4讲微程序控制器.ppt_第2页
第2页 / 共73页
计算机组成原理第五章第4讲微程序控制器.ppt_第3页
第3页 / 共73页
计算机组成原理第五章第4讲微程序控制器.ppt_第4页
第4页 / 共73页
计算机组成原理第五章第4讲微程序控制器.ppt_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《计算机组成原理第五章第4讲微程序控制器.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第五章第4讲微程序控制器.ppt(73页珍藏版)》请在三一办公上搜索。

1、微程序控制器,5.4 微程序控制器,发展微程序的概念和原理是由英国剑桥大学的MVWilkes教授于1951年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。到1964年,IBM公司在IBM 360系列机上成功地采用了微程序设计技术。20世纪70年代以来,由于VLSI技术的发展,推动了微程序设计技术的发展和应用。目前,从大型机到小型机、微型机都普遍采用了微程序设计技术。,5.4 微程序控制器,基本思想:仿照解题的方法,把操作控制信号编制成微指令,存放到控制存储器里,运行时,从控存中取出微指令,产生指令运行所需的操作控制信号。微程序设计技术是用软件方法来设计硬

2、件的技术。,5.4 微程序控制器,微程序控制原理微程序设计技术,微程序控制原理,控制部件,执行部件,执行部件,微命令,反馈信息:状态测试,微命令,微命令,CPU中的功能部件可以划分为两大类:,微操作,微操作,微操作,执行部件,微程序控制原理,微命令:控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。微命令是控制计算机各部件完成某个基本微操作的命令。什么是微操作?,微程序控制原理,微操作:是微命令的操作过程。微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作过程。微操作是执行部件中最基

3、本的操作。举例:控制门电位信号的变化、寄存器输入端的控制、ALU的基本执行过程,微程序控制原理,由于数据通路的结构关系,微操作可分为相容的和相斥的两种:相斥的微操作,是指不能同时或不能在同一个节拍内并行执行的微操作。相容的微操作,是指能够同时或在同一个节拍内并行执行的微操作。必须各占一位,类比并行与并发,举一个例子:,先勘误:P156 图5.20右侧中间 5 7 9 应该改为 9 7 5,975,相斥:(4 6 8)(5 7 9)(+-M)相容:(1 2 3)(X Y组合),图解释,对图的解释:寄存器的两个输入端:一个代表数据写入,一个代表控制线路,两者都有效时产生输出算数逻辑单元亦类似,微程

4、序控制原理,3、微指令(Microinstruction):在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。微指令:指在同一CPU周期内并行或并发执行的微操作控制信息集合。它是微命令的组合,微指令存储在控制器中的控制存储器中。,微程序控制原理,4、微程序一系列微指令的有序集合就是微程序。一段微程序对应一条指令。微地址:存放微指令的控制存储器的单元地址举例:以简单运算器通路图的微指令格式为例:,微程序控制原理,微指令基本格式,注意勘误:,975,相斥:(4 6 8)(5 7 9)(+-M)相容:(1 2 3)(X Y组合),图解释,微程序控制原理,操作控制:发出管理

5、和指挥全机工作圆点表示一个个微命令某一位为1表示发出微命令,为0不发出。Eg.第1位为1时表示发出LDR1第4、5位位1表示将R1同时写入X、Y微命令信号的时间控制Eg.4、9、10、2在节拍电位均有效需要和T脉冲做与操作如:P157 图5.22,微程序控制原理,顺序控制:决定下一条微指令地址后四位:下一条微指令直接地址P1P2:判断测试标志P1P2均为0:使用直接地址P1P2中有1:要进行P1或P2测试根据测试结果修改直接地址,微程序控制原理,看图p158 图5.23,提示:图中间下方,“微命令寄存器”不要改为“微指令寄存器”,微程序控制原理,微程序控制原理,思考:微指令周期?微指令字长?控

6、制存储器的字长控制存储器的大小受什么影响?微地址如何按照非顺序方式执行?,微程序控制原理,控制存储器(CM)。这是微程序控制器的核心部件,用来存放微程序。其性能(包括容量、速度、可靠性等)与计算机的性能密切相关。只读特性微指令周期:读出一条微指令并执行微指令的时间总和。,微程序控制原理,微指令寄存器(IR)分为两部分:微地址寄存器(MAR)和微命令寄存器用来存放从控制存储器取出的正在执行的微指令,它的位数同微指令字长相等。微地址寄存器存放将要访问的下一条微指令地址微命令寄存器存放一条微指令(包括操作控制字段和判别测试字段),微程序控制原理,地址转移逻辑如果微程序不出现分支:下一条微指令地址直接

7、由微地址寄存器给出如果微程序出现分支:通过判别测试字段P和执行部件的“状态条件”反馈信息,修改微地址寄存器内容。,勘误:其实不能叫勘误,要指出的是,教材P158页,介绍完基本三个部分功能之后,没有给出微程序控制器的工作过程描述。工作过程描述的相关内容要在本ppt或者配套多媒体课件上学习。,微程序控制原理,微程序控制器的工作过程(1)执行取指令的公共操作。取指令的公共操作通常由一段取指微程序来完成,在机器开始运行时,自动将取指微程序的入口微地址送微地址寄存器,并从控制存储器中读出相应的微指令送入微指令寄存器。微指令的操作控制字段产生有关的微命令,用来控制实现取机器指令的公共操作。当取指微程序执行

8、完后,从主存中取出的机器指令就已存入指令寄存器IR中了。(2)由机器指令的操作码字段通过微地址形成部件产生出该机器指令所对应的微程序的入口地址,并送入微地址寄存器,微程序控制原理,(3)从控制存储器中逐条取出对应的微指令并执行之,每条微指令都能自动产生下一条微指令的地址。(4)一条机器指令对应的微程序的最后一条微指令执行完毕后,其下一条微指令地址又回到取指微程序的人口地址,从而继续第(1)步,以完成取下条机器指令的公共操作。以上是一条机器指令的执行过程,如此周而复始,直到整个程序的所有机器指令执行完毕。,微程序控制原理,以一个典型例子说明微指令的工作过程首先做知识准备明确问题环境,微程序控制原

9、理,BCD码?用4位二进制数来表示1位十进制数中的09这10个数码Eg.(379)10=(0011 0111 1001)BCD 101111011 889,微程序控制原理,在我们的例子中:7+3=10用BCD码做加法期望得到:0111+0011=0001 0000 而实际0111+0011=1010 用什么办法解决实际问题,满足应用需求?,微程序控制原理,原理:判断两个数的和的每位两位之和小于等于9时:按二进制加法处理两位之和大于9时:需再加6,促成进位举例:6+2 7+3 11+8 95+25减法规则与之类似,微程序控制原理,在图5.20所示运算器基础上的具体做法:R1+R2+R3 a b

10、6做加法:a+b+6有进位?是:结果值正确否:结果值减6恢复a+b的真实结果,微程序控制原理,假设在某编程环境下,需要完成BCD两个位加法运算,代码:b=b+a;该代码被编译成机器语言后,以汇编语言写出可以假定是 对于该指令,共耗费4个CPU周期取指占1个CPU周期执行占2-3个CPU周期,指令:ADD R2 R1,微程序控制原理,BCD加法指令流程数据通路图P156图5.20指令周期流程图如右图,R1 R2 R3a b 6,取指微指令,微指令地址,判别测试P1给出微地址,判别测试P2是否进位,指令:ADD R2 R1,勘误注意P159:第一条微指令的二进制编码:“在这条微指令中.”,10,0

11、000,000 000 000 000 10101,微程序控制原理,共四条微指令,10,0000,0000,第1条微指令:取指令操作信号,000 000 000 000 10101,13.PC-ABUS(I)15.LDIR,17.PC+118.P1判别:操作码译码“ADD2”:1010,13-17,取指执行过程图示,00,1001,1010,010 100 100 100 00000,2.存结果LDR24.R1-X7.R2-Y,10.+不判别测试,下一条微指令地址1001,第2条微指令:R2+R1-R2,01,0000,1001,010 001 001 100 00000,2.存结果LDR26

12、.R2-X9.R3-Y 10.+,P2判别:进位标志Cy,Cy=0:0001Cy=1:0000,第3条微指令:R2+R3-R2,00,0000,0001,010 001 001 001 00000,2.存结果 LDR26.R2-X9.R3-Y 12.-,转地址0000,即取指令,第4条微指令:R2-R3-R2,微程序控制原理,6、CPU周期和微指令周期的关系T1,T2,T3时间执行微指令(如运算等)T4上升沿打入结果至寄存器T4时间读取微指令,eg.取指,eg.执行,机器指令与微指令的关系,微地址寄存器,机器指令与微指令的关系,1.一条机器指令对应一个微程序2.指令、程序、地址与内存有关,微指

13、令、微程序、微地址与控制存储器有关3.每一个CPU周期对应一条微指令,5.4.2 微程序控制器设计技术,一、设计微指令应当追求的目标有利于缩短微指令的长度有利于缩小CM的容量有利于提高微程序的执行速度有利于对微指令的修改有利于提高微程序设计的灵活性,5.4.2 微程序控制器设计技术,1、微命令的编码方法编码有三种方法:直接表示法/编码表示法/混合表示法直接表示法:操作控制字段中的各位分别可以直接控制计算机,不需要进行译码。,5.4.2 微程序控制器设计技术,直接表示法特点:这种方法结构简单,并行性强,操作速度快,但是微指令字太长,若微命令的总数为N个,则微指令字的操作控制字段就要有N位。另外,

14、在N个微命令中,有许多是互斥的,不允许并行操作,将它们安排在一条微指令中会使信息的利用率下降。,5.4.2 微程序控制器设计技术,2、编码表示法:将操作控制字段分为若干个小组,每个组通过译码输出操作控制信号。,5.4.2 微程序控制器设计技术,可能存在的问题:两位定义了四个微命令00,01,10,11现在需要同时发出,或者说在同一个CPU周期内发出00和01 微命令,怎么办?解决方法:相斥的微命令分为一组,顺序控制,4、5:00 无操作01 R1X10 R2 X11 DR X,6、7:00 无操作01 R3Y10 R2 Y11 R1 Y,8、9:00 无操作01 10 11 M,混和表示法1、

15、2、3位为直接表示法4、5;6、7;8、9位为编码表示法,对于教材上例子的改进:,5.4.2 微程序控制器设计技术,编码注意几点:把互斥性的微命令分在同一组内,兼容性的微命令分在不同组内。这样不仅有助于提高信息的利用率,缩短微指令字长,而且有助于充分利用硬件所具有的并行性,加快执行的速度。应与数据通路结构相适应。每个小组中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。一般每个小组还要留出一个状态,表示本小组不发出任何微命令。,编码表示法特点:可以避免相斥,使指令字大大缩短,但增加了译码电路,使微程序的执行速度减慢,5.4.2 微程序控制器设计技术,3、混合编码法:将前两种结合在一

16、起,兼顾两者特点。一个字段的某些编码不能独立地定义某些微命令,而需要与其他字段的编码来联合定义,5.4.2 微程序控制器设计技术,二、微指令地址的形成入口地址:每条机器指令对应一段微程序,当公用的取指微程序从主存中取出机器指令之后,由机器指令的操作码字段指出各段微程序的入口地址,这是一种多分支(或多路转移)的情况。,5.4.2 微程序控制器设计技术,1、入口地址形成:如果机器指令操作码字段的位数和位置固定,可以直接使操作码与微程序入口地址的部分位相对应。,5.4.2 微程序控制器设计技术,2、后继微地址形成方法(1)计数器的方式方法:微程序顺序执行时,其后继微地址就是现行微地址加上一个增量(通

17、常为1);当微程序遇到转移或转子程序时,由微指令的转移地址段来形成转移微地址。在微程序控制器中也有一个微程序计数器PC,一般情况下都是将微地址寄存器MAR作为PC,5.4.2 微程序控制器设计技术,特点:优点是简单、易于掌握,编制微程序容易缺点是这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。,5.4.2 微程序控制器设计技术,(2)多路转移的方式根据条件转移如图条件:状态条件/测试/微指令中微地址/操作码例如:P字段的2位可以做4路转移适用于:取指微指令执行之后,OP译码实现多路微程序入口微地址跳转,【例2】微地址寄存器有6位(A5-A0),当需要修改其内容时,可通

18、过某一位触发器的强置端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修改

19、A3-A0;(2)用P2和C修改A0;(3)用P3和IR5、IR4修改A5、A4。其中A0在P字段内容不同时,作用不同。最后再加上节拍脉冲,假设在CPU周期最后一个节拍脉冲获得微地址,转移逻辑表达式如下:A5=P3IR5T4A4=P3IR4T4A3=P1IR3T4A2=P1IR2T4A1=P1IR1T4A0=P1IR0T4+P2CT4 由于从触发器强置端修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。下图仅画出了A2、A1、A0触发器的微地址转移逻辑图。,5.4.2 微程序控制器设计技术,3、微指令格式分为两类:水平型微指令和垂直型微指令(1)水平型微指令水平型微指令是指一

20、次能定义并能并行执行多个微命令的微指令。格式如下,5.4.2 微程序控制器设计技术,水平型微指令特点:优点:微指令字较长,速度越快。微指令中的微操作有高度的并行性。微指令译码简单。控制存储器的纵向容量小,灵活性强。,缺点:微指令字比较长,明显地增加了控制存储器的横向容量。水平微指令与机器指令差别很大,一般要熟悉机器结构、数据通路、时序系统以及指令执行过程的人才能进行微程序设计,这对用户来说是很困难的。,5.4.2 微程序控制器设计技术,(2)垂直型微指令:采用编码方式。设置微操作控制字段时,一次只能执行一到二个微命令的微指令称为垂直型微指令。先看第一个例子:,5.4.2 微程序控制器设计技术,

21、垂直型微指令的特点:微指令字短,一般为1020位左右。微指令的并行微操作能力有限,一条微指令一般只包含一个微操作命令。微指令译码比较复杂。全部微命令用一个微操作控制字段(微操作码)进行编码,微指令执行时需行完全译码。设计用户只需注意微指令的功能,而对微命令及其选择、数据通路的结构则不用过多地考虑,因此,便于用户编制微程序。而且,编制的微程序规整、直观,便于实现设计的自动化。,5.4.2 微程序控制器设计技术,垂直微指令字较短,使控制存储器的横向容量少。采用较长的微程序结构去换取较短的微指令结构用垂直微指令编制微程序要使用较多的微指令,微程序较长;要求控制存储器的纵向容量大。垂直微指令产生微命令

22、要经过译码,微程序执行速度慢。不能充分利用数据通路具有多种并行操作能力,5.4.2 微程序控制器设计技术,水平型微指令和垂直型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。,5.4.2 微程序设计技术,4、动态微程序设计对应于一台计算机的机器指令只有一组微程序,这一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序设计技术称为静态微程序设计。采用EPROM作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。,过渡段上边介绍了微程序控制器的原理及设计方法控制器的另外一种实现方法是硬布线,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号