流水线问题系统结构

合集下载

计算机系统结构第3章流水线技术

计算机系统结构第3章流水线技术
设计控制逻辑以协调不同阶段之间的操作, 确保指令顺序执行。
流水线调度
根据指令的依赖关系和资源可用性,动态调 度指令到不同的流水线阶段。
GPU设计中的流水线技术
线程级并行
通过划分线程块和线程束,实现线程级并行执行。
数据级并行
将数据划分为多个块,每个块在GPU的多个处理单元上并行处理。
指令级并行
通过指令调度和分支预测,实现指令级并行执行。
硬件资源共享
01
硬件资源共享是指流水线中的多个操作共享相同的硬件资源, 如寄存器、缓冲区等。
02
硬件资源共享能够提高资源利用率,减少硬件开销,降低成本。
需要注意的是,硬件资源。
流水线的性能指标
01
吞吐量
流水线每单位时间内完成的操作数 或任务数。
流水线调度
根据子任务的依赖关系和资源需求,动态调 度子任务到不同的计算节点。
THANKS
感谢观看
将执行结果写回寄 存器或内存。
02
流水线的工作原理
数据流驱动
1
数据流驱动是指流水线中的操作按照数据流动的 方向依次执行,每个操作在完成前需要等待前一 个操作的结果。
2
数据流驱动的优点是能够充分利用数据依赖关系, 减少等待时间,提高流水线的吞吐量。
3
需要注意的是,数据流驱动需要精确控制数据流 动的顺序,以避免出现数据相关和冒险问题。
调试和维护困难
由于流水线中各个阶段是并行处 理的,调试和维护可能会比串行 系统更加困难。
05
流水线技术的应用
CPU设计中的流水线技术
指令划分
将指令划分为多个阶段,每个阶段对应一个 功能单元,从而并行执行多个指令。
数据路径设计

计算机系统结构 第 3 章 流水线技术_标量

计算机系统结构 第 3 章 流水线技术_标量

2014-3-10
27
非线性流水线
反馈回路
• 流水线的流动顺序: • S1→S2 →S3 →S2 →S3 →S4 →S1 →S2
2014-3-10
28
1 s1 s2 s3 s4 1
2 1
3
4 1
5
6
7 1
8 1
9
1
1 1
• 为了防止两条或两条以上的指令对同一功能段的 争用,非线性流水线需要对输入流水线的指令进 行比较复杂的控制。 • 非线性流水线通常使用预约表来进行分析。
i 2
n
2014-3-10
7
执行时间不等时的一次重叠工作方式
分析 k
执行 k 分析 k+1 执行 k+1 分析 k+2 执行 k+2 分析 k+3 执行 k+3
2014-3-10
8
3. 先行控制方式
• 先行控制方式的基本思想: • 通过设置先行读数栈,先行操作栈,后行写数 栈等,使分析部件和执行部件能够分别连续 不断地分析和执行指令。
1 t s t l
• 若每个流水段的延迟时间不等,则最高工作频率 为:
1
max t Si t l
n i 1
2014-3-10
16
流水技术的特点
• ⑴ 一条流水线通常由若干个有联系的流水段组成。 • 流水线中的段数也称为 “流水深度” 。 • ⑵ 每个流水段有专门的功能部件对指令进行某种 加工。 • ⑶ 各流水段所需时间应尽量相等,以减少流水线 的瓶颈影响。 • ⑷ 流水线工作阶段可分为建立(装入)、满载和排 空三个阶段。 • ⑸在理想情况下,当流水线充满后,每隔Δ t时间 将会有一个结果流出流水线。

系统结构名词解释(3)

系统结构名词解释(3)

系统结构名词解释(3)系统结构名词解释结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的冲突。

数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。

控制冲突:流水线遇到分支指令或其它会改变PC值的指令所引起的冲突。

定向:用来解决写后读冲突的。

在发生写后读相关的情况下,在计算结果尚未出来之前,后面等待使用该结果的指令并不见得是马上就要用该结果。

如果能够将该计算结果从其产生的地方直接送到其它指令需要它的地方,那么就可以避免停顿。

写后读冲突:考虑两条指令i和j,且i在j之前进入流水线,指令j用到指令i的计算结果,而且在i将结果写入寄存器之前就去读该寄存器,因而得到的是旧值。

