流水技术与向量处理(5-2)PPT课件
合集下载
第六章 阵列计算机

• 阵列处理机由于存储器的组成方式不同,分为两种基本结构:分布式存储器的阵列机和集 中式共享存储器的阵列机。
前端机 CU
PE PE LM PE LM PE … LM SM
前端机 CU PE … 互连网络 SM PE
互连网络
分布式存储器的阵列机
…
SM
共享存储器的阵列机
• 分布式存储器的阵列机
在此类处理机中,每个PE都有自己的局部存储器LM,LM中存放着为本PE 直接访问的数据。运算中,处理单元间可通过互连网络ICN来进行数据交换。 现在出现的SIMD计算机几乎都是基于分布式存储器模型的系统。各种系 统之间的主要差别在于采用了不同的互连网络。
ILLIAC-Ⅳ的处理单元互连图
PU56 PU63 PU07 PU00 PU08 PU57 PU01 PU09 PU58 PU07 PU15
PU08 PU16
PU55
PU56 PU00
PU57 PU01
PU63 PU07
PU00
在这个阵列中,步距不等于±1或±8的任意单元之间可以用软件寻找最 短路径进行通信,其最短距离不超过7步。例如,信息由PU63送PU10 ,可经 PU63→PU7→PU8→PU9→PU104步实现,信息由PU9送PU45可经 PU9→PU1→PU57→PU56→PU48→PU47→PU46→PU457步实现。普遍来讲, N N N 个处理单元组成的阵列中,任意两个处理单元之间的最短距离不超过
(1)直连—i入连i出,j入连j出
(2)交换—i入连j出,j入连i出 (3)上播—i入连i出和j出,j入 (4)下播—j入连i出和j出,i入悬空。 只有前两种功能的称二功能交换单元,有全部四种功能的称四功能交换单元。
• 拓扑结构
前端机 CU
PE PE LM PE LM PE … LM SM
前端机 CU PE … 互连网络 SM PE
互连网络
分布式存储器的阵列机
…
SM
共享存储器的阵列机
• 分布式存储器的阵列机
在此类处理机中,每个PE都有自己的局部存储器LM,LM中存放着为本PE 直接访问的数据。运算中,处理单元间可通过互连网络ICN来进行数据交换。 现在出现的SIMD计算机几乎都是基于分布式存储器模型的系统。各种系 统之间的主要差别在于采用了不同的互连网络。
ILLIAC-Ⅳ的处理单元互连图
PU56 PU63 PU07 PU00 PU08 PU57 PU01 PU09 PU58 PU07 PU15
PU08 PU16
PU55
PU56 PU00
PU57 PU01
PU63 PU07
PU00
在这个阵列中,步距不等于±1或±8的任意单元之间可以用软件寻找最 短路径进行通信,其最短距离不超过7步。例如,信息由PU63送PU10 ,可经 PU63→PU7→PU8→PU9→PU104步实现,信息由PU9送PU45可经 PU9→PU1→PU57→PU56→PU48→PU47→PU46→PU457步实现。普遍来讲, N N N 个处理单元组成的阵列中,任意两个处理单元之间的最短距离不超过
(1)直连—i入连i出,j入连j出
(2)交换—i入连j出,j入连i出 (3)上播—i入连i出和j出,j入 (4)下播—j入连i出和j出,i入悬空。 只有前两种功能的称二功能交换单元,有全部四种功能的称四功能交换单元。
• 拓扑结构
流水方式

1 2 3 4 5 6…
0
时间
动态流水线时空图
流水线的分类(续)
按数据表示
标量流水:没有向量数据,只能用标量循环 方式来对向量、数组进行处理。
Amdahl 470V/6 IBM 360/91
向量流水:设置有向量指令和向量运算硬件, 能对向量、数组中的各个元素流水地处理。
CRAY-1
器中,其延迟时间和功能切换所需的时间都可以忽略 不计。
x
1
2
y
3
5
z
4
静态多功能流水线
空间
A*B=a1b1+ a2b2+ a3b3+ a4b4
举例1:
用一条4段浮点加法器流水线求8个浮点数的和: Z=A+B+C+D+E+F+G+H
解:Z = [(A+B) + (C+D)] + [(E+F) + (G+H)]
空间
规格化
1234 5 6
7
尾数加
1234 5 6
7
对阶 1 2 3 4 5 6
7
求阶差 1 2 3 4 5 6
7
时间
加数 A C E G A+B E+F
同,加权
m
n * [ i D t i ]
m
i1 m
i * [ D t i ( n 1 ) D t j ]
i1
i1
m
7 .当 i 1时,有: i 1
m
n * [ i D t i ]
m
i1
D ti (n 1)D t j
i 1
顺序流水线与乱序流水线:乱序流水线 又称为无序流水线、错序流水线或异步 流水线等
哈工大—并行处理—第二章流水线处理机和向量处理机

