流水线工作原理 PPT

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

若 取指 和 执行 阶段时间上 完全重叠
指令周期 减半 速度提高 1 倍
3. 影响指令流水效率加倍的因素
(1) 执行时间 > 取指时间
取指令 部件
指令部件 缓冲区
执行指令 部件
(2) 条件转移指令 对指令流水的影响
必须等 上条 指令执行结束,才能确定 下条 指令的地址,
造成时间损失
猜测法
解决办法 ?
[分析]首先需要考虑的是,10个数的的和最少需要做几次加法。
我们可以发现,加法的次数是不能减少的:9次;
于是我们要尽可能快的完成任务,就只有考虑如何让流水线 尽可能充满,这需要消除前后指令之间的相关。
由于加法满足交换率和结合率,我们可以调整运算次序如以下的指令序 列,我们把中间结果寄存器称为R,源操作数寄存器称为A,最后结果寄 存器称为F,并假设源操作数已经在寄存器中,则指令如下:
·Δ
t
2. 加速比 Sp
m 段的 流水线的速度 与等功能的 非流水线的速度 之比
设流水线各段时间为 Δ t
完成 n 条指令在 m 段流水线上共需
T = m ·Δt + (n-1) Δ· t
完成 n 条指令在等效的非流水线上共需
T′= nm ·Δt

nm ·Δt
nm
Sp = m Δ· t +(n-1) Δ· t = m + n -1
3. 效率
流水线中各功能段的 利用率 由于流水线有 建立时间 和 排空时间 因此各功能段的 设备不可能 一直 处于 工作 状态
S空间
空间
S4
1 2 3 4 5 … … … n-1 n
S3
1 2 3 4 5 … … … n-1 n
S2
1 2 3 4 5 … … … n-1 n
S1 1 2 3 4 5 … … … n-1 n
✓ I1:
R1←A1+A2
✓ I2:
R2←A3+A4
✓ I3:
R3←A5+A6
✓ I4:
R4←A7+A8
✓ I5:
R5←A9+A10
✓ I6:
R6←R1+R2
✓ I7:
R7←R3+R4
✓ I8:
R8←R5+R6
✓ I9:
F←R7+R8
这并不是唯一可能的计算方法。假设功能段的延迟为Δt。 时-空图如下,图中的数字是指令号。
➢ 执行指令(EI):执行指令所需的操作,并 将结果存于目的位置(寄存器中)。
➢ 写操作数(WO):将结果存入存储器。
返回
感谢您的聆听!
S1 1 2 3 4 5 … … … n-1 n
mΔt
(n-1) Δt
T时间
举例 用一条5个功能段的浮点加法器流水线计算
10
F Ai i 1
每个功能段的延迟时间均相等,流水线的输出端和输入端 之间有直接数据通路,而且设置有足够的缓冲寄存器。要 求用尽可能短的时间完成计算,画出流水线时空图,并计 算流水线的实际吞吐率、加速比和效率。
R8=R5+R6
R7=R3+R4
F=R7+R8
整个计算过程需要21Δt,所以吞吐率为:
Tp 9 21t
加速比为: 效率为:
S95t452.14 2 1t 21
E95t 4.28% 6 52 1t
课后思考
15
F Ai i 1
20
F Ai i 1
100
F Ai i 1
1000
F Ai i 1
部件m
R2 R4
R1 R3 R5 R6 R7
R8
F
5
1 2 34 5 6 7
8
9
4
1 2 34 5 6 7
8
9
3
1 2 34 5 6 7
8
9
2 1 2 34 5 6 7
8
9
11 2 34 5 6 7
8
9
时间
21Δt
R1=A1+A2 R2=A3+A4 R3=A5+A6 R4=A7+A8
R5=A9+A10 R6=R1+R2
流水线工作原理
一、指令流水原理
1. 指令的串行执行
取指令 1 执行指令 1 取指令 2 执行指令 2 取指令 3 执行指令 3 …
取指令 取指令部件 完成 总有一个部件 空闲 执行指令 执行指令部件 完成
2. 指令的二级流水
取指令 1 执行指令 1
取指令 2 执行指令 2
指令预取
取指令 3 执行指令 3
mΔt
(n-1) Δt
T时间
3. 效率
流水线中各功能段的 利用率
流水线各段处于工作时间的时空区
效率 =
流水线中各段总的时空区
=
S空间
mnΔt m(m + n -1) Δt
空间
S4
1 2 3 4 5 … … … n-1 n
S3
1 2 3 4 5 … … … n-1 n
S2
1 2 3 4 5 … … … n-1 n
完成 一条指令 串行执行 六级流水
6 个时间单位
6 × 9 = 54 个时间单位
14 个时间单位
注释
二、流水线性能
1. 吞吐率 单位时间内 流水线所完成指令 或 输出结果 的 数量
设 m 段的流水线各段时间为Δt
• 最大吞吐率
Tpmax
=
1
Δt
• 实际吞吐率
连续处理 n 条指令的吞吐率为
Tp
=
n m ·Δt+ (n-1)
4. 指令的六级流水
ຫໍສະໝຸດ Baidu
t 1 2 3 4 5 6 7 8 9 10 11 12 13 14
指令 1 FI 指令 2 指令 3 指令 4 指令 5 指令 6 指令 7 指令 8 指令 9
DI CO FO EI WO FI DI CO FO EI WO
FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO
➢ 取指(FI):从存储器取出一条指令并暂时 存入指令部件的缓冲区。
➢ 指令译码(DI):确定操作性质和操作数地 址的形成方式。
➢ 计算操作数地址(CO):计算操作数的有效 地址,涉及到寄存器间址、间址、变址、基 址、相对寻址等各种地址计算方式。
➢ 取操作数(FO): 从存储器中取操作数(若 操作数在寄存器中,则无需此阶段)。
相关文档
最新文档