读后写冲突:考虑两条指令i和j,且i在j之前进入流水线,指令j的目的寄存器和指令i的源操作数寄存器相同,而且j在i读取该寄存器之前就先对它进行了写操作,导致i读到的值是错误的。

写后写冲突:考虑两条指令i和j,且i在j之前进入流水线,,指令j和指令i的结果单元(寄存器或存储器单元)相同,而且j在i写入之前就先对该单元进行了写入操作,从而导致写入顺序错误。

这时在结果单元中留下的是i写入的值,而不是j写入的。

链接技术:具有先写后读相关的两条指令,在不出现功能部件冲突和Vi冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加快执行的目的。

分段开采:当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段。

半性能向量长度:向量处理机的性能为其最大性能的一半时所需的向量长度。

向量长度临界值:向量流水方式的处理速度优于标量串行方式的处理速度时所需的向量长度的最小值。

4.1解释下列术语指令级并行:简称ILP。

是指指令之间存在的一种并行性,利用它,计算机可以并行执行两条或两条以上的指令。

指令调度:通过在编译时让编译器重新组织指令顺序或通过硬件在执行时调整指令顺序来消除冲突。

计算机系统结构考试计算题

计算机系统结构考试计算题

有一指令流水线如下所示入 1 2 3 4 出 50ns 50ns 100ns 200ns(1) 求连续输入10条指令,该流水线的实际吞吐率和效率;(2) 该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。

