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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

微程序控制器5.4微程序控制器发展•微程序的概念和原理是由英国剑桥大学的M·V·Wilkes教授于1951年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。•到1964年,IBM公司在IBM360系列机上成功地采用了微程序设计技术。•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右侧中间579应该改为975975相斥:(468)(579)(+-M)相容:(123)(XY组合)图解释对图的解释:•寄存器的两个输入端:一个代表数据写入,一个代表控制线路,两者都有效时产生输出•算数逻辑单元亦类似5.4.1微程序控制原理3、微指令(Microinstruction):在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。•微指令:指在同一CPU周期内并行或并发执行的微操作控制信息集合。•它是微命令的组合,微指令存储在控制器中的控制存储器中。5.4.1微程序控制原理4、微程序•一系列微指令的有序集合就是微程序。一段微程序对应一条指令。微地址:存放微指令的控制存储器的单元地址•举例:以简单运算器通路图的微指令格式为例:5.4.1微程序控制原理微指令基本格式注意勘误:975相斥:(468)(579)(+-M)相容:(123)(XY组合)图解释5.4.1微程序控制原理操作控制:发出管理和指挥全机工作•圆点表示一个个微命令•某一位为1表示发出微命令,为0不发出。Eg.第1位为1时表示发出LDR1’第4、5位位1表示将R1同时写入X、Y•微命令信号的时间控制Eg.4、9、10、2在节拍电位均有效需要和T脉冲做与操作如:P157图5.225.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位十进制数中的0~9这10个数码Eg.(379)10=(001101111001)BCD1011110118895.4.1微程序控制原理在我们的例子中:•7+3=10用BCD码做加法期望得到:•0111+0011=00010000而实际•0111+0011=1010用什么办法解决实际问题,满足应用需求?5.4.1微程序控制原理原理:判断两个数的和的每位•两位之和小于等于9时:按二进制加法处理•两位之和大于9时:需再加6,促成进位举例:•6+27+3•11+895+25减法规则与之类似5.4.1微程序控制原理在图5.20所示运算器基础上的具体做法:R1+R2+R3ab6做加法:•a+b+6有进位?•是:结果值正确•否:结果值减6恢复a+b的真实结果5.4.1微程序控制原理假设在某编程环境下,需要完成BCD两个位加法运算,代码:b=b+a;该代码被编译成机器语言后,以汇编语言写出可以假定是对于该指令,共耗费4个CPU周期•取指占1个CPU周期•执行占2-3个CPU周期指令:ADDR2R15.4.1微程序控制原理BCD加法指令流程•数据通路图P156图5.20•指令周期流程图如右图R1R2R3ab6取指微指令微指令地址判别测试P1给出微地址判别测试P2是否进位指令:ADDR2R1勘误注意P159:第一条微指令的二进制编码:“在这条微指令中….”100000000000000000101015.4.1微程序控制原理共四条微指令1000000000第1条微指令:取指令操作信号0000000000001010113.PC-ABUS(I)15.LDIR’17.PC+118.P1判别:操作码译码“ADD2”:101013--17取指执行过程图示0010011010010100100100000002.存结果LDR24.R1-X7.R2-Y10.+不判别测试,下一条微指令地址1001第2条微指令:R2+R1-R20100001001010001001100000002.存结果LDR26.R2-X9.R3-Y10.+P2判别:进位标志Cy,Cy=0:0001Cy=1:0000第3条微指令:R2+R3-R20000000001010001001001000002.存结果LDR26.R2-X9.R3-Y12.-转地址0000,即取指令第4条微指令:R2-R3-R25.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微命令,怎么办?解决方法:相斥的微命令分为一组123456789顺序控制4、5:00无操作01R1-X10R2-X11DR-X6、7:00无操作01R3-Y10R2-Y11R1-Y8、9:00无操作01+10-11M混和表示法•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作为μPC5.4.2微程序控制器设计技术•特点:优点是简单、易于

1 / 73
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功