第5章中央处理器白中英

上传人:人*** 文档编号:585790784 上传时间:2024-09-03 格式:PPT 页数:96 大小:2.84MB
返回 下载 相关 举报
第5章中央处理器白中英_第1页
第1页 / 共96页
第5章中央处理器白中英_第2页
第2页 / 共96页
第5章中央处理器白中英_第3页
第3页 / 共96页
第5章中央处理器白中英_第4页
第4页 / 共96页
第5章中央处理器白中英_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《第5章中央处理器白中英》由会员分享,可在线阅读,更多相关《第5章中央处理器白中英(96页珍藏版)》请在金锄头文库上搜索。

1、5.4 5.4 微程序控制器微程序控制器 5.4.1微程序控制原理微程序控制原理5.4.2微程序微程序设计技技术 发展发展 微程序的概念和原理是由英国剑桥大学的微程序的概念和原理是由英国剑桥大学的MVWilkesMVWilkes教授于教授于19511951年在曼彻斯特大学计算机会议年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。存储器的元件。 到到19641964年,年,IBMIBM公司在公司在IBM 360IBM 360系列机上成功地采用了系列机上成功地采用了微程序设计技术。微程序设计技术。2020世纪世

2、纪7070年代以来,由于年代以来,由于VLSIVLSI技术的技术的发展,推动了微程序设计技术的发展和应用。发展,推动了微程序设计技术的发展和应用。 目前,目前,从大型机到小型机、微型机都普遍采用了微程序设计技从大型机到小型机、微型机都普遍采用了微程序设计技术。术。 5.4.1 5.4.1 微程序控制原理微程序控制原理基本思想基本思想 仿照解题的方法,把操作控制信号编制成微指令,存放仿照解题的方法,把操作控制信号编制成微指令,存放到控制存储器里,运行时,从控存中取出微指令,产生指到控制存储器里,运行时,从控存中取出微指令,产生指令运行所需的操作控制信号。令运行所需的操作控制信号。从上述可以看出,

3、微程序设从上述可以看出,微程序设计技术是用软件方法来设计硬件的技术。计技术是用软件方法来设计硬件的技术。5.4.1 5.4.1 微程序控制原理微程序控制原理 根根据据每每条条指指令令执执行行的的阶阶段段性性,将将所所需需微微操操作作信信号号以以二二进进制制编编码码形形式式存存入入存存储储器器,按按序序依依次次读读出出执执行行,即即可可实现指令的功能。实现指令的功能。 微命令微命令: : 控控制制部部件件(如如CU)通通过过控控制制线线向向执执行行部部件件(如如ALU、M、I/O等)发出的命令等)发出的命令。 微操作微操作: :执行部件接受微命令后所进行的操作。执行部件接受微命令后所进行的操作。

4、1. 1. 微命令和微操作微命令和微操作ALUDRYXM468123579R1R2R3Cy图图5.235.23简单运算器数据通路图简单运算器数据通路图相斥性微命令相斥性微命令 不能同时出现的微命令。不能同时出现的微命令。例如:例如:+ +,M。相容性微命令相容性微命令可能同时出现的微命令。可能同时出现的微命令。例如:图中的例如:图中的4,5。2.微指令和微程序微指令和微程序 微微指指令令: :在在一一个个CPU周周期期中中,一一组组实实现现一一定定操操作作功能的微命令的组合。功能的微命令的组合。 微指令的基本格式:微指令的基本格式:P字段字段下址字段下址字段操作控制操作控制顺序控制顺序控制图图

5、5.20 5.20 微指令的基本格式微指令的基本格式 操作控制字段操作控制字段用于产生微命令。用于产生微命令。 顺序控制字段顺序控制字段用于确定下一条微指令的地址。用于确定下一条微指令的地址。操作控制字段中的每一位表示一个微命令。操作控制字段中的每一位表示一个微命令。12345678910 11 12 13 14 15 16 17 18 1920 21 22 23LDR1LDR2LDR3R1xR1yR2xR2yDRxR3yMRDLDDRLDIRLDARPC+1P1P2直接地址直接地址操作控制操作控制顺序控制顺序控制图图5.245.24微指令基本格式微指令基本格式例如:第例如:第1 1位位= =

6、1 1有微命令有微命令LDR10 0无微命令无微命令LDR1微命令微命令 微程序微程序: :由微指令组成,用以实现指令功能的程序由微指令组成,用以实现指令功能的程序。微命令微命令微指令微指令微程序微程序机器指令系统机器指令系统组合组合组合组合组合组合 机器指令机器指令a微程序设计微程序设计用类似程序设计的方法,组织和控制机器内部信息的传送和互相的联系。用类似程序设计的方法,组织和控制机器内部信息的传送和互相的联系。b微程序设计任务微程序设计任务设计微指令,编制微程序设计微指令,编制微程序操作时序电位与脉冲的配合操作时序电位与脉冲的配合20ns60ns“”LDR1CPU周期节拍电位信号节拍脉冲信

7、号图5.25运算器操作时序与产生逻辑T4LDR1LDR2LDR3LDR1LDR2LDR3LDR1LDR3用于图5.23的1,2,3微指令。3. 3. 微程序控制器原理框图微程序控制器原理框图地址转移逻辑OP微地址寄存器地址译码控制存储器P字段控制字段微命令信号指令寄存器IR状态条件微指令寄存器图5.22微程序控制器组成原理框图地址转地址转移移逻辑逻辑OP微地址寄存器微地址寄存器地址译码地址译码控制存储器控制存储器P字段字段控制字段控制字段微命令信号微命令信号指令寄存器指令寄存器IR状态条件状态条件微指令微指令寄存器寄存器图图5.225.22微程序控制器组成原理框图微程序控制器组成原理框图(1)

8、控制储存器)控制储存器CM存放实现机器指令系统功能存放实现机器指令系统功能的微程序,由高速的微程序,由高速ROMROM构成。构成。* * CM的字长就是微指令字长;的字长就是微指令字长; CM是控制器的一部分;是控制器的一部分; 要求要求CM高速可靠。高速可靠。(2)微指令寄存器微指令寄存器MIR寄存现行微指令。寄存现行微指令。(3)地址转移逻辑地址转移逻辑按要求修改、形成下一条微指令的地址。按要求修改、形成下一条微指令的地址。(4)微地址寄存器微地址寄存器 AR 寄存访问寄存访问CMCM的微指令地址。的微指令地址。(4)微程序控制的计算机的工作过程微程序控制的计算机的工作过程 执执行行取取指

