流水线技术讲解

上传人:我** 文档编号:116012917 上传时间:2019-11-15 格式:PPT 页数:128 大小:579KB
返回 下载 相关 举报
流水线技术讲解_第1页
第1页 / 共128页
流水线技术讲解_第2页
第2页 / 共128页
流水线技术讲解_第3页
第3页 / 共128页
流水线技术讲解_第4页
第4页 / 共128页
流水线技术讲解_第5页
第5页 / 共128页
点击查看更多>>
资源描述

《流水线技术讲解》由会员分享,可在线阅读,更多相关《流水线技术讲解(128页珍藏版)》请在金锄头文库上搜索。

1、第二章 流 水 线 技 术 流水线是计算机体系结构设计中普遍应用的技术。本章介绍流 水线的基本概念、表示方法、和分类,讨论流水线实现的基本结构 、线性流水线的性能与非线性流水线的调度策略,分析流水线的相 关及其处理方法。 第一节 流水线的基本概念 第二节 处理机实现流水线的基本结构 第三节 线性流水线的性能及其分析 第四节 流水线的相关及其处理 第五节 非线性流水线的调度 一、多条指令的执行方式 二、什么是流水线 三、流水线的表示方法 四、流水线的分类 五、流水线的特点 第一节 流水线的基本概念 一、多条指令的执行方式 一条指令的执行过程可以分为多个阶段,通常分为取指令、分 析指令、执行指令三

2、个阶段。现假设三个阶段所需要的时间均为t 。 (1)顺序方式。顺序执行方式是指在任何时刻,处理机中只有 一条指令在执行。执行n 条指令所需要的时间为T=3nt。 控制简单,节省设备。执行指令速度慢,功能部件的利用率低 。 (2)一次重叠方式。一次重叠执行方式是指在任何时刻,处理 机中至多只有二条指令在同时执 行。执行n条指令所需要的时间为 T=(2n+1)t。 时间缩 短了近一半,功能部件利用率高。需要增加一些硬件, 控制过程也复杂一些。 (3)二次重叠方式。二次重叠执行方式是指在任何时刻,处理 机中至多可以有三条指令在同时执 行。执行n条指令所需要的时间 为T=(n+2)t。 时间缩 短了近

3、2/3,提高指令的执行速度。付出更高的代价。 取 指k 分 析k 执 行k 取指k+1 分析k+1 执行k+1 取指k 分析k 执行k 取指k+1 分析k+1 执行k+1 取指k+2 分析k+2 执行k+2 取指k 分析k 执行k 取指k+1 分析k+1 执行k+1 取指k+2 分析k+2 执行k+2 顺序执行方式 一次重叠执行方式 二次重叠执行方式 二、什么是流水线 计算机中的流水线与工厂中的生产流水线十分相似,它是指把 一个重复的过程分解为若干个子过程,一个过程的子过程可以与 其它过程的不同的子过程并行进行,实现 不同过程在时间 上重叠 进行的工作方式。实现 流水线的技术方法称为流水线技术

4、。从本 质上讲,流水线技术是一种时间 并行技术,是通过时间 重叠的技 术途径实现 并行处理(时间 并发性)。 根据子过程划分,相应的流水线也要划分出相应的段,每一 个段称为流水节拍、流水步、流水步骤、流水阶段、流水段、功 能段等。一个流水阶段与另外一个流水阶段相连接形成流水线。 过程从流水线的一端进入,经过 流水线的处理,从流水线的另一 端进出。流水线技术是一种非常经济 而又有效的技术,已成为计 算机中普遍使用的一种并行处理技术。采用流水线技术只需要增 加少量的硬件,就能够把处理机的运算速度提高几倍。 三、流水线的表示方法 流水线的表示方法有三种:连接图、时空图和预约表,其中时 空图用于表示线

