《流水线的基本概念》由会员分享,可在线阅读,更多相关《流水线的基本概念(24页珍藏版)》请在金锄头文库上搜索。
1、1243.1流水线的基本概念 基本概念 1. 产品生产流水线下面通过一个例子来说明流水线的好处下面通过一个例子来说明流水线的好处: : 两种方案两种方案 两种方案的工作过程对比两种方案的工作过程对比第三章 流水线技术224324 流水线生产过程的抽象描述流水线生产过程的抽象描述 这种流水工作方式的主要特点这种流水工作方式的主要特点4242. 指令流水线指令流水线把指令的解释过程分解为把指令的解释过程分解为“分析分析”和和“执行执行”两个子过程,并让这两个子过程分别用独立的分两个子过程,并让这两个子过程分别用独立的分析部件和执行部件来实现。析部件和执行部件来实现。理想情况:理想情况:速度提高一倍
2、速度提高一倍3.1 流水线的基本概念5246243. 浮点加法流水线浮点加法流水线把浮点加法的全过程分解为把浮点加法的全过程分解为“求阶差求阶差”、“对对阶阶”、“尾数相加尾数相加”、“规格化规格化”四个子过程,四个子过程,并让并让它们分别用各自独立的部件来实现。它们分别用各自独立的部件来实现。理想情况:理想情况:速度提高速度提高3 3倍倍3.1 流水线的基本概念7243.1 流水线的基本概念8244. 时空图时空图时空图时空图从时间和空间两个方面描述了流水从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,线的工作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。纵
3、坐标代表流水线的各个段。3.1 流水线的基本概念92410245. 流水技术流水技术流水技术是指:将一个重复的时序过程分解是指:将一个重复的时序过程分解成为若干个子过程,而每个子过程都可有效地在成为若干个子过程,而每个子过程都可有效地在其专用功能段上与其他子过程同时执行。其专用功能段上与其他子过程同时执行。6流水技术的特点(1) (1) 流水过程由多个相联系的子过程组成,每个流水过程由多个相联系的子过程组成,每个子过程称为流水线的子过程称为流水线的“级级”或或“段段”。“段段”的数的数目称为流水线的目称为流水线的“深度深度”。(2) (2) 每个子过程由专用的功能段实现;每个子过程由专用的功能
4、段实现;3.1 流水线的基本概念1124(4) (4) 流水线需要有流水线需要有“通过时间通过时间”(第一个任务流出结果(第一个任务流出结果所所需的时间),在此之后流水过程才进入稳定工作状需的时间),在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结果;态,每一个时钟周期(拍)流出一个结果;(3) (3) 各个功能段所需时间应尽量相等,否则,时间长各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,会造成流水线的的功能段将成为流水线的瓶颈,会造成流水线的 “堵塞堵塞”和和“断流断流”。这个时间一般为一个时钟。这个时间一般为一个时钟周期周期(拍);(拍);(5)
5、 (5) 流水技术适合于大量重复的时序过程,只有输入流水技术适合于大量重复的时序过程,只有输入端能连续地提供任务,流水线的效率才能充分发端能连续地提供任务,流水线的效率才能充分发挥。挥。3.1 流水线的基本概念13243.1.2 流水线的分类流水线可以按不同的观点进行分类。流水线可以按不同的观点进行分类。 单功能流水线:单功能流水线:只能完成一种固定功能的只能完成一种固定功能的 流水线。流水线。 多功能流水线:多功能流水线:流水线的各段可以进行不同的流水线的各段可以进行不同的 连接,从而实现不同的功能。连接,从而实现不同的功能。 例如:例如: TI ASCTI ASC的多功能流水线的多功能流水
6、线1按功能的多少来分3.1 流水线的基本概念1524在静态流水线中,只有当输入是一串相同在静态流水线中,只有当输入是一串相同的运算操作时,流水的效率才能得到发挥。的运算操作时,流水的效率才能得到发挥。动画演示动画演示2按同一时间内各段之间的连接方式来分 静态流水线:静态流水线:在同一时刻,流水线的各段只能在同一时刻,流水线的各段只能 按同一种功能的连接方式工作。按同一种功能的连接方式工作。 3.1 流水线的基本概念1624 动态流水线:动态流水线:在同一时刻,流水线的各段可以在同一时刻,流水线的各段可以 按不同功能的连接方式工作。按不同功能的连接方式工作。 动画演示动画演示 这样就不是非得相同
7、运算的一串操作才能这样就不是非得相同运算的一串操作才能 流水处理。流水处理。 优点:优点:能提高流水线的效率能提高流水线的效率 缺点:缺点:会使流水线的控制变得复杂会使流水线的控制变得复杂3.1 流水线的基本概念 静、动态流水线时空图的对比静、动态流水线时空图的对比18243按照流水线的级别来分 部件级流水线部件级流水线(运算操作流水线):把处理机的(运算操作流水线):把处理机的 算术逻辑部件分段,使得各种数据类型的操作能算术逻辑部件分段,使得各种数据类型的操作能 够进行流水。够进行流水。 处理机级流水线处理机级流水线(指令流水线):把指令的解释(指令流水线):把指令的解释 执行过程按照流水方
8、式进行处理。执行过程按照流水方式进行处理。 例如:例如:前面把指令解释过程分解为:前面把指令解释过程分解为: 分析分析和和执行执行 DLXDLX的基本流水线把指令解释过程分解为:的基本流水线把指令解释过程分解为: 取指令、指令译码、执行、访存、写回。取指令、指令译码、执行、访存、写回。 ( (图示图示) )3.1 流水线的基本概念19243.1 流水线的基本概念2024 处理机间流水线处理机间流水线(宏流水线):它是指由两个(宏流水线):它是指由两个 以上的处理机串行地对同一数据流进行处理,以上的处理机串行地对同一数据流进行处理, 每个处理机完成一项任务。每个处理机完成一项任务。 动画解析动画
9、解析3.1 流水线的基本概念21244按照数据表示来分 向量处理机:向量处理机:具有向量指令和向量数据表示的具有向量指令和向量数据表示的 处理机。处理机。 例如:例如:TI ASC, CRAY-I TI ASC, CRAY-I 等等 标量处理机:标量处理机:不具有向量指令和向量数据表示,不具有向量指令和向量数据表示, 仅对标量进行流水处理的处理机。仅对标量进行流水处理的处理机。 例如:例如:IBM360/91, Amdahl 470V/6IBM360/91, Amdahl 470V/6 等等5. 5. 按照是否有反馈回路来分按照是否有反馈回路来分 线性流水线:线性流水线:流水线中的各段串行连接
10、,没流水线中的各段串行连接,没 有反馈回路。有反馈回路。 非线性流水线:非线性流水线:流水线中的各段除有串行连接流水线中的各段除有串行连接 外,还有反馈回路。外,还有反馈回路。 ( (举例举例) )3.1 流水线的基本概念22243.1 流水线的基本概念 流水线的调度问题流水线的调度问题2424顺序流动流水线:顺序流动流水线:流水线输出端任务流出的顺流水线输出端任务流出的顺 序与输入端任务流入的顺序序与输入端任务流入的顺序相同相同。 异步流动流水线异步流动流水线(乱序流水线):流水线输出(乱序流水线):流水线输出 端任务流出的顺序与输入端任务流入的顺序端任务流出的顺序与输入端任务流入的顺序 不同不同。6. 按照流动是否可以乱序来分3.1 流水线的基本概念