9、指微微指指令令:依依(PC)从从内内存存读读出出指指令令,由操作码经地址由操作码经地址转转移移逻逻辑辑形形成成执执行行该该指指令令 的的 微微 程程 序序 入入 口口 地地 址址AR; 根据(根据(AR)从从CM中中读出微指令读出微指令MIR; 操作控制字段(经译码)产操作控制字段(经译码)产生微命令,送各功能部件执行;生微命令,送各功能部件执行;由转移逻辑形成下一微地址由转移逻辑形成下一微地址AR,可见:可见:步骤步骤的循环过程就是微程序的执行过程。的循环过程就是微程序的执行过程。地址转地址转移移逻辑逻辑OP微地址寄存器微地址寄存器地址译码地址译码控制存储器控制存储器P字段字段控制字段控制字

10、段微命令信号微命令信号指令寄存器指令寄存器IR状态条件状态条件微指令微指令寄存器寄存器图图5.225.22微程序控制器组成原理框图微程序控制器组成原理框图我们举我们举“十进制加法十进制加法”指令为例,具体看一看微程序指令为例,具体看一看微程序控制的过程。控制的过程。十进制加法指令十进制加法指令十进制加法指令十进制加法指令功能:实现两个功能:实现两个BCD码十进制加法运算。码十进制加法运算。算法:算法:两个一位两个一位BCD码之和。码之和。大于大于9时,和数必须加时,和数必须加6修正,并产生十进制进位。修正,并产生十进制进位。不大于不大于9时,和数不必修正,且无十进制数的进位。时,和数不必修正,

11、且无十进制数的进位。4 4. . 指令的微程序举例指令的微程序举例十进制加法指令的微程序控制过程十进制加法指令的微程序控制过程 PCARABUSDBUSDRIR,PC+1P1(R1)(R2)R2(R2)(R3)R2P2(R2)(R3)R200000000RD10101001000000000001Cy0Cy1图图5.295.29十进制加法微程序流程图十进制加法微程序流程图1、执行、执行“取指取指”微指令,微指令, 取出取出“十进制加法十进制加法”指指令令LDAR(MR16);(PC)ARRD(MR13);读内存读内存LDDR(MR14);指令指令DRLDIR(MR15);(DR)IRPC1(M

12、R17);(PC)+1PCP1(MR18);允许用允许用OP作为下一微地址,作为下一微地址,即微程序入口即微程序入口设十进制加法指令设十进制加法指令OP101012345678910 11 12 13 14 15 16 17 18 1920 21 22 23LDR1LDR2LDR3R1xR1yR2xR2yDRxR3yMRDLDDRLDIRLDARPC+1P1P2直接地址直接地址操作控制操作控制顺序控制顺序控制2、执行、执行“十进制加法十进制加法”指令的微程序指令的微程序PCARABUSDBUSDRIR,PC+1P1(R1)(R2)R2(R2)(R3)R2P2(R2)(R3)R200000000

13、RD10101001000000000001Cy0Cy1图图5.295.29十进制加法微程序流程图十进制加法微程序流程图(1)1010微指令微指令R1x,R2y,LDR2完成完成(R1)(R2)R2(2)1001微指令微指令R2x,R3y,LDR2(R3)(110)2完成完成(R2)(R3)R2P2测试测试CyCy0,1uAR0,0001为下一微地址为下一微地址Cy1,0000为下一微指令为下一微指令(3)()(Cy0),),0001微指令微指令R2x,R3y,LDR2完成完成(R2)(R3)R212345678910 11 12 13 14 15 16 17 18 1920 21 22 23

14、LDR1LDR2LDR3R1xR1yR2xR2yDRxR3yMRDLDDRLDIRLDARPC+1P1P2直接地址直接地址操作控制操作控制顺序控制顺序控制00000000000011111100000第二条微指令的二进制编码是第二条微指令的二进制编码是01010010010000000001001第三条微指令的二进制编码是第三条微指令的二进制编码是01000100110000000010000第四条微指令的二进制编码是第四条微指令的二进制编码是01000100100100000000000第第一条微指令的二进制编码是一条微指令的二进制编码是CY=100000000101010101001100

15、1000100015.CPU周期与微指令周期的关系周期与微指令周期的关系在串行方式的微程序控制器中在串行方式的微程序控制器中:微指令周期微指令周期=读出微指令的时间读出微指令的时间+执行该条微指令的时间执行该条微指令的时间下图示出了某小型机中下图示出了某小型机中CPU周期与微指令周期的时间关系:周期与微指令周期的时间关系:一个一个CPU周期为周期为0.8s,它包含四个等间隔的节拍它包含四个等间隔的节拍脉冲脉冲T1T4,每个脉冲宽度为每个脉冲宽度为200ns。用用T4作为读取作为读取微指令的时间,用微指令的时间,用T1+T2+T3时间作为执行微指令的时时间作为执行微指令的时间。间。例如,在前例如

16、,在前600ns时间内运算器进行运算,在时间内运算器进行运算,在600ns时时间的末尾运算器已经运算完毕,间的末尾运算器已经运算完毕,可用可用可用可用T T4上升沿将运算上升沿将运算上升沿将运算上升沿将运算结果打入某个寄存器。与此同时可用结果打入某个寄存器。与此同时可用结果打入某个寄存器。与此同时可用结果打入某个寄存器。与此同时可用T T4间隔读取下条间隔读取下条间隔读取下条间隔读取下条微指令微指令微指令微指令,经经200ns时间延迟,下条微指令又从只读存时间延迟,下条微指令又从只读存储器读出,并用储器读出,并用T1上升沿打入到微指令寄存器。如忽上升沿打入到微指令寄存器。如忽略触发器的翻转延迟

17、,那么下条微指令的微命令信号略触发器的翻转延迟,那么下条微指令的微命令信号就从就从T1上升沿起就开始有效,直到下一条微指令读出上升沿起就开始有效,直到下一条微指令读出后打入微指令寄存器为止。因此一条微指令的保持时后打入微指令寄存器为止。因此一条微指令的保持时间恰好是间恰好是0.8s,也就是一个也就是一个CPU周期的时间。周期的时间。6.机器指令与微指令的关系机器指令与微指令的关系【问】【问】:一会儿取机器指令,一会儿取微指令,它们之间到底一会儿取机器指令,一会儿取微指令,它们之间到底是什么关系是什么关系?【解】【解】:1.一条机器指令对应一个微程序,这个微程序是由若干条一条机器指令对应一个微程

