Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
§2 流水方式 PowerPoint Presentation
Download Presentation
§2 流水方式

§2 流水方式

195 Views Download Presentation
Download Presentation

§2 流水方式

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. §2 流水方式 基本概念 流水线处理机的主要性能 流水机器的相关处理和控制机构

  2. 空间并行性 设置多个独立的操作部件 多操作部件处理机 超标量处理机 时间并行性 采用流水线技术。 不增加或只增加少量硬件就能使运算速度提高几倍 流水线处理机 超流水线处理机

  3. 基本概念 流水是重叠的延伸. 一次重叠:只是把一条指令的解释分解为两个子过程; 流水:分解为更多的子过程。 时空图表示。

  4. 流水线的表示方法 连接图 时空图 预约表

  5. 指 令 指令 译码 取操 作数 执 行 入 出 空间 执行 1 2 3 4 5 1 2 3 4 5 取操作数 1 2 3 4 5 指令译码 1 2 3 4 5 取指令 t2 t3 t4 t5 t6 t7 t8 t1 时间 流水线的时-空图

  6. 说明 流水线的每一个阶段称为流水步、流水步骤、流水段、流水线阶段、流水功能段、功能段、流水级、流水节拍等。 在每一个流水段的末尾或开头必须设置一个寄存器,称为流水寄存器、流水锁存器、流水闸门寄存器等。会增加指令的执行时间。 为了简化,在一般流水线中不画出流水锁存器

  7. 说明 流水线经过装入、充满、排空三个阶段 流水的最大吞吐率:当流水线正常符合流动时的吞吐率。每隔Δt流出一个结果。 流水的最大吞吐率取决于子过程所经过的时间Δt

  8. 一个浮点加法器流水线的时空图 由求阶差、对阶、尾数加和规格化4个流水段组成 空间 NL1 NL2 NL3 NL4 NL5 MA1 MA2 MA3 MA4 MA5 EA1 EA2 EA3 EA4 EA5 ED1 ED2 ED3 ED4 ED5 时间 t1 t2 t3 t4 t5 t6 t7 t8 0 NL:规格化 MA:尾数加 ED:求阶差 EA:对阶

  9. 流水线的特点 只有连续提供同类任务才能充分发挥流水线的效率 对于指令流水线:要尽量减少因条件分支造成的“断流” 对于操作部件:主要通过编译技术,尽量提供连续的同类操作 在流水线的每一个流水线段中都要设置一个流水锁存器 时间开销:流水线的执行时间加长 是流水线中需要增加的主要硬件之一 各流水段的时间应尽量相等 流水线处理机的基本时钟周期等于时间最长的流水段的时间长度 流水线需要有装入时间、充满时间和排空时间 在理想情况下,当流水线充满后,每隔Δt时间将会有一个结果流出流水线。

  10. 流水线的分类 从不同角度,有不同的分类 依据向下扩展和向上扩展思路,可分类出在计算机系统不同等级上使用的流水线 向下扩展:子过程细分 向上扩展:多个处理机之间进行流水

  11. 流水线的分类(续) 按流水处理的级别 部件级(操作流水线),如浮点加法器流水线 输入 输出 求阶差 对阶 尾数加 规格化 Dt1 Dt2 Dt3 Dt4

  12. 流水线的分类(续) 处理机级,指令流水线 (Instruction Pipelining) 例如:在采用先行控制器的处理机中,各功能部件之间的流水线 输入 先行指令缓冲栈 先行指令分析器 先行读数栈先行操作栈 取指 译码 取操作数 输出 指令执 行部件 后行 写数栈 先行控制方式中的指令流水线 执行 写结果

  13. 流水线的分类(续) 系统级:宏流水线 (Macro Pipelining)每个处理机对同一个数据流的不同部分分别进行处理 数据集 处理机1 处理机2 处理机n 处理机间的流水处理

  14. 流水线的分类(续) 按功能多少 单功能:只能完成一种固定功能的流水线 Cray-1计算机中有12条; YH-1计算机有18条; Pentium有一条5段的定点和一条8段的浮点流水线; PentiumⅢ有三条指令流水线,其中两条定点指令流水线,一条浮点指令流水线。 多功能:流水线的各段通过不同连接实现不同功能 Texas公司的ASC计算机中的8段流水线,能够实现:定点加减法、定点乘法、浮点加法、浮点乘法、逻辑运算、移位操作、数据转换、向量运算等。

  15. 流水线的分类(续) 按多功能的连接方式 静态:同一段时间内,多功能流水线中的各个功能段只能按照一种固定的方式连接,实现一种固定的功能。 只有连续出现同一种运算时,流水线的效率才能得到充分的发挥。 动态:在同一段时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。

  16. 空间 浮点加法 定点乘法 1 2 3 … n 1 … 输出 1 2 … 累加 1 2 3 … 尾数乘 1 2 3 … n 规格化 1 2 3 … n 尾数加 1 2 3 … n 对阶 1 2 3 … n 求阶差 1 2 3 … n 1 2 3 4 … 输入 时间 0 静态流水线时空图

  17. 空间 浮点加法 定点乘法 1 2 3 … … n 1 2 3 … 输出 1 2 3 4 … 累加 1 2 3 4 5 … 尾数乘 1 2 3 … … n 规格化 1 2 3 … … n 尾数加 1 2 3 … … n 对阶 1 2 3 … … n 求阶差 1 2 3 … … n 1 2 3 4 5 6 … 输入 时间 0 动态流水线时空图

  18. 流水线的分类(续) 按数据表示 标量流水:没有向量数据,只能用标量循环方式来对向量、数组进行处理。 Amdahl 470V/6 IBM 360/91 向量流水:设置有向量指令和向量运算硬件,能对向量、数组中的各个元素流水地处理。 CRAY-1

  19. 流水线的分类(续) 按是否有反馈回路 线性(Linear Pipelining):每个流水段都流过一次,且仅流过一次 非线性(Nonlinear Pipelining):在流水线的某些流水段之间有反馈回路或前馈回路 入 1 2 3 4 出 非线性流水线

  20. 流水线的分类(续) 按照控制方式: 同步流水线 异步流水线 顺序流水线与乱序流水线:乱序流水线又称为无序流水线、错序流水线或异步流水线等

  21. 流水线处理机的主要性能 通过时空图分析 吞吐率(TP, Thoughput Rate) 加速比(Speed Ratio) 效率(Efficiency)

  22. 吞吐率(TP, Thoughput Rate) 是流水线单位时间里能流出的任务数或结果数。

  23. 空间 1 2 3 … … n-1 n S4 1 2 3 … … n-1 n S3 1 2 3 … … n-1 n S2 时间 1 2 3 … … n-1 n S1 mDt (n-1) Dt nDt (m-1)Dt T

  24. 入 输 出 S1 S2 S3 S4 Dt1=Dt Dt2=3Dt Dt3=Dt Dt4=Dt 空间 1 2 3 … n S4 1 2 3 … n S3 1 2 3 … n S2 时间 1 2 3 … n S1 SDti (n-1)Dt2 Tk

  25. 吞吐率(续) 解决瓶颈子过程的办法 细分 S2(3Dt) 输入 输出 S1 S2-1 S2-2 S2-3 S3 S4 Dt Dt Dt Dt Dt Dt

  26. 细分 S s4 1 2 3 4 5 6 7 8 9 10 11 12 s3c 1 2 3 4 5 6 7 8 9 10 11 12 s3b 1 2 3 4 5 6 7 8 9 10 11 12 s3a 1 2 3 4 5 6 7 8 9 10 11 12 s2 1 2 3 4 5 6 7 8 9 10 11 12 s1 1 2 3 4 5 6 7 8 9 10 11 12 t1 t12 t17 T

  27. 吞吐率(续) 瓶颈段并联 S2-1 输入 输出 S1 S2-1 S3 S4 Dt1=Dt Dt3=Dt Dt4=Dt S2-1 Dt2=3Dt

  28. 空间 1 2 3 4 5 6 … -2 -1 n S4 1 2 3 4 5 6 … -2 -1 n S3 3 6 … n S2-3 2 5 … n-1 S2-2 1 4 … n-2 S2-1 1 2 3 4 5 6 … -2 -1 n S1 时间 并联

  29. 吞吐率(续) 说明:

  30. 加速比(Speed Ratio) 指流水线的速度与等效的非流水线的速度之比。

  31. 加速比(续)

  32. 加速比(续) 加速比 10 m=10 8 6 m=6 4 2 任务个数 1 1 2 4 8 16 32 64 128

  33. 效率(Efficiency)Eta 是指流水线中的设备实际使用时间占整个运行时间之比,也称流水线设备的时间利用率。

  34. 效率(续)

  35. 效率

  36. 举例1: 用一条4段浮点加法器流水线求8个浮点数的和:Z=A+B+C+D+E+F+G+H 解:Z = [(A+B) + (C+D)] + [(E+F) + (G+H)] 空间 规格化 1 2 3 4 5 6 7 尾数加 1 2 3 4 5 6 7 1 2 3 4 5 6 7 对阶 时间 1 2 3 4 5 6 7 求阶差 加数 A C E G A+B E+F A+B+C+D B D F H C+D G+H E+F+G+H Z A+B E+F A+B+C+D 结果 C+D G+H E+F+G+H

  37. 7个浮点加法共用了15个时钟周期。 流水线的吞吐率为: 流水线的加速比为: 流水线的效率为

  38. 举例2:(静态多功能流水线) 设有两个向量A和B,各有4个元素,要在如图所示的静态双功能流水线上,计算向量点积AB,其中1-〉2-〉3-〉5组成加法流水线,1-〉4-〉5组成乘法流水线,又设每个流水线所经过的时间均为Dt,而且流水线的输出结果可以直接返回到输入或存于相应的缓冲寄存器中,其延迟时间和功能切换所需的时间都可以忽略不计。 x z 1 2 3 5 y 4

  39. 空间 时间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 静态多功能流水线 A*B=a1b1+ a2b2+ a3b3+ a4b4

  40. 实际吞吐率TP=7/15 Dt 加速比Sp=24Dt/(15Dt)=1.6 效率η=(3*4Dt+4*3Dt)/(5*15Dt) =0.32=32%

  41. 空间 时间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 动态多功能流水线 A*B=a1b1+ a2b2+ a3b3+ a4b4

  42. 实际吞吐率TP=7/14 Dt 加速比Sp=24Dt/(14Dt)=1.714 效率η=(3*4Dt+4*3Dt)/(5*14Dt) =0.343=34.3%

  43. 举例3:书中P190 第6题 有一个双输入端的加-乘双功能静态流水线,由经过时间分别为Dt、2Dt、2Dt、Dt的1、2、3、4四个子过程构成,加法时按1-〉2-〉4连接,乘法时按1-〉3-〉4连接。流水线输出设有缓冲器,也可将数据直接回授到流水线输入端。现要执行 A*(B+C*(D+E*F))+G*H 的运算,请对运算顺序进行交换,画出能获得尽可能高的吞吐率的流水时空图;标出流水线入、出端的操作数变化情况;求出完成全部运算所需时间及此期间整个流水线的效率。如对流水线瓶颈子过程细分,最少需多少时间完成全部运算?若子过程3已无法再细分,只能采用并联方法改进,问流水线的效率为多少?

  44. 空间 时间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 A*B+A*C*D+A*C*E*F+G*H 效率η=(6*4Dt+3*4Dt)/(4*24Dt) =3/8

  45. 空间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 时间 效率η=(6*4Dt+3*4Dt)/(6*18Dt) =1/3

  46. 空间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 效率η=(6*4Dt+3*4Dt)/(6*18Dt) =1/3

  47. 流水线最佳段数的选择 假设在非流水线的机器上采用顺序执行方式完成一个任务所需要的时间为t,那么在同等速度的有k段流水线的机器上执行一个任务需要的时间为:t/k+d,其中d为锁存器的延迟时间。 流水线的最大吞吐率: 流水线的总价格: a为所有功能段本身的总价格,b为每个锁存器的价格。

  48. 流水线最佳段数的选择 流水线的性能价格比 对k求导,求极值: 一般处理机的流水线段数在2-10之间。

  49. 流水机器的相关处理和控制机构 流水线只有连续不断地流动,不出现断流,才能获得高效率。如果处理不当,就会使流水效率显著下降。 全局相关:转移相关 局部相关