1 2 3 4
T0=m. Δt0
(m-1). Δt0
2 3 4 5 时间
n.Δt0
段数 m=4
第1个任务从流入到流出需要T0=m. Δt0的流水建 立时间;之后每隔Δt0流出一个任务。完成n个任务共 需时间 T= m .Δt0+(n-1). Δt0
实际吞吐率为:
n 1 TP= = m .Δt0+(n-1). Δt0 Δt0(1+ =
m
△ α i· t i)
i =1
α i[ Δt i (n 1)Δt j]
i 1
m
对于复杂的非线性流水线,吞吐率和效率需要通过 画实际的时空图才能用下面两个式子求得:
▲
TP=
任务数n
从开始流入到n个任务全部流出的时间T
η=
N个任务的总的加权时空区 m 个段的总的加权时空区
如果线性流水线各段经过的 tc不等,其中瓶颈的时 间为 tj,则完成几个任务所能达到的实际吞吐率
η1= η2=… ηm=
n△t0 T
=
n =η0 m+n-1
●整个流水线的效率为η=
η1+η2+…+ηm m
= m.n△t0 m.T
=η0
▲
若各段经过时间均相同的线性流水,其效率与吞吐率 是成正比的,即: η=TP·△t0 n>>m时,η才趋近于1
▲如果流水线各段经过的时间不等,各段的效率就会不等。
时
空图
2a
入
1
Δt0
出
2b 2c 3 Δt0 3
Δt0
4
Δt0
空间
4
3 2c
2b 2a
1 1
5W2H工作分析法培训讲授商业PPT专题演示

➢ How much——多少?做到什么程度?数量如何?质量水平如何?费用
春天的风吹过银杏树的枝头,几场春 雨让刚 冒出小 芽的叶 子,长 得郁郁 葱葱。 当我把 这个好 消息告 诉门口 的孩子 们后, 他们便 一个接 一个的 来到我 们家的 花园中 。
产出如何?
02 5 W 2 H 优 势
1、可以准确界定、清晰表述问题,提高工作效率。 2、有效掌控事件的本质,完全地抓住了事件的主骨架,把事件打回原形思 考。
的结果为什么? ➢ When——何时?什么时间完成?什么时机最适 ➢ Where——何处?在哪里做?从哪里入手?
➢ Who——谁?由谁来承担?谁来完成?谁负责?
➢
How——怎么做?如何提高效率?如何实施?方法怎样? 春天的风吹过银杏树的枝头,几场春雨让刚冒出小芽的叶子,长得郁郁葱葱。当我把这个好消息告诉门口的孩子们后,他们便一个接一个的来到我们家的花园中。
WORKING ANALYSIS
METHOD
原理分析
新品设计
任务分配 案例分析
汇报:xxx
Report Person: xxx
目 录
01
5W2H简介
Introduction to 5W2H
02
5W2H原理分析
5W2H principle analysis
03
5W2H设计新产品
春天的风吹过银杏树的枝头,几场春 雨让刚 冒出小 芽的叶 子,长 得郁郁 葱葱。 当我把 这个好 消息告 诉门口 的孩子 们后, 他们便 一个接 一个的 来到我 们家的 花园中 。
3、简单、方便,易于理解、使用,富有启发意义。 4、有助于思路的条理化,杜绝盲目性。有助于全面思考问题.
春天的风吹过银杏树的枝头,几场春 雨让刚 冒出小 芽的叶 子,长 得郁郁 葱葱。 当我把 这个好 消息告 诉门口 的孩子 们后, 他们便 一个接 一个的 来到我 们家的 花园中 。 春天的风吹过银杏树的枝头,几场春 雨让刚 冒出小 芽的叶 子,长 得郁郁 葱葱。 当我把 这个好 消息告 诉门口 的孩子 们后, 他们便 一个接 一个的 来到我 们家的 花园中 。
《流水施工原理》PPT课件 (2)