18、序,这个微程序是由若干条微指令序列组成的。因此,一条机器指令的功能是由若干条微微指令序列组成的。因此,一条机器指令的功能是由若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的指令组成的序列来实现的。简言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。操作划分成若干条微指令来完成,由微指令进行解释和执行。2.从指令与微指令,程序与微程序,地址与微地址的一从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,一对应关系来看,前者与内存储器有关,后者与控制存储前者与内存储器有关,后者与控制存储前者与内存储器有关,后者与控制存储前者与内存储器有关,后者与

19、控制存储器有关。器有关。器有关。器有关。3.我们在讲述本章我们在讲述本章5.2节时,曾讲述了指令与机器周期节时,曾讲述了指令与机器周期概念,并归纳了五条典型指令的指令周期概念,并归纳了五条典型指令的指令周期,并演示了这五条并演示了这五条指令的微程序流程图,指令的微程序流程图,每一个每一个每一个每一个CPUCPU周期就对应一条微指令。周期就对应一条微指令。周期就对应一条微指令。周期就对应一条微指令。这就告诉我们如何设计微程序,也将使我们进一步体验到这就告诉我们如何设计微程序,也将使我们进一步体验到机器指令与微指令的关系。机器指令与微指令的关系。【例【例2】设某计算机运算器框图如图】设某计算机运算

