第5章中央处理器白中英.ppt
《第5章中央处理器白中英.ppt》由会员分享,可在线阅读,更多相关《第5章中央处理器白中英.ppt(96页珍藏版)》请在三一文库上搜索。
1、5.4 微程序控制器,5. 4. 1 微程序控制原理,5. 4. 2 微程序设计技术,发展 微程序的概念和原理是由英国剑桥大学的MVWilkes教授于1951年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。 到1964年,IBM公司在IBM 360系列机上成功地采用了微程序设计技术。20世纪70年代以来,由于VLSI技术的发展,推动了微程序设计技术的发展和应用。 目前,从大型机到小型机、微型机都普遍采用了微程序设计技术。,5.4.1 微程序控制原理,基本思想 仿照解题的方法,把操作控制信号编制成微指令,存放到控制存储器里,运行时,从控存中取出微指令,产生
2、指令运行所需的操作控制信号。从上述可以看出,微程序设计技术是用软件方法来设计硬件的技术。,5.4.1 微程序控制原理,根据每条指令执行的阶段性,将所需微操作信号以二进制编码形式存入存储器,按序依次读出执行,即可实现指令的功能。, 微命令: 控制部件(如CU)通过控制线向执行部件(如ALU、M、I/O等)发出的命令。, 微操作:执行部件接受微命令后所进行的操作。,1. 微命令和微操作,相斥性微命令,不能同时出现的微命令。,例如:+,M。,相容性微命令,可能同时出现的微命令。,例如:图中的4,5 。,2. 微指令和微程序,微指令:在一个CPU周期中,一组实现一定操作功能的微命令的组合。,微指令的基
3、本格式:,操作控制字段用于产生微命令。,顺序控制字段用于确定下一条微指令的地址。,操作控制字段中的每一位表示一个微命令。,图5.24 微指令基本格式,微命令, 微程序:由微指令组成,用以实现指令功能的程序。,a 微程序设计,用类似程序设计的方法,组织和控制机器内部信息的传送和互相的联系。,b 微程序设计任务,设计微指令,编制微程序,操作时序电位与脉冲的配合,LDR1LDR3用于图5.23的1,2,3微指令。,3. 微程序控制器原理框图,(1)控制储存器CM,存放实现机器指令系统功能 的微程序,由高速ROM构成。,* CM的字长就是微指令字长;, CM是控制器的一部分;, 要求CM高速可靠。,(
4、2)微指令寄存器MIR,寄存现行微指令。,(3)地址转移逻辑,按要求修改、形成下一条微指令的地址。,(4)微地址寄存器 AR,寄存访问CM的微指令地址。,(4) 微程序控制的计算机的工作过程, 执行取指微指令:依(PC)从内存读出指令,由操作码经地址 转移逻辑形成执行该指令的微程序入口地址AR;, 根据(AR)从CM中读出微指令MIR;, 操作控制字段(经译码)产生微命令,送各功能部件执行;, 由转移逻辑形成下一微地址AR,,可见: 步骤的循环过程就是微程序的执行过程。,我们举“十进制加法”指令为例,具体看一看微程序控制的过程。,十进制加法指令 功能:实现两个BCD码十进制加法运算。 算法:
5、两个一位BCD码之和。 大于9时,和数必须加6修正,并产生十进制进位。 不大于9时,和数不必修正,且无十进制数的进位。,4. 指令的微程序举例,十进制加法指令的微程序控制过程,1、执行“取指”微指令, 取出“十进制加法”指令,LDAR (MR16) ; (PC)AR RD (MR13) ; 读内存 LDDR (MR14) ; 指令DR LDIR (MR15) ; (DR)IR PC1(MR17) ; (PC)+1PC P1(MR18) ; 允许用OP作为下一微地址, 即微程序入口 设十进制加法指令OP1010,2、执行“十进制加法”指令的微程序,(1)1010微指令 R1x ,R2y,LDR2
6、 完成 (R1)(R2)R2,(2)1001微指令 R2x,R3y,LDR2 (R3)(110)2 完成 (R2)(R3)R2 P2 测试Cy Cy0,1 uAR0,0001为下一微地址 Cy1,0000为下一微指令,(3)(Cy0),0001微指令 R2x,R3y,LDR2 完成 (R2)(R3)R2,第二条微指令的二进制编码是,第三条微指令的二进制编码是,第四条微指令的二进制编码是,第一条微指令的二进制编码是,0000,1010,1001,0001,5. CPU周期与微指令周期的关系,在串行方式的微程序控制器中:,微指令周期 = 读出微指令的时间 + 执行该条微指令的时间,下图示出了某小型
7、机中CPU周期与微指令周期的时间关系:,一个CPU周期为0.8s,它包含四个等间隔的节拍脉冲T1T4,每个脉冲宽度为200ns。用T4作为读取微指令的时间,用T1+T2+T3时间作为执行微指令的时间。,例如,在前600ns时间内运算器进行运算,在600ns时间的末尾运算器已经运算完毕,可用T4上升沿将运算结果打入某个寄存器。与此同时可用T4间隔读取下条微指令,经200ns时间延迟,下条微指令又从只读存储器读出,并用T1上升沿打入到微指令寄存器。如忽略触发器的翻转延迟,那么下条微指令的微命令信号就从T1上升沿起就开始有效,直到下一条微指令读出后打入微指令寄存器为止。因此一条微指令的保持时间恰好是
8、0.8s,也就是一个CPU周期的时间。,6. 机器指令与微指令的关系,【问】:一会儿取机器指令,一会儿取微指令,它们之间到底是什么关系? 【解】: 1.一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。因此,一条机器指令的功能是由若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的 操作划分成若干条微指令来完成,由微指令进行解释和执行。,2. 从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。 3. 我们在讲述本章5.2节时,曾讲述了指令与机器周期概念,并归纳了五条典型指令的指令周期,并演示了这五条指令的微程序流程图
9、,每一个CPU周期就对应一条微指令。这就告诉我们如何设计微程序,也将使我们进一步体验到机器指令与微指令的关系。,【例2】设某计算机运算器框图如图(a)所示,其中ALU为16位的加法器(高电平工作),SA,SB为16位暂存器。4个通用寄存器由D触发器组成,Q端输出。,4个通用寄存器由D触发器组成,Q端输出,其读、写控制功能见下表,机器采用串行微程序控制方式,其微指令周期见图(b)。其中读ROM是从控存中读出一条微指令时间,为1s;ALU工作是加法器做加法运算,为500ns;m1是读寄存器时间,为500ns;m2是写寄存器的工作脉冲宽度,为100ns。 微指令字长12位,微指令格式如下:,0 1
10、2 3 4 5 6 7 8 9 10 11,要求:用二进制代码写出如下指令的微程序: (1)“ADD R0,R1”指令,即(R0)+(R1)R1 (2)“SUB R2,R3”指令,即(R3)-(R2)R3 (3)“MOV R2,R3”指令,即(R2)(R3),先画出三条指令的微指令的微程序流程图,如下图所示。,根据给定的微指令周期时间关系,完成ADD,SUB指令的执行动作需要3条微指令,MOV指令只需2条微指令。用二进制代码写出的三条指令的微程序列于下表中,其中*表示代码随意设置(0或1均可)。,其中未考虑“取指周期”和顺序控制问题,也即微程序仅考虑“执行周期”,微指令序列的顺序用数字标号标在
11、每条微指令的右上角。每一框表示一条微指令。,(1)“ADD R0,R1”指令, 即(R0)+(R1)R1,1.定义微指令格式 2.写出微指令,全部的微指令,5.4.2 微程序设计技术,1 设计微指令结构的目标:,有利于缩短微指令字长度; 有利于减少CM的容量; 有利于提高微程序的执行速度; 有利于微指令的修改; 有利于微程序设计的灵活性。,1、 微命令编码,就是对微指令中的操作控制字段采用的表示方法。,(1)直接表示法(直接控制法,不译法),操作控制字段中的每一位表示一个微命令。,图5.24 微指令基本格式,优点:简单,直观,快速。,缺点:微指令字太长,位信息利用率低。,直接表示法适用于微命令
12、少的场合。,(2)编码表示法(字段编译法),将微命令分段编码,经简单译码产生微命令。,优点:微指令字长适中,译码器不庞大,能实现并行操作,速度较快。, 字段直接编译法(字段显式编译法),微命令由字段自身的编码确定。,n个字段的微命令总数:,2Xi n (5.2),式中:Xi 第i个字段包含的 二进制位数 n 字段数, 字段间接编译法(字段隐式编译法),字段的含义需由字段自身的编码和另一字段或某特征 触发器的状态共同确定。,好处:可进一步缩短微指令字长, 分段原则:,. 相互有一定关系又不能在同一微周期出现(相斥性)的 微命令可编在同一字段内;可能在同一微周期出现(相容性) 的微命令应编在不同的
13、字段内;,. 分段应与数据通路的结构相适应,便于微命令设计, 修改,查找。,. 每个字段的位数不能太多(24位)。,(3) 混合表示法,把直接表示法和编码表示法相混合使用。,一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作。,2. 微地址的形成方法,入口地址:每条机器指令对应一段微程序,当公用的取指微程序从主存中取出机器指令之后,由机器指令的操作码字段指出各段微程序的入口地址。这是一种多分支(或多路转移)的情况。 入口地址形成:如果机器指令操作码字段的位数和位置固定,可以直接使操作码与微程序入口地址的部分
14、位相对应。,微地址包括微程序的入口地址和后继地址。 微地址的形成方法: 计数器的方式 多路转移的方式,1.计数器方式 在微程序控制器中设置一个微程序计数器MPC,取代微地址寄存器。MPC的作用类似 PC。 顺序执行微指令时, 后继微地址由现行微地址加上一个增量来产生。 非顺序执行微指令时, 必须通过执行转移微指令,把一个新的微地址送给MPC。,2、后继微地址形成方法,例:执行某指令的微程序有8条微指令,设这8条微指令的微地址为0011001000,0101101111,则可在CM的01001单元安排一条转移到01011微指令的转移微指令。,特点:控制字段较短,微地址产生机构简单,但微指令存放位
15、置不灵活,微转移指令多时,执行速度较慢。,计数器方式要求 对于顺序执行的微指令序列必须安排在控制存储器的连续单元中.,2.多路转移方式 下址字段方式(断定方式) 一条微指令具有多个转移分支的能力称为多路转移。在多路转移方式中后继微地址的产生: 当微程序不产生分支时,后继微地址直接由微指令的顺序控制字段给出; 当微程序出现分支时,有若干“后选”微地址可供选择:即按顺序控制字段的“判别测试”标志和“状态条件”信息来选择其中一个微地址。 “状态条件”有n位标志,可实现微程序2的n次方路转移,涉及微地址寄存器的n位 。,下址字段方式(断定方式),不转移时按下址字段从CM中取下一微指令。,转移时(由判别
16、标志和状态条件决定),由微地址形成电路产生下一微地址。,特点:微指令存放位置灵活,不需MPC。 但增加了微指令的长度,微地址产生机构较复杂。,OP 1010 1011 1101,0000,1010,1011,1101,0000,P1,取指微指令,微地址的设计 当微地址的位数与OP码相同时 微程序的入口地址=OP码,OP 1010 1011 1101,00000000,00101011,00000011,P1,取指微指令,当微地址的位数与OP码不相同时,微地址的位数=8,OP=4位 微程序的入口地址与OP码有关,OP码,00101111,00110111,【例5.1】设微地址寄存器有8位(A7A
17、0),“取指”微指令的 微地址为0000 0000,修改微地址时可通过触发器的强置端S将其置1。 现有三种情况: (1)执行“取指”微指令后,微程序按IR的OP字段(IR5IR2)进行16路分支; (2)执行条件转移指令的微程序时,按进位标志C的状态进行2路分支; (3)执行控制台指令的微程序时,按IR0,IR1的状态进行4路分支。 可修改的微地址是A7A2,请按多路转移方法设计微地址转移逻辑并画出逻辑电路图。,解:, 用P1 和IR5IR2修改A5A2, 用P2 和C修改A2,用P3和IR1,IR0修改A7,A6。,设在微周期的T2打入微指令,T4修改微地址。,【例5.1】 设微地址寄存器有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中央处理器 白中英
链接地址:https://www.31doc.com/p-2606301.html