h
43
h
44
3、平行搭接时间(或提前插入时间)
平行搭接时间
① ①
①
在组织流水施工时,有时为了 缩短工期,在工作面允许的条件 下,如果前一个施工队完成部 分施工任务后,能够提前为后一 个施工队提供工作面,使后者 提前进入前一个施工段,两者在 同一施工段上平行搭接施工的搭 接时间.通常以C i,i+1表示。
h
12
2)图例
h
13
3)优缺点
平行施工的 优点
充分利用了工作面, 可以缩短工期。
平行施工的缺 点
不能实现专业化生产,不利于提高 工程质量和劳动生产率。
专业工作队不能连续作业。 单位时间投入施工的资源量成倍增 加,现场各项临时设施芤相应增加。 现场施工、管理、协调、调度复杂。
平行施工 适用
工期要求紧,大规模的建筑 群及分批分期组织施工的工程 任务。
h
39
1)定额计算法
Qi
Pi
ti=
=
Si RiNi Ri Ni
或 Qi Hi
ti= Ri Ni
Pi =
Ri Ni
式中:ti——某施工过程的流水节拍; Qi——某施工过程在某施工段上的工程量; Si——某施工队组的计划产量定额; Hi——某施工队组的计划时间定额; Pi——在一施工段上完成某施工过程所需的劳动量(工日数)或机械台
h
20
3流水施工的表达方式
1)横道图表示法 2)网络图表示法
h
21
1)横道图表示法
图中:
横坐标表示流水施工持续时间,即施工进度;
纵坐标表示施工过程的名称及编号;
n条带有编号的水平线段,①、②‥‥‥表示不同
流水线CPU技术获奖课件

FD
I E E EW
⑧
F
D
I E E EW
(b)8 条指令顺序
(c)8 条指令的流水线
图 4-12 流水线的相关延迟
指令发射:开启指令去处理器功能单元执行旳过程
静态调度:编译检测
编译器优化后,所需时间为
17个时钟周期 ① R1←M(Y)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
(R1)×(R2)->R3 (R4) + (R5)->R3
局部性有关:数据有关
(1) I1: ADD R1,R2,R3 ; I2: SUB R4,R1,R5 ;
(R2) + (R3)->R1 (R1) - (R5)->R4
第(1)组指令中,I1指令运算成果应先写入R1,然 后在I2指令中读出R1内容。因为I2指令进入流水线, 变成I2指令在I1指令写入R1前就读出R1内容,发生 RAW(写后读)有关。
② 增设一种存储器,将指令和数据分开存储;
③ 采用双端口存储器。
局部性有关:数据有关
在程序中,一条指令旳执行需等前一条指令执行完后才 干进行,则有数据有关。
例:SUB R1,R2,R3;(R2)(R3) R1
ADD R4,R1,R5;(R1)(R5) R4
时钟 1 2 3 4
指令
SUB 取指 译码 取数 执行
图 4-15 基于计分牌发射逻辑的流水线调度过程
动态调度-计分牌法
记分牌旳缺陷 依托流水线停止来处理有关性 没有消除数据有关 集中式调度
记分牌部件是性能瓶颈
动态调度-保存站法
FD
RS
RS
E
E
第4章 流水技术与向量处理