5、性流水线,预约表用于表示非线性流水线,而连接 图则均可表示。 1. 连接图 四个流水段的指令流水线的连接图如图所示,其实质是将带执 行时间的各流水段按照流水线的执行顺序从左到右排列,并用带箭 头的直线把它们连接起来。 2. 时空图 时空图是一种最常用、能直观描述线性流水线工作过程的表 示方法,四个流水段的指令流水的时空图如图所示。其实质 是利 用平面直角坐标系的第一象限。横坐标表示时间 ,即是输入到流 水线的各个任务在流水线中所经过 的时间 。纵坐标表示空间,即 流水线的每一个流水段。 取 指 令译 码执 行保存结果 取 指 令译 码执 行保存结果 线性指令流水线的连接图 非线性指令流水线的连

6、接图 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 四功能段指令流水线时空图 3. 预约表 预约表是一种最常用、能直观描述某过程非线性流水线工作状 态的表示方法, 四个流水段的指令流水线的预约表如图3.4所示。 其实质是利用一张表,行表示时间即非线性流水线的段数,列表示 空间既任务通过非线性流水线的时间 ,表中用“”表示行对应 流水段在列对应时间 段要被使用。一行中可以有多个“”,表 明同一个任务在不同时间 重复使用了同一个流水段;一列中有多 个“”则表明任务在同一时间 使用了多个流水段。 四功能段非线性指令流水线预约表 四、流水线的分类 从不同的角度,可以把

7、流水线分成多种不同类型,以反映流水线在某一 方面的结构、特点或性能。 1. 按流水线的功能多寡分类 (1)单功能流水线(Unifunction Pipelining) 单功能流水线是指只能完成一种固定功能的流水线。 输 入示阶差 对 阶规格化尾数加输 出 六功能段线性单功能流水线的连接图 (2)多功能流水线(Multifunction Pipelining) 多功能流水线是指流水线的各段可以实现 不同的连接,在不 同的时间 内,或在同一时间 内,通过不同的连接方式实现 不同的 处理功能。 输 入 尾数乘 累 加 输 出 输 入 求阶差 对 阶 尾数加 规格化 输 出 输 入 对 阶 尾数加 规

8、格化 尾数乘 输 出 累 加 求阶差 定点乘法 浮点加法 浮点点积 TI-ASC计算机的多功能流水线 2. 按多功能流水线在同一时间内各段连接方式分类 在多功能流水线中,按照在同一时间内是否可以实现多种连接 ,来同时执行多种功能的要求,把多功能流水线分为静态流水线和 动态流水线。 (1)静态流水线(Static Pipelining) 静态流水线是指在同一段时间内,多功能流水线只能按一种方 式连接,实现一种功能。只有当按照这种连接流入的所有处理的对 象都流出流水线之后,多功能流水线才能重新进行连接以实现其他 功能。如图3.6所示中的8段多功能流水线如果按照图3.7所示的时 空图工作,那么就是一

9、种静态流水线。 空间 浮点加 定点乘 输出 1 2 n-1 n 1 累加 1 2 尾数乘 1 2 3 规格化 1 2 n-1 n 尾数加 1 2 n-1 n 对阶 1 2 n-1 n 求阶差 1 2 n-1 n 输入 1 2 n-1 n 1 2 3 4 时间 静态流水线的时空图 (2)动态流水线(Dynamic Pipelining) 动态流水线是指在同一段时间内,多功能流水线中的各段可以 实现多种连接,同时执行多种功能。当然,任何一个功能段只能参 加到一种连接中。 空间 浮点加 定点乘 输出 1 2 n-1 n 1 2 3 累加 1 2 3 4 尾数乘 1 2 3 4 5 规格化 1 2 n

10、-1 n 尾数加 1 2 n-1 n 对阶 1 2 n-1 n 求阶差 1 2 n-1 n 输入 1 2 n-1 n 1 2 3 4 5 6 时间 动态流水线的时空图 3.按流水线的级别分类 按照流水线的级别,可以把流水线分为功能部件级、处理机级 和处理机间级。 (1)指令流水线(Instruction Pipelining) 指令流水线又称为处理机级流水线,它是把一条指令的执行过 程分解为多个子过程,每个子过程在一个独立的功能部件中完成。 (2)运算操作流水线(Arthmetic Pipelining) 运算操作流水线又称为功能部件级流水线,它是把处理机的算 术逻辑部件分段,使运算过程能进行

