计组(六)流水线技术 | 您所在的位置:网站首页 › 流水线表情图怎么画的 › 计组(六)流水线技术 |
文章目录
一、前缀知识1.时空图2.流水线的分类(1)重要的分类(2)不重要的分类
二、流水线的性能分析1.加速比SP2.吞吐率TPmax和TP(1)最大吞吐率(2)实际吞吐率
3.效率E
三、习题6.56.96.10
一、前缀知识
1.时空图
注意纵坐标表示各流水段,不是各任务,比如下图就不是时空图。 按功能多少: 单功能:只能完成一种固定功能的流水线。多功能:流水线的各段可以进行不同的连接,在不同的时间内或在同一时间内完成不同的功能。![]() 多功能流水线按流水线的连接特性分类 静态流水线:是指在同一时间内,流水线的各段只能按同一种功能的连接方式工作。(时空图不同功能部分不能重叠,必须等一个功能的指令都执行完才能开始另一个功能的指令执行)动态流水线:在同一时间内,流水线的某些段正在实现某种运算,而流水线的另一些段同时在实现另外的一种运算。(时空图不同功能部分可以重叠)这点可以用时空图来解释:见题6.10 (2)不重要的分类按照流水线使用的级别分类: 部件级(指令级):将一条指令的执行过程分成若干子过程,每一子过程由一个独立的功能部件来实现。处理机级:多个功能部件连在一起构成流水线处理机间![]() 按照流水线中是否有反馈回路分类: 线性(不重复模块)非线性(重复模块)![]() 按照输出端任务的流出顺序与输入端任务的流入顺序是否一致: 顺序流动乱序流动 二、流水线的性能分析三项性能指标:吞吐率、加速比和效率 S P = T 顺 T 流 SP=\dfrac{T_顺}{T_流} SP=T流T顺 T 顺 T_顺 T顺: 当各段时间均为△t 的 m 段流水线,顺序完成 n 个任务,则: T 顺 = n m Δ t 0 T_顺 = nm \Delta t_0 T顺=nmΔt0 当各段时间不相等的 m 段流水线,顺序完成 n 个任务,则: T 顺 = n ∑ i = 1 m Δ t i T_顺 = n\displaystyle \sum^{m}_{i=1} \Delta t_i T顺=ni=1∑mΔti 2.吞吐率TPmax和TP 最大吞吐率 T P m a x TP_{max} TPmax:是指流水线在达到稳定状态后所得到的吞吐率。实际吞吐率 T P TP TP:设流水线由m段组成,完成n个任务的吞吐率。 (1)最大吞吐率计算 假设流水线各段的时间相等,均为 Δ t 0 \Delta t_0 Δt0,则: T P m a x = 1 Δ t 0 TP_{max} = \dfrac{1}{\Delta t_0} TPmax=Δt01 假设流水线各段时间不等,第i段时间为 Δ t i \Delta t_i Δti ,则: T P m a x = 1 m a x { Δ t 0 } TP_{max} = \dfrac{1}{max\{\Delta t_0\}} TPmax=max{Δt0}1 最大吞吐率取决于流水线中最慢一段所需的时间,该段成为流水线的瓶颈。 那么消除瓶颈的方法: 细分瓶颈段(增加流水线深度)![]() ![]() ![]() 实际吞吐率 T P = n T 流 水 TP=\dfrac{n}{T_{流水}} TP=T流水n,n表示任务的个数 若各段时间相等(假设均为 Δ t 0 \Delta t_0 Δt0),则完成时间 T 流 水 = m Δ t 0 + ( n − 1 ) Δ t 0 T_{流水} = m\Delta t_0 + (n-1)\Delta t_0 T流水=mΔt0+(n−1)Δt0这么理解:前半段红线是
(
n
−
1
)
Δ
t
0
(n-1)\Delta t_0
(n−1)Δt0,后半段是流水线的深度
m
Δ
t
0
m\Delta t_0
mΔt0 例:各段时间相等的流水线。 当△t=1ns,m=3,完成 100 个任务。流水线执行,则只需T流水= 3ns+99ns=102ns。实际吞吐率TP=100/(102ns)=980.39MIPS(单位换算:100÷102*1000) 例:各段时间不等的流水线。 假定某流水线有 5 段,其中 4 段的时间为 1ns,只有 1 段的时间为 2ns。若利用 此流水线完成 100 个任务,流水线执行所用时间为 T流水=6ns+99×2ns=204ns,实际吞吐率为 TP=100/204ns=490.19MIPS。 3.效率EE = n 个 任 务 占 用 的 时 空 区 m 个 段 总 的 时 空 区 = T 顺 m × T 流 E=\dfrac{n个任务占用的时空区}{m个段总的时空区}=\dfrac{T_顺}{m\times T_流} E=m个段总的时空区n个任务占用的时空区=m×T流T顺 当各段时间均为△t 的流水线
E
=
n
Δ
t
0
m
Δ
t
0
+
(
n
−
1
)
Δ
t
0
E=\dfrac{n\Delta t_0}{m\Delta t_0+(n-1)\Delta t_0}
E=mΔt0+(n−1)Δt0nΔt0 当各段时间不相等的 m 段流水线 E = n ∑ i = 1 m Δ t i m [ ∑ i = 1 m Δ t i + ( n − 1 ) Δ t m a x ] E=\dfrac{n\displaystyle \sum_{i=1}^{m}\Delta t_i}{m[\displaystyle \sum_{i=1}^{m}\Delta t_i+(n-1)\Delta t_{max}]} E=m[i=1∑mΔti+(n−1)Δtmax]ni=1∑mΔti 特殊排布的流水线(如动态流水线)
|
CopyRight 2018-2019 实验室设备网 版权所有 |