对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少? 解:(1)2200(ns)2009200)10050(50t )1n (t T maxm1i i pipeline =⨯++++=∆-+∆=∑= )(ns 2201T nTP 1pipeline-==45.45%1154400TP mtTP E m1i i≈=⋅=∆⋅=∑= (2)瓶颈在3、4段。

变成八级流水线(细分)850(ns)509850t 1)(n t T maxm1i i pipeline =⨯+⨯=∆-+∆=∑=)(ns 851T nTP 1pipeline-==58.82%17108400TP mtiTP E m1i ≈=⋅=∆⋅=∑= 重复设置部件123_13_24_14_4入出)(ns 851T nTP 1pipeline-==58.82%1710885010400E ≈=⨯⨯=有一4段组成,其3段时,总次,然后流到第4段。

如果需要的时间都是t ∆,问:(1) 当在流水线的输入端连续地每t ∆时间输入任务时,该流水线会发生什么情况?(2) 此流水线的最大吞吐率为多少?如果每t ∆2输入一个任务,连续处理10个任务时的实际吞吐率和效率是多少?(3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个任务时,其吞吐率提高多少?(2)54.35%925045TP E 2310T nTp 23T 21TP pipelinepipeline max ≈=∆⋅=∆∆==∆=∆=t tt t(3)重复设置部件t t∆⋅=∆⋅==751410T nTP pipeline吞吐率提高倍数=tt ∆∆231075=有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第3段的时间为2△t ,其余各段的时间均为△t ,而且流水线的输出可以直接返回输入端或 )(41i i i B A +∏=段t∆ 14暂存于相应的流水寄存器中。

计算机系统结构课程流水线技术教学研究与实践

计算机系统结构课程流水线技术教学研究与实践
摘 要: 结合高校实际和社会 需求 , 在计算机 系统结构课程 中的流 水线技 术教 学中, 引导学生联系已有知识展 开新知识 的学 习。 增加和 突出微 机上常 用的新的 系统结构和流水线技术 , 引入 D X虚拟 处理 器实验 来开展 流水线 的设计 与实现 , L 并注意贯 通课程 内容, 系统化 流水线技术的介绍 . 从 而大大提高流水线技 术的教 学效果。 关键词 : 流水线技术 ; 计算机 系统结构 ; L D X虚拟 处理 器; 学改革 教 计算机 系统结 构历来 为高 校计算机 科学 3 2位处理器。该处理器不仅体现了当今多种机 改进现代 计算 机系统结 构的最重 要的思 与技术专业必修的主干专 业基础课 。如何讲好 器 ( A 9 D C s t n 3 0 。 5 . 如 MD 2 K, E ti 10 HP 8 0 ao 想是采用 并行技术 。并行分时间并行和空间并 流水线技术 , BM 8 ,n e i6 MI S M/ 2 A , P M/ 01 I t l 8 0, P 1 0 MI S 从而讲 好整个 课程 , 值得我们花大 I 行 。基于时间并行 的流水线技术是现代 计算 机 气力研究和探索。 为此 , 必须结合高校实际和社 1 o Mo o o a 8 K. R SC IS 4 6 . 0 O, tr l 8 J , GI D/ 0 系统结 构的基本技术之一 。计算机系统结构 的 会 需 求 ,全 面 深 入 地 开 展 教学 改革 ,主要 措 施 S A C t in I u - ,1,S n 42 0等) P R s t — ,s n 4I0 u - /6 ao 系 国际权威美 国斯坦 福大学 的 Jb .en sv 有 : on LH n es 统结 构的共 同特点 ,还将体现未来 一些 机器的 和加利福尼亚 大学伯 克利分校的 D v .a— ai AP t d 31任课教师对学生已学过的前 继课程要 设计 思想【 . l 1 。特别是 , L D X虚拟微处理机提供了 tr n 在 其 名 著 “ o u r rht t e— 有一个全面 的了解 , es o C mpt A ci cu A e e r 在此基础上 , 善于引导学 生 个基于 P C机 的研究平 台,研究者可以在 P C q ata v prah un tte ap c ”一书中特别指 出: 流水 联 系已有知识展开新知识的学习。现代建构主 机上模拟新 的处理机技术 。清华大学著名教授 i i o “ 线过去是 ,而且将来也很可能还是提高计算机 义教 育思想认 为,知识是个体与外部环境交互 郑纬 民在 其著作 中专 门介绍 了 D X虚拟 微处 L 性能 的最有效技术之一”1 【 l 。事实上 , 计算机 作用 的结果 , 在《 学习者并不是接受知识并将他们 理机 , 并指出 :通过 了解 D X处理机 的结构和 “ L 系统结构》 门重要的专业基础课 中, 这 流水线技 存储 在头脑 中 , 而是 从外部世界吸收信息 , 然后 工作 原理 , 并利 用 D X模拟器 进行实验 , 以 L 可 术 的介绍就 占了较大的 比例。 因此 , 讲好 流水线 建构 自己的知识领域 。人们 对事物 的理解与个 帮助读者综合地了解和运用有关处理器指令 系 技术 ,对学生掌握好这门核心课程具有重大 的 体的先前经验有关 ,因而 知识是学 习者在与情 统 的设计 、 流水线的设计 与实现等方 面的知识 , 意义。 景( 包括其他个 体 ) 的交互 作用过程 中自行建构 有助 于对本书前面章节所述 内容的理解 。” 2 流水线技术教学面临的难 题 的 目 。 在全 面了解 D X虚拟处理 器的结构 和工 L 今天, 流水 线技术 无处不 在 , 天面对 的 天 软”的角度 ,利用 比如 , 结合 《 计算机组 成原理》 课程 中介绍 作 原理的基础上 ,探讨从 “ L 微机上就有 。然 而 , 由于是硬件控制 , 它好像 是 的指令执行情况介绍指令级并行的概念 , 汇 D X 虚 拟 处 理 器 进 行 处 理 器 指 令 系统 的设 计 、 以《 谁 也 看 不 见 的透 明 的 幽灵 , 法 可 见 , 无 法 可 编语言程序 设计》课程 中介绍 的 8 8/0 6处 流 水 线 的设 计 与 实 现 、并 行 处 理 的 设 计 与 实 现 无 也 088 8 及; 教师 只能纸上谈兵 , 概念推理 , 教学确 实难 理器结 构为例 ,通过对 E BU两个功能部件 等 带 有新 一 代处 理 器思 想 和技 术 的实 践 教 学 体 U、 I 度很大。 的并行操作引入一 、 二次重叠 的概念 , 一下子拉 系 , 总结出有 典型教学 意义 的实验 ; 并编写相 关 的实验教材,注重设计性 和综合性实验 的训 根据多 年 的教学体会 ,要讲 好流水线 技 近 了学 生 与 流水 线 技 术 的距 离 。 术, 应解决三大难题 : 3 . 2积极开展本课程教学 内容改革 ,注意 练 。比如 , 让学生通过实验 软件, 模拟采用旁路 2 . 1如何解决流水线技术和学生 已学课程 吸收国内外 同类教材教学思 路,结合一般本科 技术消除数据相关 ,采用增加运算单元 的方 法 知识 的联系 、 综合和融会贯通问题。 计算机 系统 教育对计算机人才知识结 构的要求 ,在教学 内 消除控制相关 ,采用优化程序的方法 来提高流 结构一般安排为计算机专业高年级课程 ,它需 容上 进行压缩和扩充 ,精 简了有关 大中型计算 水 线 的性 能等 。此外 ,我 们开 辟 了一 些有 关 ah 、 P 要用到几乎所有计算机专业基础和相关的前继 机的过多介绍 ,增 加和突出微机上 常用 的新 的 C ce C U性能测试的实验 .形成一套计算机 专 业 课 程 知 识 。与 流 水 线 技 术 相 关 的课 程 主 要 系统结构和流水线技术 , 突出基本知识 , 意和 系统结构实践教学体系 。这是一项难度较大的 注 有: 计算机组成 原理 、 汇编语 言程 序设计 、 高级 前继课程的 内容贯通 ,形成具有 自己特色的教 具有开创意义的教学研究工作 。 3 综合计算机 系统结构课程 内容,系统 . 4 语言程序设计 、 数据结构 、 操作 系统 、 编译 原理 学 内 容和 教 学 大 纲 。 等。 理论上 , 既讲清一 般 原理 , 又紧密结 合微 化流水线技术的介绍 。比如 , IC指令系统, RS 一 2 . 2如何结合 学生经 常使用 的微型计算机 机 系统结构 。比如 , 结合 8 X 6 0 8 指令 系统 , 阐述 般 教 材较早 地 就 进行 了 介绍 。为 何 R S 比 IC IC到 R S IC的发展 ;在 介绍 各项新 技术 C S IC优越 ? 很多教材提到了 2 %与 8 %规律等 0 0 系统结构来展开讲 述的问题 , 如果 只是抽象地 从 CS 举出现代大中型计算机实 例 ,学生必然学习兴 时 .尽 量例 举 微 机 上 应 用 相 关 技 术 的实 例 。 如 问题 , 却未提流水线的需要。 实上 , s 事 c的创 ai P t s 就 d eo “ c设计 趣大减 , 造成教学障碍。 P n u 的 4级整数 流水 线 、 级 浮点流 水线 , 始人 D v a r n 曾明确指 出: s et m i 8 e t n的分 支预测 策略等。我们还 以“ 4: u 奔 奔 的 目的就是易于执行和流水”I为 此, 【 J 。 在教学处 23如何利用现有实验环境开展流水线技 P nii . 术实验学习 的问题 。显而易见 ,此问题 如能解 腾 不 已 的 ‘ ”为 题 , 门 介 绍 P nim 4的 理上 ,我们先简介一次重叠流水 的概念 ,凸现 芯 ’ 专 et u N tus微 结 构 , W ia t eB rt 从 l met 心 、 otw o R S l e核 N r od h IC指令对流水 的帮 助 ,再讲 到 RS IC的关键 决, 将大大有助于提高教学效果。 很 可惜, 现有的教材几乎无法解决上 述问 核 心 到 Pect核 心 的不 断 发 展 ,所 面 临 的 问 技术和编译器的优化。 rsot 在讲标量流水线 之前 , 先 应该说 , 流水线技 题。 目前的计 算机 系统结构教材 内容多是针对 题 及 C r oe微架构 的面世 , 同时还涉及到同时代 完整地介绍先行控制技术等。 P 结合 系统结构 术几乎与 系统结构中各章内容都直接相关。从 大中型计算 机系统 描述 ,常 以一般学生接触不 C U产 品的竞 争情况 。应该说 , 标量流 水线 、 向量 流水线 , 存储 系统 到的机型作为系统 结构举 例,而结合微机应用 的原理比较全面地介绍 了与学 生密切相关 的微 指令系统 、 的并行 访�

流水线与并行处理技术

流水线与并行处理技术

流水线与并行处理1. 概述流水线技术导致了关键路径的缩短,从而可以提高时钟速度或采样速度,或者可以在同样速度下降低功耗。

在并行处理中,多个输出在一个时钟周期内并行地计算。

这样,有效采样速度提高到与并行级数相当的倍数。

与流水线类似,并行处理也能够用来降低功耗。

考虑3阶有限冲激响应(FIR )数字滤波器:y(n) = ax(n) + bx(n-1) + cx(n-2) (1-1)其框图实现示意图如图1所示:图1 一个3阶FIR 滤波器关键路径(或者处理一个新样点所需要的最小时间)由1个乘法与2个加法器时间来限定。

如果T M 是乘法所用的时间,T A 是加法操作需要的时间,T sample 是采样周期,则必须满足:T sample ≥ T M + 2T A (1-2)因而,采样频率(f sample )(也称为吞吐率或迭代速率),由下式给出:f sample ≤ A M T T 21 (1-3)流水线采用沿着数据通路引入流水线锁存器(本人理解是寄存器)的方法来减小有效关键路径(effective critical path )。

并行处理提高采样频率是采用复制硬件的方法,以使几个输入能够并行的处理,而几个输出能够在同一时间产生出来。

2. FIR 数字滤波器的流水线其流水线实现是通过引入两个附加锁存器而得到的,如图2所示:图2 流水线FIR滤波器,其中垂直虚线代表一个前馈割集关键路径现在由T M + 2T A减小为T M + T A。

在这种安排下,当左边的加法器启动当前迭代计算的同时,右边的加法器正在完成前次迭代结果的计算。

必须注意到,在一个M级流水线系统中,从输入到输出的任一路径上的延时原件数目是(M-1),它要大于在原始时序电路中同一路径上的延时元件数。

虽然流水线技术减小了关键路径,但是它付出了增加迟滞(latency)的代价。

迟滞实质上是流水线系统第一个输出数据的时间与原来时序系统第一个输出数据时间相比的滞后。

超标量处理机和超流水线处理机——计算机系统结构

超标量处理机和超流水线处理机——计算机系统结构

超标量处理机和超流⽔线处理机——计算机系统结构在表5.2中,基准标量处理机是⼀台普通的单流⽔线处理机。

为了便于进⾏⽐较,把基准标量处理机的机器流⽔线周期和指令发射等待时间都假设为1个时钟周期,同时发射的指令条数为⼀条,它的指令级并⾏度ILP(Instruction Level Parallelism)假设为1。

另外三种指令级并⾏处理机,即并⾏度为m的超标量处理机,并⾏度为n的超流⽔线处理机,以及并⾏度为(m,n)的超标量超流⽔线处理机,它们的性能都相对于基准标量处理机进⾏⽐较。

单流⽔线处理机只有⼀条指令流⽔线,只有⼀个多功能的操作部件,每个时钟周期"取指令"和"分析"完成⼀条指令。

在许多流⽔线处理机中,指令流⽔线的流⽔段数k=4;它把⼀条指令的执⾏过程主要分解为"取指令"、"分析"、"执⾏"和"写结果"4个阶段。

指令所要执⾏的功能主要在多功能操作部件中,在"执⾏"这⼀流⽔段完成。

多数流⽔线处理机的多功能操作部件采⽤流⽔线结构。

有的简单指令,只要⼀个时钟周期就能够在"执⾏"流⽔段中完成,⽽⽐较复杂的指令往往需要多个时钟周期。

另外,还有条件转移等的影响;因此,⼀般流⽔线标量处理机每个时钟周期平均执⾏指令的条数⼩于1,即它的指令级并⾏度ILP<1。

超标量、超流⽔线和超标量超流⽔线三种处理机在⼀个时钟周期内可以执⾏完成多条指令,即它们的指令级并⾏度ILP都⼤于1。

超标量处理机基本结构超标量处理机的典型结构是有多个操作部件,⼀个或⼏个⽐较⼤的通⽤寄存器堆,⼀个或两个⾼速Cache。

先进的超标量处理机⼀般都包含有三个处理单元,⼀个是定点处理单元,通常称为中央处理单元(CPU),它由⼀个或多个整数处理部件组成;第⼆个是浮点处理单元(FPU),它由浮点加减法部件和浮点乘除法部件等组成;第三个是图形加速部件,也称为图形处理单元(GPU),这是现代处理机中不可缺少的⼀个部分。

软件设计师计算机体系结构考点:流水线技术

软件设计师计算机体系结构考点:流水线技术

软件设计师计算机体系结构考点:流水线技术【考法分析】本考点涉及的考查形式有:(1)流水线相关理论概念;(2)流水线相关计算。

【要点分析】1.流水线理论概念(1)流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。

各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。

(2)流水线建立时间:1条指令执行时间。

(3)流水线周期:执行时间最长的一段。

2、流水线相关计算:(1)流水线执行时间(理论公式):(t1+t2+..+tk)+(n-1)*∆t。

(2)流水线执行时间(实践公式):k*∆t +(n-1)*∆t。

(3)流水线吞吐率:TP = 指令条数/ 流水线执行时间。

(4)流水线最大吞吐率1 / ∆t。

(5)流水线加速比:顺序执行时间/流水线执行时间。

【备考点拨】吞吐率:单位时间内流水线处理机流出的结果。

对指令而言就是单位时间内执行的指令数。

如果流水线子过程所用的时间不一样,则吞吐率P应为(最长子过程的倒数)。

流水线开始工作,需要经过一段时间才能达到最大吞吐率。

【相关考题】1.下列关于流水线方式执行指令的叙述中,不正确的是()。

A.流水线方式可提高单条指令的执行速度B.流水线方式下可同时执行多条指令C.流水线方式提高了各部件的利用率D.流水线方式提高了系统的吞吐率2.流水线的吞吐率是指单位时间流水线处理的任务数,如果各段流水的操作时间不同,则流水线的吞吐率是()的倒数。

A. 最短流水段操作时间B. 各段流水的操作时间总和C. 最长流水段操作时间D. 流水段乘以最长流水段操作时间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、流水线的分类
⒈线性流水线与非线性流水线
按照流水线的各个功能段之间是否有 -
反馈信号,可以把流水线分为线性流水线和非线性 流水线两类。 线性流水线是将流水线的各段逐个串接起来。输入 数据从流水线的一端进入,从另一端输出。数据在 流水线中的各个功能段流过时,每一个功能段都流 过一次,且仅流过一次。 非线性流水线:在流水线的各个功能段之间除了有 串行的连接之外,还有反馈回路。如图5.28所示。
由于各种指令在同一个功能部件中执行的时间往往 相差很大,因此,在每一个功能段之间要设置多个 缓冲寄存器,以平滑流水线中各个功能部件的操作。
每个部件内部还可以采用流水线来实现。如对于一 些复杂的运算操作部件,象浮点加法器等一般要采 用多级流水线来实现。后行写数栈和先行读数栈也 可以采用多级流水线来实现。这种流水线称为部件 级流水线,或功能部件级流水线。
多个缓冲寄存器。
-
⑷流水线中各段的时间应尽量相等,否则将引起 “堵塞”、“断流”等。执行时间长的一段将成为 整个流水线的“瓶颈”,这时,流水线中的各个功 能部件将不能充分发挥作用。因此,在流水线设计 中,当遇到“瓶颈”时,必须采取办法解决。
⑸流水线需要有“装入时间”和“排空时间”。只 有流水线完全充满时,整个流水线的效率才能得到 充分发挥。
如果指令分析器分析一条指令所需要的时间 △t1与指令执行部件执行一条指令所需要的时间 △t2相等,即△t1=△t2,都为△t。则从指令执行 部件的输出端看,每间隔一个△t就执行完成一条 指令,并输出一个运算结-果。因此,处理机
执行指令的速度提高了一倍。 如果把执行一条指令的过程分得更细,如图
5.24所示,分为6个子过程。每一个部件的输出端 都要有一个锁存器。
-
表示非线性流水线的工作情况除了要有流水线的连 接图之外,还需要一张“预约表”,两者共同来表 示流水线的工作情况。如图5.29所示。
-
图中用“×”表示这一个功能段在相应的这一段时 间内有效,即任务经过了这一个功能段。
一条非线性流水线可以对应有很多张预约表,一张 预约表实际上仅表示一条非线性流水线的一种工作 方式。
-
功能部件级流水线也称为运算操作流水线。 把指令执行部件中采用了流水线的处理机称为流水 线处理机或超流水线处理机,把指令执行部件中设 置有多个操作部件的处理机称为多操作部件处理机 或超标量处理机。 处理机间流水线又称为宏流水线,如图5.31所示。
-

这种流水线由两个或两个以上处理机通过存储器串 行连接起来,每个处理机对同一个数据流的不同部 分分别进行处理。前一个处理机的输出结果存入存 储器中,作为后一个处理机的输入,每个处理机完 成整个任务的一部分。
5.26所示。
-
在时空图中,横坐标表示时间,就是输入到流水线 中的各个任务在流水线中所经过的时间。纵坐标表 示空间,即流水线的各个子过程。 在时空图中,流水线的一个子过程通常称为“功能 段”。 图5.27是一个4段浮点加法器流水线的时空图。
-
⒊流水线的特点
在处理机中采用流水线方式与采用传统的串行方 式相比,具有如下特点:
线性流水线实际上也有预约表,只不过它的预约表 是确定的。
首先,预约表的水平方向与垂直方向的格数是相等 的,其次,预约表从左上角到右下角所有格子全部 有效,即是打“×”的;预约表的其余部分一定是 空白的。
因此,在描述线性流水线-时,一般不给出预约表。
⒉流水线的级别
按照流水线使用的不同级别,可把流水线分为功能 部件级、处理机级和处理机间级等多种类型。
§5.2 流水线处理机
教学目标:掌握流水线的基本原理、特点、分类、 性能分析,非线性流水线的调度问题,及局部相关 和全局相关的处理方法。
一、流水线工作原理
流水线方式是把一个重复的过程分解为若干个 子过程,每个子过程可以与其他子过程同时进行。
在处理机的各个部分几乎都可以采用流水方式 工作。
指令的执行过程可以采用流水线,称为指令流 水线。
⑴在流水线中处理的必须是连续的任务,只有连 续不断地提供任务才能充分发挥流水线的效率。
⑵把一个任务(一条指令或一个操作)分解为几 个有联系的子任务,每个子任务由一个专门的功 能部件来实现。
⑶在流水线的每一个功能部件的后面都要有一个
缓冲寄存器,用于保存本段的执行结果。当某一
个功能段的执行时间变化范围比较大时,要设置
-
在图5.24中的每一个子过程还可以再进一步分解成 更小的子过程,即在功能部件的内部也采用流水线 方式工作。如,一个浮点加法的执行过程可采用4 级流水线,如图5.25所示。如果各个部件的执行时 间均相等,处理机执行浮点加法的速度能够提高3 倍。
-
⒉时空图 描述流水线的工作,最常用的方法是采用
“时空图”。 图5.23所示的流水线,采用时空图表示如图
一台大型计算机系统通常由多个同型号的或不同型 号的处理机构成,每个处理机有不同的分工。例如, 由多个用高级语言编写的程序需要在机器上运行, 则程序和数据的输入、编译、连接、执行、执行结 果输出等可分别在不同的处理机上完成,这些处理 机就构成了一条宏流水线。
-
运算器中的操作部件,如浮点加法器等可以采 用流水线,称为操作部件流水线。 ⒈从重叠到流水线
一次重叠方式就是一种简单的流水线。 在计算机中,一条指令的执行过程分解为“分 析”和“执行”两个子过程,这两个子过程分别在 指令分析器和指令执行部件中完成,如图5.23所示。
-
-
指令分析器和指令执行部件的输出端各有一个 锁存器,可分别保存指令“分析”和指令“执行” 的结果,因此,指令分析器和指令执行部件能成为 两个完全独立的功能部件,可同时并行工作。指令 分析器“分析k+1”与指令执行部件“执行k”可同 时进行。
处理机级流水线又称为指令流水线。它把一条指令 的执行过程分解为多个子过程,每个子过程在一个 独立的功能部件中完成。
前面介绍的一次重叠执行方式就是一种简单的指令 流水线。
在采用先行控制器的处理机中,组成先行控制器的 各个部件实际上也构成了一条流水线。如图5.30所 示。
-
-
在先行控制器中,一条指令的执行过程被分解为5 个子过程,每个子过程在一个专用的功能部件中执 行。
相关文档
最新文档