20、器框图如图(a)所示,其中所示,其中ALU为为16位位的加法器的加法器(高电平工作高电平工作),SA,SB为为16位暂存器。位暂存器。4个通用寄存个通用寄存器由器由D触发器组成,触发器组成,Q端输出。端输出。4个通用寄存器由个通用寄存器由D触发器组成,触发器组成,Q端输出,其读、写控端输出,其读、写控制功能见下表制功能见下表机器采用串行微程序控制方式,其微指令周期见图(机器采用串行微程序控制方式,其微指令周期见图(b)。其中读其中读ROM是从控存中读出一条微指令时间,为是从控存中读出一条微指令时间,为1s;ALU工工作是加法器做加法运算,为作是加法器做加法运算,为500ns;m1是读寄存器时间

21、,为是读寄存器时间,为500ns;m2是写寄存器的工作脉冲宽度,为是写寄存器的工作脉冲宽度,为100ns。微指令字微指令字长长12位,微指令格式如下:位,微指令格式如下:RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11RA0RA1:读读R0-R3的选择控制的选择控制WA0WA1:写写R0-R3的选择控制的选择控制R:寄存器读命令寄存器读命令W:寄存器写命令寄存器写命令LDSA:打入打入SA的控制信号的控制信号LDSB:打入打入SB的控制信号的控制信号SB-ALU

22、:传送传送SB的控制信号的控制信号SB-ALU:传送传送SB的控制信号的控制信号,并使加法器最低位加并使加法器最低位加1.Reset:清暂存器清暂存器SB为零的信号为零的信号:一段微程序结束,转入取机器指令的控制信号:一段微程序结束,转入取机器指令的控制信号要求:用二进制代码写出如下指令的微程序:要求:用二进制代码写出如下指令的微程序:(1)“ADDR0,R1”指令,即指令,即(R0)+(R1)R1(2)“SUBR2,R3”指令,即指令,即(R3)-(R2)R3(3)“MOVR2,R3”指令,即指令,即(R2)(R3)先画出三条指令的微指令的微程序流程图,如下图所示。先画出三条指令的微指令的微

23、程序流程图,如下图所示。 根根据据给给定定的的微微指指令令周周期期时时间间关关系系,完完成成ADDADD,SUBSUB指指令令的的执执行行动动作作需需要要3 3条条微微指指令令,MOVMOV指指令令只只需需2 2条条微微指指令令。用用二二进进制制代代码码写写出出的的三三条条指指令令的的微微程程序序列列于于下下表表中中,其其中中* *表表示示代代码码随随意意设设置置(0(0或或1 1均可均可) )。 其其中中未未考考虑虑“取取指指周周期期”和和顺顺序序控控制制问问题题,也也即即微微程程序序仅仅考考虑虑“执执行行周周期期”,微微指指令令序序列列的的顺顺序序用用数数字字标标号号标标在在每每条条微微指

24、指令令的的右右上上角角。每每一一框框表表示示一一条条微微指令。指令。(1)(1)“ADD R0ADD R0,R1R1”指令,指令,即即( (R0)+(R1)R1R0)+(R1)R1RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset1.1.定义微指令格式定义微指令格式2.2.写出微指令写出微指令RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset全部的微指令全部的微指令5.5.4.2 4.2 微程序设计技术微程序设计技术1设计微指令结构的目标:设计微指令结构的目标:q有利于缩短微指令字长度;有利于缩短微指令字长度;q有利于减少有利于减少CM的

25、容量;的容量;q有利于提高微程序的执行速度;有利于提高微程序的执行速度;q有利于微指令的修改;有利于微指令的修改;q有利于微程序设计的灵活性。有利于微程序设计的灵活性。1 1、 微命令编码微命令编码就是对微指令中的操作控制字段采用的表示方法。就是对微指令中的操作控制字段采用的表示方法。(1 1)直接表示法(直接控制法,不译法)直接表示法(直接控制法,不译法)操作控制字段中的每一位表示一个微命令。操作控制字段中的每一位表示一个微命令。12345678910 11 12 13 14 15 16 17 18 1920 21 22 23LDR1LDR2LDR3R1xR1yR2xR2yDRxR3yMRD

26、LDDRLDIRLDARPC+1P1P2直接地址直接地址操作控制操作控制顺序控制顺序控制图图5.245.24微指令基本格式微指令基本格式优点:优点:简单,直观,快速。简单,直观,快速。缺点:缺点:微指令字太长,位信息利用率低。微指令字太长,位信息利用率低。直接表示法适用于微命令少的场合。直接表示法适用于微命令少的场合。例如:第例如:第1 1位位= =1 1有微命令有微命令LDR10 0无微命令无微命令LDR1(2 2)编码表示法(字段编译法)编码表示法(字段编译法)将微命令分段编码,经简单译码产生微命令。将微命令分段编码,经简单译码产生微命令。优点:优点:微指令字长适中,译码器不庞大,能实现并

27、行操作,速度较快。微指令字长适中,译码器不庞大,能实现并行操作,速度较快。字段直接编译法(字段显式编译法)字段直接编译法(字段显式编译法)微命令由字段自身的编码确定。微命令由字段自身的编码确定。n个字段的微命令总数:个字段的微命令总数:2Xin(5.2)图图5.26 5.26 字段直接编译法字段直接编译法字段字段1字段字段2下一微地址下一微地址操作控制操作控制顺序控制顺序控制译译码码译译码码译译码码微命令微命令P1P2PnP字段字段式中:式中:Xi第第i个字段包含的个字段包含的二进制位数二进制位数n字段数字段数字段间接编译法(字段隐式编译法)字段间接编译法(字段隐式编译法)字段的含义需由字段自

28、身的编码和另一字段或某特征字段的含义需由字段自身的编码和另一字段或某特征触发器的状态共同确定。触发器的状态共同确定。好处:好处:可进一步缩短微指令字长可进一步缩短微指令字长图图5.275.27字段间接编译法字段间接编译法字段字段1字段字段2微命令微命令字段字段n01C22i1CPU用用 CH用用 分段原则:分段原则:.相互有一定关系又不能在同一微周期出现(相斥性)的相互有一定关系又不能在同一微周期出现(相斥性)的微命令可编在同一字段内;可能在同一微周期出现(相容性)微命令可编在同一字段内;可能在同一微周期出现(相容性)的微命令应编在不同的字段内;的微命令应编在不同的字段内;.分段应与数据通路的

29、结构相适应,便于微命令设计,分段应与数据通路的结构相适应,便于微命令设计,修改,查找。修改,查找。.每个字段的位数不能太多(每个字段的位数不能太多(24位)。位)。(3)混合表示法混合表示法把直接表示法和编码表示法相混合使用。把直接表示法和编码表示法相混合使用。一般每个小段还要留出一个状态,表示本字段不发出任一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此当某字段的长度为三位时,最多只能表示何微命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用七个互斥的微命令,通常用000000表示不操作。表示不操作。2.微地址的形成方法微地址的形成方法入入口口地地址址:每每

30、条条机机器器指指令令对对应应一一段段微微程程序序,当当公公用用的的取取指指微微程程序序从从主主存存中中取取出出机机器器指指令令之之后后,由由机机器器指指令令的的操操作作码码字字段段指指出出各段微程序的入口地址。这是一种多分支各段微程序的入口地址。这是一种多分支( (或多路转移或多路转移) )的情况。的情况。 入入口口地地址址形形成成:如如果果机机器器指指令令操操作作码码字字段段的的位位数数和和位位置置固固定定,可以直接使操作码与微程序入口地址的部分位相对应。可以直接使操作码与微程序入口地址的部分位相对应。微地址包括微程序的入口地址和后继地址。微地址包括微程序的入口地址和后继地址。微地址的形成方

31、法:微地址的形成方法:计数器的方式计数器的方式 多路转移的方式多路转移的方式 1.1.1.1.计数器方式计数器方式计数器方式计数器方式 在微程序控制器中设置一个微程序计数器在微程序控制器中设置一个微程序计数器MPCMPC,取代微地取代微地址寄存器。址寄存器。MPCMPC的作用类似的作用类似 PCPC。顺序执行顺序执行微指令微指令时,时,后继后继微地址由现行微地址加上一个增量来产生。微地址由现行微地址加上一个增量来产生。微地址由现行微地址加上一个增量来产生。微地址由现行微地址加上一个增量来产生。非顺序执行非顺序执行微指令微指令时,时,必须必须通过执行转移通过执行转移通过执行转移通过执行转移微指令

32、,把一个新的微指令,把一个新的微指令,把一个新的微指令,把一个新的微地址送给微地址送给微地址送给微地址送给MPCMPC。2 2、后继微地址形成方法、后继微地址形成方法 例例:执执行行某某指指令令的的微微程程序序有有8条条微微指指令令,设设这这8条条微微指指令令的的微微地地址址为为0011001000,0101101111,则则可可在在CM的的01001单元安排一条转移到单元安排一条转移到01011微指令的转移微指令。微指令的转移微指令。特特点点:控控制制字字段段较较短短,微微地地址址产产生生机机构构简简单单,但但微微指指令存放位置不灵活,微转移指令多时,执行速度较慢。令存放位置不灵活,微转移指

33、令多时,执行速度较慢。计数器方式要求计数器方式要求 对于顺序执行的微指令序列必须安排在控制对于顺序执行的微指令序列必须安排在控制存储器的连续单元中存储器的连续单元中. .2.多路转移方式多路转移方式下址字段方式(断定方式)下址字段方式(断定方式) 一条微指令具有多个转移分支的能力称为多路转移。在多一条微指令具有多个转移分支的能力称为多路转移。在多路转移方式中后继微地址的产生:路转移方式中后继微地址的产生:当微程序不产生分支时当微程序不产生分支时,后继微地址直接由微指令的顺序,后继微地址直接由微指令的顺序控制字段给出;控制字段给出;当微程序出现分支时当微程序出现分支时,有若干,有若干“后选后选”

34、微地址可供选择:微地址可供选择:即按顺序控制字段的即按顺序控制字段的“判别测试判别测试”标志和标志和“状态条件状态条件”信息来信息来选择其中一个微地址。选择其中一个微地址。“状态条件状态条件”有有n位标志,可实现微程序位标志,可实现微程序2的的n次方路转移,次方路转移,涉及微地址寄存器的涉及微地址寄存器的n位位。P字段下址字段操作控制顺序控制下址字段方式(断定方式)下址字段方式(断定方式) 不转移时按下址字段从不转移时按下址字段从CM中取下一微指令。中取下一微指令。 转移时(由判别标志和状态条件决定),由微地址形转移时(由判别标志和状态条件决定),由微地址形成电路产生下一微地址。成电路产生下一

35、微地址。特点:特点:微指令存放位置灵活,不需微指令存放位置灵活,不需MPC。但增加了微指令的长度,微地址产生机构较复杂。但增加了微指令的长度,微地址产生机构较复杂。OP10101011110100001010101111010000P1取指微指令微地址的设计微地址的设计当微地址的位数与当微地址的位数与OP码相同时码相同时微程序的入口地址微程序的入口地址=OP码码OP101010111101000000000010101100000011P1取指微指令取指微指令当微地址的位数与当微地址的位数与OP码不相同时,微地址的位数码不相同时,微地址的位数=8,OP=4位位微程序的入口地址与微程序的入口地址

36、与OP码有关码有关OP码码0010111100110111【例【例5.1】设微地址寄存器有设微地址寄存器有8位(位(A7A0),),“取指取指”微指令的微指令的微地址为微地址为00000000,修改微地址时可通过触发器的强置端,修改微地址时可通过触发器的强置端S将其置将其置1。现有三种情况:现有三种情况:(1)执执行行“取取指指”微微指指令令后后,微微程程序序按按IR的的OP字字段段(IR5IR2)进进行行16路分支;路分支;(2)执行条件转移指令的微程序时,按进位标志)执行条件转移指令的微程序时,按进位标志C的状态进行的状态进行2路分支;路分支;(3)执行控制台指令的微程序时,按)执行控制台

