流水技术与向量处理(5-2)PPT课件

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

-
4
5.4 先进的流水技术
普通标量处理机上的单流水线
WB
1 2 3 4 5 6 7 8 9 10 11 12
EX
1 2 3 4 5 6 7 8 9 10 11 12
ID 1 2 3 4 5 6 7 8 9 10 11 12 IF 1 2 3 4 5 6 7 8 9 10 11 12
15
-
5
5.4 先进的流水技术
上图的说明:
• 指令1,2有(RAW),2的FA1只能在拍4。 • 指令3,4有(WAR),4的FA1只能在拍5。 • 指令5,6有(RAW)与(WAW)。 • 指令2和4有功能部件冲突。
由于顺序,指令3不可先于指令2完成, 指令5不可先于指令4完成。
-
上图的程序段
1. LOAD R1, A 2. FADD R2, R1 3. FMUL R3, R4 4. FADD R4, R5 5. DEC R6 6. FMUL R6, R7
5.4.1 超标量流水线技术-原理
m
每个时钟周期 同时发射两条或 两条以上的指令。
3
3 6 9 12
WB 2
2 5 8 11
1
1 4 7 10
3
3 6 9 12
EX 2
2 5 8 11
1
1 4 7 10
3
3 6 9 12
ID 2
2 5 8 11
1
1 4 7 10
3 3 6 9 12 IF 2 2 5 8 11
// (R4) + (R5)→R4 // (R6)-1 →R6 // (R6)×(R7)→R6
-
8
5.4 先进的流水技术
5.4.1 超标量流水线技术-调度方法
方法一:顺序发射顺序完成
10
IF1 ID1 L/S WR1 IF2 ID2 (RAW) FA1 FA2 FA3 WR2
IF1 ID1 MD1 MD2 MD3 顺序 WR1 IF2 ID2 部件 FA1 FA2 FA3 WR2
10
5.4 先进的流水技术
5.4.1 超标量流水线技术-调度方法
方法二:顺序发射乱序完成
9
IF1 ID1 L/S WR1 IF2 ID2 (RAW) FA1 FA2 FA3 WR2
IF1 ID1 MD1 MD2 MD3 WR1 IF2 ID2 部件 FA1 FA2 FA3 WR2
IF1 ID1 AL WR1 IF2 ID2 (RAW) MD1 MD2 MD3 WR2
若一个非线性、单功能流水线,由S段组成,每个任务 流过流水线需N个时钟周期(t1,t2,…,tn),以段为纵坐 标,以时间为横坐标,就可以画出流水线的预约表。如
St 1 2 3 4 5 6 7 8 9
1√

2
√√

3

4
√√
Biblioteka Baidu
5
√√
-
2
*5.3 流水线的调度技术
5.3.1 非线性流水线的静态调度技术
当前一个任务流入流水线后,后继任务需要间隔多 少拍进入流水线,才不会引起功能部件冲突
由于间隔拍数可能有多种方案,如何确定最佳的送 入新任务的拍数,以使流水线有较高的效率。
-
1
*5.3 流水线的调度技术
5.3.1 非线性流水线的静态调度技术
流水线调度采用了1971年D等人提出的二维预约表进行
-
11
图5-30 In-order issue with Out-of-order completion)
按序-无序
12 3 4 56 7 8 9
T
P1: 1 IF1 ID1 L/S WB1 P2: 2 IF2 ID2 RAW FA1 FA2 FA3 WB2
P1: 3
IF1 ID1 MD1 MD2 MD3 WB1
1 1 4 7 10
- 01234567
T(△t)
6
5.4 先进的流水技术
5.4.1 超标量流水线技术-结构(设置多套功能部件)
IF1 ID1 来自指令Cache
IF2 ID2
FA1 FA2 FA3
MD1 MD2 MD3 AL L/S
WB1 WB2
送通用寄存器 或
后行写数栈
-
7
5.4 先进的流水技术
-
3
*5.3 流水线的调度技术
1. 根据预约表写出禁止表F
F={1, 5, 6, 8}
2. 根据禁止表F写出冲突向量C
C=(10110001)
3. 根据原始冲突向量C画出状态转移图
由当前冲突向量Ci求下一个冲突向量Cj Cj=SHR(k)C ∨Ci
状态转移图见P252
4. 根据状态转移图写出调度策略(P253)
P2: 2 IF2 ID2 RAW FA1 FA2 FA3 WB2
P1: 3
IF1 ID1 MD1 MD2 MD3 顺序 WB1
P2: 4
IF2 ID2 部件 FA1 FA2 FA3 WB2
P1: 5 P2: 6
指令
Adder
IF1 ID1 AL 顺序 顺序 顺序 WB1 IF2 ID2 RAW MD1 MD2 MD3 WAW WB2
5.4.1 超标量流水线技术-调度方法
顺序发射与乱序发射
顺序完成与乱序完成

I1: LOAD R1, A I2: FADD R2, R1 I3: FMUL R3, R4 I4: FADD R4, R5 I5: DEC R6 I6: FMUL R6, R7
// 主存单元A → R1 // (R1) + (R2)→R2 // (R3)×(R4)→R3
P2: 4
IF1 ID1 AL 顺序 顺序 顺序 WR1 IF2 ID2 (RAW) MD1 MD2 MD3 (WAW) WR2
-
9
图5-29 In-order issue with In-order completion)
按序-顺序
1 2 3 4 5 6 7 8 9 10 T
P1: 1 IF1 ID1 L/S WB1
*5.3 流水线的调度技术
5.3.1 非线性流水线的静态调度技术
对于非线性流水线来说,由于每功能段之间存在有前馈 和反馈通路,因此一个任务在执行的过程中,可能会多 次通过同一流水段,如果仍要响流水线每隔一拍送入一 个新任务,就会发生几个任务同时争用同一流水段的现 象,这就是功能段的使用冲突。
必须解决两个问题:
根据预约表可以推算出下一个任务的执行时,各段所需 的间隔拍数及最佳调度方案(策略) 1. 根据预约表写出禁止表F 2. 根据禁止表F写出冲突向量C 3. 根据原始冲突向量C画出状态转移图 4. 根据状态转移图写出调度策略 5. 根据所列出的所有调度方案,找出最佳调度方案
下面以表5.22的预约表为例,介绍其过程。
相关文档
最新文档