2018/11/17 13
3.同步 分析与执行所需的时间不同,要求的是一次 重叠 一 次 重 叠 : 任 何 时 间 都 是 “ 分 析 K+1” 与 “执行K”的重叠 =>相邻两条指令的重叠
分析K 执行K 分析K+1 执行K+1
T=(n+1)t
2018/11/17 14
4.转移
无条件转移 / 条件转移 当转移成功时,重叠预 取无效,变为顺序执行 应尽可能不使用或少使用条件转移指令
2018/11/17 23
3、流水线的预约表
时间 流水段
1
X
2
3
4
X
5
6
7
X
S1 S2
X
X
S3
S4
X
X
X
2018/11/17
24
三、流水线工作方式
1、流水线的结构
流水线的基本结构中主要包括三大部分:锁存器、时钟、 功能段。
流水线中每个段都是由一些执行算术和逻辑功能的组合逻 辑线路组成的,它们可以互相独立地对流过的信息进行某种操 作,相邻两站由高速锁存器( latch )隔开,信息在各段间的 流动靠同时送到各站的时钟信号来控制。
2018/11/17 7
指令的重叠解释与先行控制
• 计算机系统中广泛存在着重叠工作方式 • 指令的解释方式一般只有三种:顺序、 重叠和流水 • 重叠和流水给指令的执行带来了高的吞 吐率和加速比,同时也给系统增加了障 碍
2018/11/17
8
指令的解释过程
ALU LOAD/STORE
取指
译码、读寄存器堆
5.相关
邻近指令之间出现某种关联,为避免出错而不 能同时执行的现象。
3.同步 分析与执行所需的时间不同,要求的是一次 重叠 一 次 重 叠 : 任 何 时 间 都 是 “ 分 析 K+1” 与 “执行K”的重叠 =>相邻两条指令的重叠
分析K 执行K 分析K+1 执行K+1
T=(n+1)t
2018/11/17 14
4.转移
无条件转移 / 条件转移 当转移成功时,重叠预 取无效,变为顺序执行 应尽可能不使用或少使用条件转移指令
2018/11/17 23
3、流水线的预约表
时间 流水段
1
X
2
3
4
X
5
6
7
X
S1 S2
X
X
S3
S4
X
X
X
2018/11/17
24
三、流水线工作方式
1、流水线的结构
流水线的基本结构中主要包括三大部分:锁存器、时钟、 功能段。
流水线中每个段都是由一些执行算术和逻辑功能的组合逻 辑线路组成的,它们可以互相独立地对流过的信息进行某种操 作,相邻两站由高速锁存器( latch )隔开,信息在各段间的 流动靠同时送到各站的时钟信号来控制。
2018/11/17 7
指令的重叠解释与先行控制
• 计算机系统中广泛存在着重叠工作方式 • 指令的解释方式一般只有三种:顺序、 重叠和流水 • 重叠和流水给指令的执行带来了高的吞 吐率和加速比,同时也给系统增加了障 碍
2018/11/17
8
指令的解释过程
ALU LOAD/STORE
取指
译码、读寄存器堆
5.相关
邻近指令之间出现某种关联,为避免出错而不 能同时执行的现象。
《流水施工原理》PPT课件

