1 / 40
文档名称:

流水线结构.ppt

格式:ppt   大小:1,644KB   页数:40页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

流水线结构.ppt

上传人:石角利妹 2022/4/13 文件大小:1.61 MB

下载得到文件列表

流水线结构.ppt

相关文档

文档介绍

文档介绍:流水线结构
本讲稿第一页,共四十页
内容简介
计算机系统结构是指机器语言一级的程序员所看到的计算机属性。本章详细介绍流水线技术,包括先行控制技术、流水线原理、流水线性能分析、相关和相关的处理方法、超标量处理机和超流水线处理机等许多处理机中都已经采用了这种技术,包括超流水线处理机和超标量处理机等。
本讲稿第十一页,共四十页
8-1-2 流水线
流水处理技术是在重叠、先行控制方式的基础上发展起来的,它基于重叠的原理,但却是在更高程度上的重叠。
流水线方式是把一个重复的过程分解为若干个子过程,每个子过程可以与其他子过程同时进行。由于这种工作方式与工厂中生产流水线十分相似,因此,把它称为流水线工作方式。
本讲稿第十二页,共四十页
1.流水线工作原理
根据上面的重叠技术和先行控制技术,进一步发展应用就是标量流水技术。假如把一条指令的解释过程进一步细分成取指、译码、执行、访存、写回寄存器五个子过程,并用五个独立的功能部件分别处理每个子过程。那么就像工厂中的流水线,五个子部件可以同时对不同的五条指令中的相对应的子过程进行操作。
在流水技术中有如下一些特点:
(1)一条流水线由多个流水段组成。
(2)每个流水段有专门的功能部件对指令进行某种加工。
(3)各流水段所需时间是一样的。
(4)在理想情况下,在流水线上,每隔Δt时间将会有一个结果流出流水线。
本讲稿第十三页,共四十页
描述流水线常用的方法是用“时空图”。在时空图中,横坐标表示时间,也就是输入到流水线中的各个任务在流水线中所经过的时间。当流水线中的各个功能部件的执行时间都相等时、横坐标被分割成相等长度的时间段,纵坐标表示空间,即流水线的各个子过程。在时空图中,流水线的一个子过程通常称为“功能段”。前面的例子用时空图描述如图8-3所示。
本讲稿第十四页,共四十页
2.流水线的分类
从不同的角度,按照不同的观点.可以把流水线分成多种不同的种类。从名称上能反映这种流水线在某一方面的特点或性能。
(1)按流水线结构分类
如图8-4(a)所示,按照流水线的各个功能段之间是否有反馈信号,可以把流水线分为线性与非线性流水线两类。
线性流水线中,输入数据从流水线的一端进入,另一端输出,各功能段逐个串接起来。如图8-4(a)所示,这种方式下,数据在流水线中的各个功能段仅仅流过一次。所以通常一条线性流水线只能完成—种固定的功能。
非线性流水线中,除有串行连接通路外,还有反馈回路,在流水过程中,某些功能段要重复使用。如图8-4(b)所示,功能段S2的输出又被反馈回送给S2的输入端。因为,功能段S2可能要被多次调用,所以这时流水线中数据由输入端到输出端不再是经过原来的三个时钟周期,还要加上反馈回路多次调用的执行周期。
本讲稿第十五页,共四十页
非线性流水线中,除有串行连接通路外,还有反馈回路,在流水过程中,某些功能段要重复使用。如图8-4(b)所示,功能段S2的输出又被反馈回送给S2的输入端。因为,功能段S2可能要被多次调用,所以这时流水线中数据由输入端到输出端不再是经过原来的三个时钟周期,还要加上反馈回路多次调用的执行周期。
图8-4 线性与非线性流水线
本讲稿第十六页,共四十页
在非线性流水线中,只用图8-4(b)这样一种连接图不能表示出一个任务在非线性流水线中的实际流动的过程,还要用一张“预约表”,两者共同来表示流水线的工作情况。在预约表中可以很清楚地表示出反馈回路的使用次数。如图8-5所示,它表示图8-4(b)中S2在反馈回路仅重复使用—次的预约表,图中用“×”表示功能段在相应的这一段时间内有效,即任务经过了这一个功能段。—条非线性流水线可以对应有很多张预约表,一张预约表表示非线性流水线的一种工作方式。
图8-5 非线性流水线预约表
本讲稿第十七页,共四十页
3.流水线的性能
衡量流水线性能的主要指标有吞吐率、加速比和效率。
(1)流水线吞吐率
最大吞吐率指流水线达到稳定状态后,单位时间内处理的任务总数。实际吞吐率是指单位时间内能处理的任务数或输出结果的数量,它总是小于最大吞吐率。因为流水线有“装入时间”和“排空时间”,以及其他因素也会影响流水线的连续流动。
(2)加速比:不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比,即采用流水方式后的工作速度与顺序串行方式的工作速度之比。
(3)流水线效率:指流水线中各功能部件的利用率。
本讲稿第十八页,共四十页
4.数据相关与控制相关
由于流水线中同时要处理多条指令,所以各种各样的冲突几率就会很大,比如在执行一条指令的过程中,如果用到的指令、操作数、变址偏移量等正好是前面指令的执行结果,则必须等待前面的指令执行完成,并把结果写到主存