(五) 指令的流水处理
1.流水线的基本概念
(1)指令控制方式指令控制方式有3种,顺序方式、重叠方式、流水方式。顺序方式是指各条机器指令之间顺序串行地执行,执行完一条指令后才取下一条指令,而且每条机器指令内部的各个微操作也是顺序串行地执行。这种方式的优点是控制简单。缺点是速度上不去,机器各部件的利用率低。重叠方式是指在解释第K条指令的操作完成之前,就可开始解释第K+1条指令。通常采用的是一次重叠,即在任何时候,指令分析部件和指令执行部件都只有相邻两条指令在重叠解释。这种方式的优点是速度有所提高,控制也不太复杂,缺点是会出现冲突、转移、相关等问题,在设计时必须想办法解决。流水方式是模仿工业生产过程的流水线(如汽车装配线)而提出的一种指令控制方式。流水(pipelining)技术是把并行性或并发性镶嵌到计算机系统里的一种形式。它是一种把重复的顺序处理过程分解为若干子过程,每个子过程能在专用的独立模块上有效地并发工作的技术。在概念上“流水”可以看成是“重叠”的延伸。差别仅在于“一次重叠”只是把一条指令解释分解为两个子过程,而“流水”则是分解为更多的子过程。为了描述流水线的工作,我们画出时空图,它是分析评价流水线性能的重要工具。来源:www.examda.com
(2)流水线的种类
①从流水的级别上,可分为部件级、处理机级以及系统级的流水。
②从流水的功能上,可分为单功能流水线和多功能流水线。
③从流水的联接上,可分为静态流水线和动态流水线。这是针对多功能流水线而分的。
④从流水是否有反馈回路,可分为线性流水线和非线性流水线。
⑤从流水的流动顺序上,可分为同步流水线和异步流水线。
⑥从流水线的数据表示上,可分为标量流水线和向量流水线。
(3)流水的相关处理
①局部性相关处理由于流水机器同时解释多条指令,这些指令可能有对同一主存单元或同一寄存器的“先写后读”的要求,这时就出现了相关,这种相关包括指令相关、访存操作数相关以及通用寄存器组相关等,它只影响相关的两条或几条指令,而且至多影响流水线的某些段推后工作,并不会改动指令缓冲器中预取到的指令内容,影响是局部的,所以称为局部性相关。解决局部性相关有两种方法:一种是推后法,即推后对相关单元的读,直至写入完成。另一种是通路法,即设置相关专用通路,使得不必先把运算结果写入相关存储单元,再从这里读出后才能使用,而是经过相关专用通路直接使用运算结果,这样可以加快速度。
②全部性相关处理转移指令(尤其是条件转移指令)与它后面的指令之间存在关联,使之不能同时解释,执行转移指令时,可能会改动指令缓冲器中预取到的指令内容,从而会造成流水线吞吐率和效率下降,比局部性相关的影响要严重得多,所以称为全局性相关。解决全局性相关有三种方法:一种是猜测转移分支;一种是加快和提前形成条件码;还有一种是加快短循环程序的处理。条件转移指令有两个分支:一个分支是按原来的顺序继续执行下去,称为转移不成功分支。另一个分支是按转移后的新指令序列执行,称为转移成功分支。许多流水机器都猜选转移不成功分支,这样做时,猜对的机率很大,流水线的吞吐率和效率就会比不采用猜测法时高得多。除猜测法外,还可以尽早获得条件码以便对流水线简化条件转移的处理。这意味着能精确地预知流向哪个分支。事实上,完全有可能提前形成条件码,例如一个乘法算所需时间较长,但在运算之前就能知道其结果为正或为负,或者是否为零,因此,加快单条指令内部条件码的形成,或者在一段程序内提前形成条件码,对转移问题的顺利解决是很有好处的。由于程序中广泛采用循环结构,所以流水线大都采用特殊措施以加快循环程序的处理。例如使整个循环程序都放入指令缓冲存储器中,对提高流水效率和吞吐率均有明显效果。
③流水的中断处理中断和转移一样,也会引起流水线断流。好在中断出现的概率要比条件转移出现的概率低得多,因此只要处理好断点现场保护及中断后的恢复,尽量缩短断流时间即可。
2.RISC中的流水技术
RISC中采用的流水技术有3种:超流水线、超标量以及超长指令字。
(1)超流水线技术超流水线(superpipelime)技术是RISC采用的一种并行处理技术。它通过细化流水、增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。它的实质是以时间换取空间。超流水机器的特征是在所有的功能单元都采用流水,并有更高的时钟频率和更深的流水深度。由于它只限于指令级的并行,所以超流水机器的CPI值稍高,CPI的含义是每个指令需要的机器周期数(clock cycles per instruction)。不过,它在时钟频率高方面的优点大于其在CPI方面的缺点。
(2)超标量技术超标量(superscalar)技术是RISC采用的又一种并行处理技术。它通过内装多条流水线来同时执行多个处理,其时钟频率虽然与一般流水接近,但它却有更小的CPI。它的实质是以空间换取时间。许多研究人员都曾建议过“多指令分发”(multiple instruction issue)技术,Agerwala和Cocke把这种方法作为RISC思想的扩充,并创造了Supersalar一词。超标量结构正变得越来越复杂。除了指令数目增加外,在执行程序时还要靠硬件来对指令的处理顺序进行动态控制。硬件的复杂性还将随着时钟频率的提高而增加。来源:www.examda.com
(3)超长指令字技术超长指令字(very long instruction word)简称为VILW技术,它由LIW发展而来。VLIW和超标量都是80年代出现的概念,其共同点都是要同时执行多条指令,其不同在于超标量依靠硬件来实现并行处理的调度,VILW则充分发挥软件的作用,而使硬件简化,性能提高。例如,超标量同时分发4条指令已经困难,但是VLIW同时分发8条指令的产品已经指日可待。因此,VLIW有更小的CPI值,但也要有足够高的时钟频率。为使每个功能单元都保持在忙状态,在直线代码序列(straightline code sequence)中必须使经过调度的指令有足够的工作。这是使用跟踪调度(trace scheduling)技术,通过解开循环(unˉrolling loops)和跨过基本块调度代码(scheduling code across basic blocks)来完成的。总之,利用VLIW可以提高指令处理的并行程度,减小CPI,简化控制硬件而可以设置更多的运算器和扩大Cache容量,同时还能提高与内存间数据传输的速率,以便采用更高的时钟频率,使得在超标量潜力已尽的情况下把微处理器的性能再提高2至5倍以上。
2017年全国计算机等级考试四级复习纲要:考试要点4.doc正在阅读:
2017年全国计算机等级考试四级复习纲要:考试要点408-08
教师党员家访工作个人总结04-30
5.1劳动节活动总结模板04-14
2018云南普洱市引进教师岗公告【4名】05-01
内蒙古2020年中级银行从业资格证书领取时间:11月23日至12月4日10-11
高一年级上册物理第二章知识点07-29
2022年陕西安康成人高考准考证打印时间及入口(考前一周)08-31
是你改变了我作文500字11-25
未至千般恨不消作文700字07-15
2019湖北护士资格证报名时间及报名入口【附报名条件】08-10
常识作文450字10-27