11、流水操作。 (3)宏流水线(Macro Pipelining) 宏流水线又称为处理机间流水线,它是由两个或两个以上的处 理机通过存储器串行连接起来,每个处理机对同一数据流的不同部 分分别进行处理,前一个处理机的输出结果存入存储器中,作为后 一个处理机的输入,每个处理机完成整个任务中的一部分。 处理机1存储 器 处理机2 处理机n 存储 器 存储器 一种宏流水线 4.按流水线的各功能段之间是否有反馈回路分类 按照流水线的各功能段之间是否有反馈回路,可以把流水线分 为线性流水线和非线性流水线。 (1)线性流水线(linear Pipelining) 线性流水线是指流水线各段串行连接,数据顺序流经流

12、水线各 段水线各段一次且仅流过一次。 (2)非线性流水线(nonlinear pipelining) 非线性流水线是指在流水线各段之间除有串行连接之外,还有 反馈回路,数据流经有反馈回路的功能段的次数可以有多次。 五、流水线的特点 (1)流水线是由多个独立的从一个大的处理功能部件分解而来 的小功能部件组成,依靠小功能部件并行工作来提高处理速度。把 一个重复的处理过程分解为若干个子过程,每个子过程需要设置一 个对应的功能部件来实现,这是流水线本质。 (2)流水线中各功能段的时间应尽量相等,否则将引起“堵塞 ”、“断流”等。在流水线设计中,当遇到“瓶颈”时,必须采取 办法解决。 (3)流水线需要有

13、“装入时间”和“排空时间”。“装入时间 ”是指第一个任务进入流水线到输出流水线的时间。“排空时间” 是指第n个(最后一个)任务进入流水线到输出流水线的时间。 (4)只有连续不断地提供同种任务才能充分发挥流水线的效率 。因此,在采用流水线方式工作的处理机中,特别是当流水线的级 数较多时,要在软件和硬件设计等多方面尽量为流水线提供连续的 任务,以提高流水线的效率。 (5)在流水线的每一个功能部件的后面都要有一个缓冲寄存器 ,或称为锁存器、闸门寄存器等。它的作用是保存本流水段的执行 结果,如图所示。 取指令译 码执 行存结果 锁 存 器 锁 存 器 锁 存 器 锁 存 器 流水线中锁存器 练习:如果

14、一条指令执行过程分为取指令、分析指令、执 行指令三个子过程,假设某程序共有1000条指令,当三 个子过程的延迟时间均为t;三个子过程的延迟时间分别 为t1、t2、t3时,计算下列3种情况执行该程序所需时间,并 加以比较。 (1)指令顺序执行; (2)一次重叠执行; (3)二 次重叠执行。 一、重叠执行方式的基本结构 二、先行控制方式的基本结构 三、先行控制的指令流水线 四、运算操作流水线和宏流水线的基本结构 五、流水线结构设计中的若干问题 第二节 处理机实现流水线的基本结构 一、重叠执行方式的基本结构 1. 重叠执行方式的基本结构 采用二次重叠执行方式,同时有三条指令分别在取指令、分 析和执行

15、。要使它们能够重叠执行,处理机在结构上必须有独立 的取指令部件、指令分析部件和指令执行部件。它们有各自的控 制线路,实现 各自的功能,这样 才能取指令、分析和执行的同时 进行。为此,要把顺序执行方式中的一个集中的指令控制器分解 成三个相结独立的控制器,分别是:存储控制器,简称存控;指 令控制器,简称指控;运算控制器,简称运控。重叠执行方式的 基本结构如图所示。 重叠执行方式的基本结构 取指部件 读数 写数 主 存 储 器 分析部件 运算部件 寄 存 器 组 运算控制器 存 储 控 制 器 取指 修改PC 2. 访问冲突及其解决方法 采用了重叠执行方式的基本结构后,可实现取指令、分析和执 行的并发进行,但存在访问主存的冲突问题(即资源冲突、结构相 关)。例如,取指令要访存,分析指令时可能要访存取操作数,执

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号