37、指令的微程序时,按IR0,IR1的状态进行的状态进行4路分支。路分支。可可修修改改的的微微地地址址是是A7A2,请请按按多多路路转转移移方方法法设设计计微微地地址址转转移移逻逻辑并画出逻辑电路图。辑并画出逻辑电路图。解:解:用用P1和和IR5IR2修改修改A5A2 用用P2和和C修改修改A2用用P3和和IR1,IR0修改修改A7,A6。设在微周期的设在微周期的T2打入微指令,打入微指令,T4修改微地址。修改微地址。【例【例5.1】设微地址寄存器有设微地址寄存器有8位(位(A7A0),),“取指取指”微指令的微地址为微指令的微地址为00000000,修改微地址时可,修改微地址时可通过触发器的强置

38、端通过触发器的强置端S将其置将其置1。现有三种情况:(。现有三种情况:(1)执行)执行“取指取指”微指令后,微程序按微指令后,微程序按IR的的OP字段(字段(IR5IR2)进行进行16路分支;(路分支;(2)执行条件转移指令的微程序时,按进位标志)执行条件转移指令的微程序时,按进位标志C的状态的状态进行进行2路分支;(路分支;(3)执行控制台指令的微程序时,按)执行控制台指令的微程序时,按IR0,IR1的状态进行的状态进行4路分支。可修改的微路分支。可修改的微地址是地址是A7A2,请按多路转移方法设计微地址转移逻辑并画出逻辑电路图。请按多路转移方法设计微地址转移逻辑并画出逻辑电路图。转移的逻辑

39、式为:转移的逻辑式为:A7P3IR1T4A6P3IR0T4A5P1IR5T4A4P1IR4T4A3P1IR3T4A2P1IR2T4P2CT4SETSETCLRCLRD DS SQ QQ QSETSETCLRCLRD DS SQ QQ QSETSETCLRCLRD DS SQ QQ QSETSETCLRCLRD DT T2 2ROMROM7 7T T4 4P P3 3IRIR1 1IRIR2 2IRIR0 0P P1 1P P2 2ROMROM6 6ROMROM2 2ROMROM0 0图图5.28 5.28 多路转移微地址修改逻辑多路转移微地址修改逻辑CPCPCPCPCPCPCPCPD DD D

40、D DD DC CSETSETSETSETSETSETSETSETCLRCLRCLRCLRCLRCLRCLRCLRuA7uA6uA2uA0ROM7 ROM0是控制存储器微指令中的下址字段(8位),在T2时打入(A7A0)5.5.5 5 硬连线控制器硬连线控制器 5.5.1 5.5.1 实现方法实现方法 通过逻辑电路直接连线而产生的,又称为组合逻通过逻辑电路直接连线而产生的,又称为组合逻辑控制方式辑控制方式 5.5.2 5.5.2 设计目标设计目标 使用最少元件(复杂的树形网络)使用最少元件(复杂的树形网络) 速度最高速度最高5.5.3. 5.5.3. 逻辑思想逻辑思想微操作控制信号的产生微操作

41、控制信号的产生在在微微程程序序控控制制器器中中,微微操操作作控控制制信信号号由由微微指指令令产产生生,并并且且可以重复使用。可以重复使用。在在硬硬联联线线控控制制器器中中,某某一一微微操操作作控控制制信信号号由由布布尔尔代代数数表表达达式描述的输出函数产生。式描述的输出函数产生。5.5.3.5.5.3.逻辑思想逻辑思想 由门电路和触发器构成的复杂树形网络组成,由门电路和触发器构成的复杂树形网络组成,用以产生执行指令的一系列微操作信号。用以产生执行指令的一系列微操作信号。组合逻辑线路组合逻辑线路N节拍电位节拍电位/节拍脉冲发节拍脉冲发生器生器M1MiT1Tk k指令指令译码器译码器ID指令寄存器

42、指令寄存器IRI1ImB1BjMC1MCn启动启动停止停止时钟时钟复位复位微操作控制信号微操作控制信号图图5.175.17组合逻辑控制器框图组合逻辑控制器框图1组合逻辑线路的组合逻辑线路的输入信号输入信号: :(1)来自指令译码器的输出(来自指令译码器的输出( ) 不同的指令操作码和寻址方式决定不同的指令操作码和寻址方式决定应执行的微操作。应执行的微操作。(2 2)来自时序发生器输出的)来自时序发生器输出的 节拍电位节拍电位/ /节拍脉冲(节拍脉冲( ) 使微操作信号按时序要求产生。使微操作信号按时序要求产生。(3)结果反馈信息(结果反馈信息( ) 受条件码(如受条件码(如N、O、C、Z等)影

43、等)影 响的指令,因不同状态条件而产生不同响的指令,因不同状态条件而产生不同 的执行结果,即需不同的微操作信号。的执行结果,即需不同的微操作信号。组合逻辑线路组合逻辑线路N节拍电位节拍电位/节拍脉节拍脉冲发生器冲发生器M1MiT1Tk k指令指令译码器译码器ID指令寄存器指令寄存器IRI1ImB1BjMC1MCn启动启动停止停止时钟时钟复位复位微操作控制信号微操作控制信号图图5.175.17组合逻辑控制器框图组合逻辑控制器框图2组合逻辑线路的组合逻辑线路的输出信号:输出信号:(微(微操作控制信号)操作控制信号)MCMC= =f f( ) (5.1) ( ) (5.1) 图图5.175.17组合

44、逻辑控制器框图组合逻辑控制器框图组合逻辑线路组合逻辑线路N节拍电位节拍电位/节拍脉冲发生节拍脉冲发生器器M1MiT1Tk k指令指令译码器译码器ID指令寄存器指令寄存器IRI1ImB1BjMC1MCn启动启动停止停止时钟时钟复位复位微操作控制信号微操作控制信号(1 1)根据)根据CPU的结构,画出指令操作流程图;的结构,画出指令操作流程图;(2 2)编排指令操作时间表;)编排指令操作时间表; 即把指令操作流程图中的微操作落实到不同的即把指令操作流程图中的微操作落实到不同的 CPU周期和节拍中。周期和节拍中。 (3 3)综合化简微操作逻辑式,并画出控制电路。)综合化简微操作逻辑式,并画出控制电路

