智能流水线如何分类
作者:2017/7/10 1:37:45

一、线性流水线与非线性流水线

    按照流水线的各个流水段之间是否有反馈信号,可以把智能流水线分为线性流水线和非线性流水线两类。

    线性流水线(Linear Pipelining)是将流水线的各段逐个串接起来。输入数据从流水线的一端进入,从另一端输出。数据在流水线中的各个流水段流过时,每一个流水段都流过一次,而且仅仅流过一次。

    一条线性流水线通常只完成一种固定的功能。在现代计算机系统中,线性流水线已经被非常广泛地应用于指令执行过程、各种算术运算操作、存储器访问操作等。

非线性流水线(Nonlinear Pipelining)在流水线的各个流水段之间除了有串行的连接之外,还可以有前馈和反馈连接。

 

二、单功能与多功能智能流水线

    一条流水线只能完成一种固定的功能,这种流水线称为单功能流水线(Unifunction Pipelining)。例如,浮点加法器流水线专门完成浮点加法运算,浮点乘法器流水线专门完成浮点乘法运算。当要实现多种不同功能时,可以采用多条单功能流水线。

如Cray-1计算机种有12条单功能流水线,我国研制的YH-1计算机有18条单功能流水线。Pentium处理机有一条5段的整数运算流水线和一条8段的浮点运算流水线。采用超流水线体系结构的Alpha 21064处理机有三条流水线,其中,整数操作和访问存储器操作为7段流水线,浮点运算操作为10段流水线。

    多功能流水线(Multifunction Pipelining)是指流水线的各段可以进行不同的连接。在不同时间内,或在同一时间内,通过不同的连接方式实现不同的功能。

    多功能流水线的典型代表是Texas仪器公司的***科学计算机ASC中采用的8段流水线。在一台ASC处理机内有4条相同的流水线,每条流水线通过不同的连接方式可以完成整数加减法运算、整数乘法运算、浮点加法运算、浮点乘法运算,还可以实现逻辑运算、移位操作和数据转换功能等。它除了支持标量运算之外,还支持向量运算,如两个向量的浮点点积运算等。

    在处理机中采用多功能流水线的优点是流水线中各个功能部件的利用率比较高。由于在实际的标量运算程序中,各种运算操作一般是混合在一起的,这一点与向量运算操作有很大的不同,因此,在标量计算机的指令执行部件中采用多功能流水线是一种比较合理的选择。与采用多功能流水线不同的另一种方案是设置多条专门的单功能流水线,在许多向量流水线处理机中就是这样做的。

 

三、静态流水线与动态流水线

    在多功能智能流水线中,按照在同一时间内是否能够连接成多种方式,同时执行多种功能,可以把多功能流水线分为静态流水线和动态流水线两种。

所谓静态流水线(Static Pipelining)是指在同一段时间内,多功能流水线中的各个流水段只能按照一种固定的方式连接,实现一种固定的功能。只有当按照这种连接方式工作的所有任务都流出流水线之后,多功能流水线才能重新进行连接,以实现其它功能。

动态流水线(Dynamic Pipelining)是指在同一段时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。当然,同时实现多种连接发生是有条件的,即流水线中的各个功能部件之间不能发生冲突。

    在静态流水线中,只有程序中连续出现同一种运算时,流水线的效率才能得到充分的发挥。如果输入到流水线中的是一串不同运算相互间隔的操作,则这条静态流水线的效率就与顺序执行方式完全一样。而动态流水线则不同,它允许两种运算在同一条流水线中同时执行。因此,在一般情况下,动态流水线的效率和功能部件的利用率要比静态流水线高,但是,动态流水线的控制比静态流水线要复杂得多。目前,在大多数处理机中均采用静态流水线。

    除了以上几种流水线的分类方法之外,还可以从其它多种不同角度来划分智能流水线。例如,按照不同的数据表示方式,可以把流水线分为标量流水线和向量流水线两种。标量流水线一般用于标量处理机中,而向量流水线主要用于向量计算机中。在本章中介绍的都是标量流水线。

    按照流水线输出端流出的任务与流水线输入端流入的任务的顺序是否相同,可以把流水线分为顺序流水线与乱序流水线两种。乱序流水线在有的资料上又称为无序流水线、错序流水线或异步流水线等。

商户名称:东莞市坚成电子科技有限公司

版权所有©2024 产品网