线性流水线与非线性流水线_第1页
线性流水线与非线性流水线_第2页
线性流水线与非线性流水线_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、线性流水线与非线性流水线按照流水线的各个流水段之间是否有反馈信号,可以把流水线分为线性流水线和非线性流水线两类。线性流水线(linear pipelining)是将流水线的各段逐个串接起来。输入数据从流水线的一端进入,从另一端输出。数据在流水线中的各个流水段流过时,每一个流水段都流过一次,而且仅仅流过一次。一条线性流水线通常只完成一种固定的功能。在现代计算机系统中,线性流水线已经被非常广泛地应用于指令执行过程、各种算术运算操作、存储器访问操作等。在上一节中介绍的流水线中,如图5.13所示的指令流水线,图5.14所示的浮点加法器流水线等都属于线性流水线。非线性流水线(nonlinear pipe

2、lining)在流水线的各个流水段之间除了有串行的连接之外,还可以有前馈和反馈连接。图5.17是一种简单的非线性流水线。流水线的流水段s2的输出可能直接传送给流水段s3,也可能反馈到本流水段的输入。图5.17 一种简单的非线性流水线在图5.17中,虽然总共只有三个流水段,但是,输入任务经过流水线到达输出,往往不只是经过三个时钟周期;其中,流水段s2可能要被多次调用,这也是非线性流水线与线性流水线的一个主要区别。因此,在非线性流水线中,只用图5.17这样一种连接图并不能表示出一个任务在流水线中实际流动的过程。表示非线性流水线的工作情况除了需要流水线的连接图之外,通常还需要一张“预约表”,用两者共

3、同来表示流水线的工作情况。在预约表中可以很清楚地表示出反馈回路的使用次数。例如,图5.18表示图5.17中反馈回路仅使用一次的预约表,图中用“”表示这一个流水段在相应的这一段时间内有效,即任务经过了这一个流水段。图5.18 非线性流水线的预约表一条非线性流水线可以对应有很多张预约表,同样,一张预约表实际上仅表示了一条非线性流水线的一种工作方式。线性流水线实际上也有预约表,只不过它的预约表是确定的。首先,预约表的水平方向与垂直方向的格数一定是相等,即组成一个正方形。其次,预约表中从左上角到右下角所有格子是全部有效的,即是打“”的;而预约表的其余部分一定都是空白的。因此,在描述线性流水线时,一般不

4、给出预约表。单功能与多功能流水线一条流水线只能完成一种固定的功能,这种流水线称为单功能流水线(unifunction pipelining)。例如,浮点加法器流水线专门完成浮点加法运算,浮点乘法器流水线专门完成浮点乘法运算。当要实现多种不同功能时,可以采用多条单功能流水线。如cray-1计算机种有12条单功能流水线,我国研制的yh-1计算机有18条单功能流水线。pentium处理机有一条5段的整数运算流水线和一条8段的浮点运算流水线。采用超流水线体系结构的alpha 21064处理机有三条流水线,其中,整数操作和访问存储器操作为7段流水线,浮点运算操作为10段流水线。多功能流水线(multif

5、unction pipelining)是指流水线的各段可以进行不同的连接。在不同时间内,或在同一时间内,通过不同的连接方式实现不同的功能。多功能流水线的典型代表是texas仪器公司的高级科学计算机asc中采用的8段流水线。在一台asc处理机内有4条相同的流水线,每条流水线通过不同的连接方式可以完成整数加减法运算、整数乘法运算、浮点加法运算、浮点乘法运算,还可以实现逻辑运算、移位操作和数据转换功能等。它除了支持标量运算之外,还支持向量运算,如两个向量的浮点点积运算等。在处理机中采用多功能流水线的优点是流水线中各个功能部件的利用率比较高。由于在实际的标量运算程序中,各种运算操作一般是混合在一起的,

6、这一点与向量运算操作有很大的不同,因此,在标量计算机的指令执行部件中采用多功能流水线是一种比较合理的选择。与采用多功能流水线不同的另一种方案是设置多条专门的单功能流水线,在许多向量流水线处理机中就是这样做的。静态流水线与动态流水线在多功能流水线中,按照在同一时间内是否能够连接成多种方式,同时执行多种功能,可以把多功能流水线分为静态流水线和动态流水线两种。所谓静态流水线(static pipelining)是指在同一段时间内,多功能流水线中的各个流水段只能按照一种固定的方式连接,实现一种固定的功能。只有当按照这种连接方式工作的所有任务都流出流水线之后,多功能流水线才能重新进行连接,以实现其它功能

7、。动态流水线(dynamic pipelining)是指在同一段时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。当然,同时实现多种连接发生是有条件的,即流水线中的各个功能部件之间不能发生冲突。在静态流水线中,只有程序中连续出现同一种运算时,流水线的效率才能得到充分的发挥。如果输入到流水线中的是一串不同运算相互间隔的操作,则这条静态流水线的效率就与顺序执行方式完全一样。而动态流水线则不同,它允许两种运算在同一条流水线中同时执行。因此,在一般情况下,动态流水线的效率和功能部件的利用率要比静态流水线高,但是,动态流水线的控制比静态流水线要复杂得多。目前,在大多数处理机中均采用静态流水线。除了以上几种流水线的分类方法之外,还可以从其它多种不同角度来划分流水线。例如,按照不同的数据表示方式,可以把流水线分为标量流水线和向量流水线两种。标量流水线一般用于标量处理机中,而向量流

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论