45、。组合逻辑控制器的设计步骤组合逻辑控制器的设计步骤 为为了了防防止止遗遗漏漏,设设计计时时可可按按信信号号出出现现在在指指令令流流程程图图中中的的先先后后次次序序书书写写,然然后后进进行行归归纳纳和和简简化化。要要特特别别注注意意控控制制信信号号是是电电位位有有效效还还是是脉脉冲冲有有效效,如如果果是脉冲有效,必须加入节拍脉冲信号进行相是脉冲有效,必须加入节拍脉冲信号进行相“与与”。 根根据据微微操操作作时时间间表表,将将执执行行某某一一微微操操作作的的所所有有条条件件(哪哪条条指指令令、哪哪个个机机器器周周期期、哪哪个个节节拍拍和和脉脉冲冲)都都考考虑虑在在内内,加加以以分分类类组组合合,列

46、列出出各各微微操操作作产产生的逻辑表达式,并加以化简。生的逻辑表达式,并加以化简。(1 1)根据)根据CPUCPU的结构,画出指令操作流程图的结构,画出指令操作流程图指令流程图的进一步具体化。把每一条指令的微操作序列指令流程图的进一步具体化。把每一条指令的微操作序列分配到各个机器周期的各个时序节拍信号上。要求尽量多地分配到各个机器周期的各个时序节拍信号上。要求尽量多地安排公共操作,避免出现互斥。安排公共操作,避免出现互斥。2)安排微操作命令的操作时间表)安排微操作命令的操作时间表以微命令为依据,表示在哪个机器周期的哪以微命令为依据,表示在哪个机器周期的哪个节拍有哪些指令要求这些微命令。个节拍有

47、哪些指令要求这些微命令。时序时序公共操作公共操作ADDSUBJMPT0LDPCPC+1T1LDARLDPCT2LDIR3)安排指令的微命令表)安排指令的微命令表机器指令ADDSUBSTALDPCM1,T3PC+1M1,T4LDARLDIR+M3,T2所有微命令(4 4)进行微操作信号的综合)进行微操作信号的综合 当列出所有指令的微操作时间表之后,需要当列出所有指令的微操作时间表之后,需要对它们进行综合分析,把凡是要执行某一微操对它们进行综合分析,把凡是要执行某一微操作的所有条件作的所有条件( (哪条指令、哪个机器周期、哪个哪条指令、哪个机器周期、哪个节拍和脉冲等节拍和脉冲等) )都考虑在内,加

48、以分类组合,列都考虑在内,加以分类组合,列出各微操作产生的逻辑表达式,然后加以简化,出各微操作产生的逻辑表达式,然后加以简化,使逻辑表达式更为合理。使逻辑表达式更为合理。 例例44图图5.325.32中五条指令的微操作控制信号举例。中五条指令的微操作控制信号举例。 LDAR=M1LDAR=M1T2+M2(ADD+STA)T2+M2(ADD+STA)T2T2 LDDR=M1 LDDR=M1T3+M3(ADD+STA)T3+M3(ADD+STA)T3T3 LDIR=M1 LDIR=M1T4T4 LDPC= M1 LDPC= M1T4+JMPT4+JMPM2M2T4T4 RD=ADD RD=ADDM

49、3M3 WE=STA WE=STAM3M3 其中其中M1M1、M2M2、M3M3是三个节拍电位信号;是三个节拍电位信号;T2T2、T3T3、T4T4为节为节拍脉冲信号;拍脉冲信号;ADDADD、STASTA、JMPJMP是指令是指令OPOP字段译码器的输出字段译码器的输出信号。信号。(5 5)实现电路)实现电路 根据整理并化简的逻辑表达式组,可以用一系根据整理并化简的逻辑表达式组,可以用一系列组合逻辑电路加以实现,加根据逻辑表达式画列组合逻辑电路加以实现,加根据逻辑表达式画出逻辑电路图,用逻辑门电路的组合来实现之,出逻辑电路图,用逻辑门电路的组合来实现之,也可以直接根据逻辑表达式,用也可以直接

50、根据逻辑表达式,用PLAPLA或其他逻辑或其他逻辑电路实现。电路实现。 5.7.1并行性概念并行性概念 1并行性的含义并行性的含义 同同时时性性指两个或者两个以上事件在同一指两个或者两个以上事件在同一时时刻刻发发生。生。并并发发性性指两个或者两个以上事件在同一指两个或者两个以上事件在同一时间间时间间隔内隔内发发生。生。5.5.7 7 流水流水CPUCPU5.5.2并行性概念并行性概念2 2并行处理技术的主要形式并行处理技术的主要形式(1)时间时间并行并行时间时间重叠重叠让让多个多个处处理理过过程在程在时间时间上相互上相互错错开,开,轮轮流重叠地使用流重叠地使用同一套硬件的各个部分,从而同一套硬

51、件的各个部分,从而赢赢得高速度。得高速度。实现方式:实现方式:采用流水采用流水处处理部件。理部件。(2 2)空空间间并行并行资资源重复源重复例:奔例:奔腾腾CPU采用的超采用的超标标量流水技量流水技术术。用多个相同部件用多个相同部件处处理多个事件。理多个事件。实现方式:实现方式:多多处处理器系理器系统统和多和多计计算机系算机系统统或或单处单处理器系理器系统统。(3)时时间间并并行行+空空间间并并行行既采用既采用时间时间并行性又采用空并行性又采用空间间并行性。并行性。1.1.流水计算机的系统组成流水计算机的系统组成 现代流水计算机的系统现代流水计算机的系统组成原理如左图所示。其中组成原理如左图所

52、示。其中CPU按流水线方式组织,通按流水线方式组织,通常由三部分组成:指令部件、常由三部分组成:指令部件、指令队列、执行部件。这三指令队列、执行部件。这三个功能部件可以组成一个个功能部件可以组成一个3级流水线。级流水线。图图3.33 3.33 流水计算机系统组成原理示意图流水计算机系统组成原理示意图 5.7.2 5.7.2 流水流水CPUCPU的结构的结构1 1指令流水线原理指令流水线原理 (1 1)问题的提出)问题的提出串行执行方式存在部件利用率不高(有闲置时间)的问题。串行执行方式存在部件利用率不高(有闲置时间)的问题。CPU周期周期使用部件使用部件闲置部件闲置部件取指令取指令PC,MS,