13.3.3 流水节拍 (ti)
13.3.4 流水步距 (k) 13.3.5 流水施工工期 (T)
精选ppt
27
13.3.4 流水步距 (k)
相临两个施工过程在同一施工段上开始工作 的时间间隔。
当k=t 时,前一过程结束,后一过程开始 当k>t 时,工作面会闲置;
当k<t 时,相临两施工过程会出现搭接。
例:m < n 的流水作业状况
没楼板?
2 4 6 8 10 墙 梁 板
精选ppt
21
13.3.2 施工段数 (m)
施工段划分原则: (1)各施工段劳动量大致相等;
(2)多层结构应: 施工段数≥施工过程数 m≥n; m < n 的流水作业状况
2 4 6 8 10 墙
梁
板
队组不能连续工作
精选ppt
22
13.6 流水施工组织案例
精选ppt
3
13.1 流水施工基本概念
将施工作业面划分成若干个施工区段, 不同的施工队组,依次在各施工区段上 完成各自的施工内容。整个施工过程表 现出连续性、均衡性的特征。
精选ppt
4
第 13 章 流水施工原理
13.1 流水施工基本概念
13.2 流水施工指示图表
13.3 流水施工参数
13.3.1 施工过程数 (n) 13.3.2 施工段数 (m)
13.3.3 流水节拍 (ti)
13.3.4 流水步距 (k) 13.3.5 流水施工工期 (T)
精选ppt
18
13.3.1 施工过程数 (n)
分项工程 施工过程可以是: 分部工程
单位工程。
划分依据:
施工复杂程度划分施工过程数; 主要保证主导施工过程按流水作业。
13.3.4 流水步距 (k) 13.3.5 流水施工工期 (T)
精选ppt
27
13.3.4 流水步距 (k)
相临两个施工过程在同一施工段上开始工作 的时间间隔。
当k=t 时,前一过程结束,后一过程开始 当k>t 时,工作面会闲置;
当k<t 时,相临两施工过程会出现搭接。
例:m < n 的流水作业状况
没楼板?
2 4 6 8 10 墙 梁 板
精选ppt
21
13.3.2 施工段数 (m)
施工段划分原则: (1)各施工段劳动量大致相等;
(2)多层结构应: 施工段数≥施工过程数 m≥n; m < n 的流水作业状况
2 4 6 8 10 墙
梁
板
队组不能连续工作
精选ppt
22
13.6 流水施工组织案例
精选ppt
3
13.1 流水施工基本概念
将施工作业面划分成若干个施工区段, 不同的施工队组,依次在各施工区段上 完成各自的施工内容。整个施工过程表 现出连续性、均衡性的特征。
精选ppt
4
第 13 章 流水施工原理
13.1 流水施工基本概念
13.2 流水施工指示图表
13.3 流水施工参数
13.3.1 施工过程数 (n) 13.3.2 施工段数 (m)
13.3.3 流水节拍 (ti)
13.3.4 流水步距 (k) 13.3.5 流水施工工期 (T)
精选ppt
18
13.3.1 施工过程数 (n)
分项工程 施工过程可以是: 分部工程
单位工程。
划分依据:
施工复杂程度划分施工过程数; 主要保证主导施工过程按流水作业。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
-
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 先进的流水技术
P2: 4
若一个非线性、单功能流水线,由S段组成,每个任务 流过流水线需N个时钟周期(t1,t2,…,tn),以段为纵坐 标,以时间为横坐标,就可以画出流水线的预约表。如
St 1 2 3 4 5 6 7 8 9
1√
√
2
√√
√
3
√
4
√√
5
√√
-
2
*5.3 流水线的调度技术
5.3.1 非线性流水线的静态调度技术
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
-
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 先进的流水技术
当前一个任务流入流水线后,后继任务需要间隔多 少拍进入流水线,才不会引起功能部件冲突
由于间隔拍数可能有多种方案,如何确定最佳的送 入新任务的拍数,以使流水线有较高的效率。
-
1
*5.3 流水线的调度技术
5.3.1 非线性流水线的静态调度技术
流水线调度采用了1971年D等人提出的二维预约表进行
上图的说明:
• 指令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 超标量流水线技术-调度方法
顺序发射与乱序发射
顺序完成与乱序完成
例
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
*5.3 流水线的调度技术
5.3.1 非线性流水线的静态调度技术
对于非线性流水线来说,由于每功能段之间存在有前馈 和反馈通路,因此一个任务在执行的过程中,可能会多 次通过同一流水段,如果仍要响流水线每隔一拍送入一 个新任务,就会发生几个任务同时争用同一流水段的现 象,这就是功能段的使用冲突。
必须解决两个问题:
// (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
-
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)
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 12ID 2ຫໍສະໝຸດ 2 5 8 111
1 4 7 10
3 3 6 9 12 IF 2 2 5 8 11
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
根据预约表可以推算出下一个任务的执行时,各段所需 的间隔拍数及最佳调度方案(策略) 1. 根据预约表写出禁止表F 2. 根据禁止表F写出冲突向量C 3. 根据原始冲突向量C画出状态转移图 4. 根据状态转移图写出调度策略 5. 根据所列出的所有调度方案,找出最佳调度方案
下面以表5.22的预约表为例,介绍其过程。
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
-
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 先进的流水技术
P2: 4
若一个非线性、单功能流水线,由S段组成,每个任务 流过流水线需N个时钟周期(t1,t2,…,tn),以段为纵坐 标,以时间为横坐标,就可以画出流水线的预约表。如
St 1 2 3 4 5 6 7 8 9
1√
√
2
√√
√
3
√
4
√√
5
√√
-
2
*5.3 流水线的调度技术
5.3.1 非线性流水线的静态调度技术
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
-
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 先进的流水技术
当前一个任务流入流水线后,后继任务需要间隔多 少拍进入流水线,才不会引起功能部件冲突
由于间隔拍数可能有多种方案,如何确定最佳的送 入新任务的拍数,以使流水线有较高的效率。
-
1
*5.3 流水线的调度技术
5.3.1 非线性流水线的静态调度技术
流水线调度采用了1971年D等人提出的二维预约表进行
上图的说明:
• 指令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 超标量流水线技术-调度方法
顺序发射与乱序发射
顺序完成与乱序完成
例
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
*5.3 流水线的调度技术
5.3.1 非线性流水线的静态调度技术
对于非线性流水线来说,由于每功能段之间存在有前馈 和反馈通路,因此一个任务在执行的过程中,可能会多 次通过同一流水段,如果仍要响流水线每隔一拍送入一 个新任务,就会发生几个任务同时争用同一流水段的现 象,这就是功能段的使用冲突。
必须解决两个问题:
// (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
-
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)
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 12ID 2ຫໍສະໝຸດ 2 5 8 111
1 4 7 10
3 3 6 9 12 IF 2 2 5 8 11
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
根据预约表可以推算出下一个任务的执行时,各段所需 的间隔拍数及最佳调度方案(策略) 1. 根据预约表写出禁止表F 2. 根据禁止表F写出冲突向量C 3. 根据原始冲突向量C画出状态转移图 4. 根据状态转移图写出调度策略 5. 根据所列出的所有调度方案,找出最佳调度方案
下面以表5.22的预约表为例,介绍其过程。