文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>2.6.3 浮点运算流水线

2.6.3 浮点运算流水线

时间:2010-09-22  来源:yuxinlen

2.6.3 浮点运算流水线
  
1.流水线原理

计算机的流水处理过程同工厂中的流水装配线类似。为了实现流水,首先必须把输入的任务分割为一系列的子任务,使各子任务能在流水线的各个阶段并发地执 行。将任务连续不断地输入流水线,从而实现了子任务的并行。因此流水处理大幅度地改善了计算机的系统性能,是在计算机上实现时间并行性的一种非常经济的方 法。

在流水线中,原则上要求各个阶段的处理时间都相同。若某一阶段的处理时间较长,势必造成其他阶段的空转等待。因此对子任务的划分,是决定流水线性能的一个关键因素,它取决于操作部分的效率、所期望的处理速度,以及成本价格等等。

假定作业 T 被分成 k 个子任务,可表达为

T={T1,T2,···,Tk}

各个子任务之间有一定的优先关系:若i<j,则必须在Ti 完成以后,Tj才能开始工作。具有这种线性优先关系的流水线称为线性流水线。线性流水线处理的硬件基本结构如下图所示。

图中,处理一个子任务的过程为过程段(Si)。线性流水线由一系列串联的过程段组成,各个过程之间设有高速的缓冲寄存器(L),以暂时保存上一过程子任务处理的结果。在一个统一的时钟(C)控制下,数据从一个过程段流向相邻的过程段。

设过程段 Si所需的时间为τi,缓冲寄存器的延时为τl,线性流水线的时钟周期定义为

τ=max{τi}+τl=τm+τl  (2.44)

故流水线处理的频率为 f=1/τ。

在流水线处理中,当任务饱满时,任务源源不断的输入流水线,不论有多少级过程段,每隔一个时钟周期都能输出一个任务。从理论上说,一个具有k 级过程段的流水线处理n 个任务需要的时钟周期数为

Tk=k+(n-1)  (2.45)

其中k个时钟周期用于处理第一个任务。k个周期后,流水线被装满,剩余的n-1个任务只需n-1个周期就完成了。如果用非流水线的硬件来处理这n个任务,时间上只能串行进行,则所需时钟周期数为

TL=n·k    (2.46)

我们将TL和Tk的比值定义为k级线性流水线的加速比:

  (2.47)

当 n>>k 时, Ck->k 。这就是说,理论上k级线性流水线处理几乎可以提高k倍速度。但实际上由于存储器冲突、数据相关,这个理想的加速比不一定能达到。

2.流水线浮点加法器
  
从图2.16可以看出,浮点数加减法由0操作数检查、对阶操作、尾数操作、结果规格化及舍入处理共4步完成,因此流水线浮点加法器可由4个过程段组成。图2.18仅示出了除0操作数检查之外的3段流水线浮点加法器框图。

  假设有两个规格化的浮点数

X=1.1000×22    Y=1.1100×24

当此二数相加时,因X具有较小的阶码,首先应使它向Y对阶,从而得到X=0.0110×24,然后尾数再相加,即

  其结果要进行规格化,将尾数向右移1位,阶码加1。即规格化的结果为1.0001×25。

在图2.18所示的流水线浮点加法器框图中,标出了上述例子在每一个过程段和锁存器L中保存的流水运算结果值。

[例29]上述演示中 ,(1)假设每个过程段所需的时间为:求阶差τ1=70ns,对阶τ2=60ns,相加τ3=90ns,规格化 τ4=80ns,缓冲寄存器L的延时为tl=10ns,求4级流水线加法器的加速比为多少?(2)如果每个过程段的时间相同,即都为75ns,(包括缓冲寄存器时间),加速比是多少?

[解:]

(1)加法器的流水线时钟周期至少为

τ=90ns+10ns=100ns
  
如果采用同样的逻辑电路,但不是流水线方式,则浮点加法所需的时间为

τ1+τ2+τ3+τ4 =300ns
  
因此,4级流水线加法器的加速比为

Ck=300/100=3
  
(2) 当每个过程段的时间都是75ns时,加速比为

Ck=300/75=4

[例30] 已知计算一维向量x,y的求和表达式如下:

  试用4段的浮点加法流水线来实现一维向量的求和运算,这4段流水线是阶码比较、对阶操作、尾数相加、规格化。只要求画出向量加法计算流水时空图。

[解:]

运算流水线对向量计算显示出很大的优越性,即流水线被填“满”时具有较高的加速比和吞吐率。我们用字母 C,S,A,N 分别表示流水线的阶码比较、对阶操作、尾数相加、规格化四个段,那么向量加法计算的流水时空图如下所示。图中左面表示Xi,Yi两个元素输入流水线的时间,右面表示求和结果Zi输出流水线的时间。流水线填满后,每隔一个时钟周期,流水线便吐出一个运算结果。

相关阅读 更多 +
排行榜 更多 +
猎枪行动

猎枪行动

飞行射击 下载
导弹袭击

导弹袭击

飞行射击 下载
猫猫突围封锁要塞新手打法

猫猫突围封锁要塞新手打法

飞行射击 下载