53、IR等等ALU,GRS取数取数MSPC,ALU,GRS执行执行ALU,GRSPC,MS每个过程段所用的部件不同每个过程段所用的部件不同在某个过程段时,其他过程段的部件处于空闲在某个过程段时,其他过程段的部件处于空闲(2 2)流水线工作原理)流水线工作原理 指令周期三个主要过程:指令周期三个主要过程:图图5.30 指令周期的三个过程段指令周期的三个过程段取数取数取指取指执行执行 指令执行过程的时空图指令执行过程的时空图 a a非流水线时空图非流水线时空图I1I1I1I2I2I2I3I3I3I1I2I3空间空间S时间时间T执行执行取数取数取指取指(a)非流水线时空图非流水线时空图b b标量流水线时

54、空图标量流水线时空图I1I1I1I2I2I2I3I3I3I4I4I4I1I2I3空间空间S时间时间T执行执行取数取数取指取指(b)标量流水线时空图标量流水线时空图I4图图5.31非流水线与流水线对比非流水线与流水线对比c.超标量流水线时空图超标量流水线时空图I1I3I5I2I4I6I1I3I5I7I2I4I6I8I1I3I5I7I9I2I4I6I8I10I1I2I3I4I5I6执行执行取数取数取指取指空间空间S时间时间T(C)超标量流水线时空图超标量流水线时空图小结小结: : 非流水线指令的执行是串行的;非流水线指令的执行是串行的; 标量流水线从满载起,每经标量流水线从满载起,每经1 1个周期

55、做完一条指令;个周期做完一条指令; 超超标标量量流流水水线线,提提高高了了吞吞吐吐量量,但但需需二二套套(或或二二套以上)流水线的硬件及其他电路。套以上)流水线的硬件及其他电路。 2 2流水线中的主要问题及解决方法流水线中的主要问题及解决方法 (1 1)资源相关)资源相关在同一机器时钟周期内争用同一个功能部件所发生的冲突。在同一机器时钟周期内争用同一个功能部件所发生的冲突。 时钟时钟指令指令 12345I1取指取指译码译码取数取数执行执行I2取指取指译码译码取数取数执行执行I3取指取指译码译码取数取数在时钟在时钟3 3发生争用内存发生争用内存的问题的问题资源相关。资源相关。解决方法:解决方法:

56、 增设一个存储器,将指令和数据分开存放;增设一个存储器,将指令和数据分开存放; 将取指操作推迟一个时钟进行;将取指操作推迟一个时钟进行; 采用双端口存储器。采用双端口存储器。(2 2)数据相关)数据相关 在程序中,一条指令的执行需等前一条指令执行完后才在程序中,一条指令的执行需等前一条指令执行完后才能进行,则有数据相关。能进行,则有数据相关。 例:例: 取数取数译码译码取指取指ADD执行执行取数取数译码译码取指取指SUB4321 时钟时钟指令指令解决方法:解决方法: 推迟推迟ADDADD指令的取数操作;指令的取数操作;采采用用数数据据旁旁路路(内内部部向向前前)技技术术,直直接接把把结结果果送

57、送给给下下一一条指令。条指令。(3)控制相关)控制相关由条件由条件转移指令引起的。移指令引起的。 解决方法:解决方法:延延迟转移法移法:加入空操作,等加入空操作,等待待转移条件形成。移条件形成。猜猜测法法:选择出出现概率概率较高的分支高的分支进行行指令指令预取。取。【例例4】流水线中有三类数据相关冲突:流水线中有三类数据相关冲突:写后读相关;读后写相关;写后写相关。写后读相关;读后写相关;写后写相关。判断以下三组指令各存在哪种类型的数据相关。判断以下三组指令各存在哪种类型的数据相关。(1)I1:ADDR1,R2,R3;(R2)+(R3)-R1I2:SUBR4,R1,R5;(R1)-(R5)-R

58、4(2)I3:STAM(x),R3;R3)-M(x),M(x)是存储器单元是存储器单元I4:ADDR3,R4,R5;(R4)+(R5)-R3(3)I5:MULR3,R1,R2;(R1)(R2)-R3I6:ADDR3,R4,R5;(R4)+(R5)-R3(1)I1:ADDR1,R2,R3;(R2)+(R3)-R1I2:SUBR4,R1,R5;(R1)-(R5)-R4第第(1)组指令中,组指令中,I1指令运算结果应先写入指令运算结果应先写入R1,然后,然后在在I2指令中读出指令中读出R1内容。由于内容。由于I2指令进入流水线,变成指令进入流水线,变成I2指令在指令在I1指令写入指令写入R1前就读出

59、前就读出R1内容,发生内容,发生RAW(写后读)相关。(写后读)相关。(2)I3:STAM(x),R3;(R3)-M(x),M(x)是存储器单元是存储器单元I4:ADDR3,R4,R5;(R4)+(R5)-R3第第(2)组指令中,组指令中,I3指令应先读出指令应先读出R3内容并存入存储内容并存入存储单元单元M(x),然后在,然后在I4指令中将运算结果写入指令中将运算结果写入R3。但由。但由于于I4指令进入流水线,变成指令进入流水线,变成I4指令在指令在I3指令读出指令读出R3内容内容前就写入前就写入R3,发生,发生WAR(读后写)相关。(读后写)相关。(3)I5:MULR3,R1,R2;(R1

60、)(R2)-R3I6:ADDR3,R4,R5;(R4)+(R5)-R3第第(3)组指令中,如果组指令中,如果I6指令的加法运算完成指令的加法运算完成时间早于时间早于I5指令的乘法运算时间,变成指令指令的乘法运算时间,变成指令I6在在指令指令I5写入写入R3前就写入前就写入R3,导致,导致R3的内容错误,的内容错误,发生发生WAW(写后写)相关写后写)相关。 3 3流水线工作方式的特点流水线工作方式的特点 具有时间的并行性;具有时间的并行性;流水流水线分工越分工越细,可同,可同时运行的指令越多,运行的指令越多,吞吐率就越高。吞吐率就越高。但需增加硬件,控制更复但需增加硬件,控制更复杂; 流水流水

61、线每个每个阶段的段的执行行时间应尽量一致尽量一致; 流水流水线充充满(满载)时达到最大的吞吐率。达到最大的吞吐率。 5.7.3奔腾奔腾CPURISCRISC的三个要素是:的三个要素是:(1)(1)一个有限的简单的指令集;一个有限的简单的指令集;(2)(2)CPUCPU配备大量的通用寄存器;配备大量的通用寄存器;(3)(3)强调对指令流水线的优化。强调对指令流水线的优化。5.8RISCCPU5.8.2RISCCPU实例实例1.MC88110CPU结构框图结构框图MC88110CPU是一个是一个RISC处理器。处理器有处理器。处理器有12个执行功能部件,个执行功能部件,3个个cache和和1个控制

62、部件。其个控制部件。其结构框图请见结构框图请见CAI所示。所示。2.MC 88110的指令流水线的指令流水线由于由于MC88110是超标量流水是超标量流水CPU,所以指令所以指令流水线在每个机器时钟周期完成两条指令。流水线在每个机器时钟周期完成两条指令。流水流水线共分为三段:线共分为三段:取指和译码取指和译码(FD)段、执行段、执行(EX)段、写回段、写回(WB)段,如段,如CAI所示。所示。指令动态调度策略指令动态调度策略:按序发射按序发射取两条指令,配对发送,一个周期可以有两条指令执行完毕取两条指令,配对发送,一个周期可以有两条指令执行完毕图5.38b第一条指令由于资源相关或数据相关第一条

63、指令由于资源相关或数据相关,则这两条指令都不发射则这两条指令都不发射若第一条指令能发射若第一条指令能发射,第二条不能发射第二条不能发射,只发射第只发射第1条指令到条指令到EX段段,第二条指令等待并新取第二条指令等待并新取一条指令与之配对等待发射一条指令与之配对等待发射2)计分牌方法计分牌方法 计分牌是一个位向量、每一位对应寄存器堆中的一个寄存器。计分牌是一个位向量、每一位对应寄存器堆中的一个寄存器。指令发射时,目的寄存器在计分牌中相应位为指令发射时,目的寄存器在计分牌中相应位为1;写回后清写回后清0判断指令可否发射的条件是:判断指令可否发射的条件是:该指令的所有目的寄存器、源寄存器在向量位中对

64、应的位都该指令的所有目的寄存器、源寄存器在向量位中对应的位都为为0否则,等待这些位清除否则,等待这些位清除解决数据相关采用定向传送技术:解决数据相关采用定向传送技术:将前面指令执行的结果直接送给后面指令所需此源操作数的将前面指令执行的结果直接送给后面指令所需此源操作数的功能部件功能部件FIFO队列队列(解决按序完成)(解决按序完成)FIFO队列称为历史缓冲器,每当一条指令发射后,队列称为历史缓冲器,每当一条指令发射后,副本传入副本传入FIFO队列队尾队列队尾只有当前面的指令执行完毕,才到达队首,只有当前面的指令执行完毕,才到达队首,执行完毕后,离开队列执行完毕后,离开队列延迟转移法延迟转移法可

65、选可选如果采用延迟转移选项,则转移指令后的转移延迟时如果采用延迟转移选项,则转移指令后的转移延迟时间内指令被发射间内指令被发射否则,指令照常发送否则,指令照常发送指令指令Cache(TIC)法)法是一个是一个32位的全相联位的全相联Cache,用来保存转移路径的前,用来保存转移路径的前两条指令两条指令例例6超标度为超标度为2的超标量流水线结构模型如图的超标量流水线结构模型如图5.39(a)所示。它分为所示。它分为4个段,即个段,即取指取指(F)段、段、译码译码(D)段、执行段、执行(E)段和写回段和写回(W)段。段。F,D,W段只需段只需1个时钟个时钟周期完成。周期完成。E段有多个功能部件,其

66、中段有多个功能部件,其中LOAD/STORE部件完成数据部件完成数据cache访问,访问,只需一个时钟周期;加法器完成需只需一个时钟周期;加法器完成需2个时钟周期,乘法器需个时钟周期,乘法器需3个时钟周期,它个时钟周期,它们都已流水化。们都已流水化。F段和段和D段要求成对输入。段要求成对输入。E段有内部数据定向传送,结果生段有内部数据定向传送,结果生成即可使用。成即可使用。现有如下现有如下6条指令序列:条指令序列:I1LADR1,A;M(A)R1,M(A)是存储器单元是存储器单元I2ADDR2,R1;(R2)+(R1)-R2I3ADDR3,R4;(R3)+(R4)-R3I4MULR4,R5;(

67、R4)(R5)-R4I5LADR6,B;M(B)R6,M(B)是存储器单元是存储器单元I6MULR6,R7;(R6)(R7)R6其中其中I1,I2有有RAW相关,相关,I3,I4有有WAR相关,相关,I5,I6有有WAW相关和相关和RAW相关。相关。请画出:请画出:(1)按序发射按序完成各段推进情况图;按序发射按序完成各段推进情况图;(2)按序发射按序完成的流水线时空图。按序发射按序完成的流水线时空图。解解:I1I1LADR1,A;M(A)R1,M(A)是存储器单元是存储器单元I2I2ADDR2,R1;(R2)+(R1)-R2由于由于I1,I2间有间有RAW相关,相关,I2要推迟一个时钟才能要

68、推迟一个时钟才能发射。发射。I3 ADD R3I3 ADD R3,R4R4;(R3) + (R4)-R3(R3) + (R4)-R3I4 MUL R4I4 MUL R4,R5R5;(R4)(R5)-R4(R4)(R5)-R4 I3 I3,I4I4之间有之间有WARWAR相关,但按序发射,即使相关,但按序发射,即使I3I3,I4I4并行并行操作,也不会导致错误。操作,也不会导致错误。 I5 LAD R6I5 LAD R6,B B ;M(B)R6M(B)R6,M(B)M(B)是存储器单元是存储器单元I6 MUL R6I6 MUL R6,R7R7;(R6)(R7) R6(R6)(R7) R6 I5

69、I5,I6I6间还有间还有WAWWAW相关,只要相关,只要I6I6的完成放在的完成放在I5I5之后,就之后,就不会出错。不会出错。I6I6要推迟一个时钟才能发射。要推迟一个时钟才能发射。 注意,注意,I5I5实际上已在时钟实际上已在时钟6 6执行完毕,但一直推迟到时执行完毕,但一直推迟到时钟钟9 9才写回,这是为了保持按序完成。超标量流水线完成才写回,这是为了保持按序完成。超标量流水线完成6 6条指令的执行任务总共需要条指令的执行任务总共需要1010个时钟周期。个时钟周期。 I1LADR1,A;M(A)R1,M(A)是存储器单元是存储器单元I2ADDR2,R1;(R2)+(R1)-R2I3ADDR3,R4;(R3)+(R4)-R3I4MULR4,R5;(R4)(R5)-R4I5LADR6,B;M(B)R6,M(B)是存储器单元是存储器单元I6MULR6,R7;(R6)(R7)R6译码段译码段执行段执行段写回段写回段取取/存存加法器加法器乘法器乘法器时钟时钟2345678910

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号