非线性流水线调度算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S1
X1
X1
X2
X1
X2
X3 …
S2
X1
X1
X2
X2
…
S3
X1
X1
X2
X2 …
S4
X1
X2
…
启动周期
重复启动周期
启动距离为(1,7)循环时的流水线预约表
时间 功能段
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 …
S1
X1 X2
X1 X2
X1 X2 X3 X4
X3 X4
X3 X4 …
S2
时间 功能段
1
2
3
4
5
6
7
8 9 10 11 …
S1 X1
S2
X1
X1X2 X1X2
X1X2X3 33 X2X3
X2X3X4
…
X3X4 …
S3
X1
X2 X1
X3 X2
X4 …
S4
X1
X2
X3
…
2
Company Logo
启动距离为 5 时的流水线不冲突
时间 功能段
1
2
3
4
5
6
7
8 9 10 11 …
X2
X1
X3 X2
X4
X3 …
S2
X1
X2 X1
X2 X3
X4 X3
…
S3
X1
X1 X2
X2
X3
X3 X4
…
S4
X1
X2
X3
X4 …
启动周期
重复启动周期
时间 功能段
1
2
S1
X1 X2
最小启动循环(1,7)的流水线工作状态 3 4 5 6 7 8 9 10 11 12 13 14 15 …
X1 X2 X3
X3 X2
…
S2
X1
X1 X2
X2 X3
…
S3
X1
X1
X2
X2
X3
X3 …
S4
X1
X2
X3
…
启动周期
重复启动周期
9
Company Logo
Thank you
Company Logo
6
Company Logo
采用状态图中任何一个闭合回路来进行调度,都不 会冲突。最小的平均间隔拍数为最佳调度。
简单循环 (1,7) (3,7) (5,7) (3,5,7) (5,3,7) (3,5)
(5) (7)
平均启动距离 4 5 6 5 5 4 5 7
7* 101010
7* 1 111111
5
×
4
Company Logo
由冲突向量构造状态图: 把冲突向量送入一个n位逻辑右移移位器;如果移位器移出0,用移位
器中的值与初始冲突向量作“按位或”运算,得到一个新的冲突向量;否 则不作任何处理;如此重复n次。
对于中间形成的每一个新的冲突向量,也要按照这一方法进行处理。 在初始冲突向量和所有的新形成的冲突向量之间用带箭头的线连接, 当新形成的冲突向量出现重复时可以合并到一起。
时间 功能段
1
2
3
4
5
6
7
S1
X
X
S2
X
X
S3
X
X
S4
X
禁止向量为:(2,4,6)
初始冲突向量:101010
5
7* 101010
7* 1 111111
5
3
7* 7*
101111
5
3
101011
5 非线性流水线的状态图 Company Logo
• 预约表对应唯一冲突向量 -> 对应唯一状态图。 • 不同的预约表也可能有相同的状态图。 • 初始冲突向量决定调度。 • 单纯由图的角度分析最佳调度: • 无限长路径中平均边权最小的路径 • 状态图中平均边权最小的循环
例如,如图所示的预约表的禁止向量为(3,4,6)
• 由禁止向量得到冲突向量:C=(CnCn-1…C2C1) 其中:n是禁止向量中的最大值。Cn总为1 如果i在禁止向量中,则Ci=1,否则Ci=0。 例如:对于上面的预约表,C=(101100)。
时间 功能段
1
2
3
4
5
6
7
S1
×
×
×
S2
×
×
S3
×
×
S4
X4
X3 …
S2
X1 X2
X1 X2
X3
X4 X3
…
S3
X1 X2 X1 X2
X3
X3 X4
…
S4
X1 X2
X3
X4 …
启动周期
重复启动周期
8
Company Logo
时间 功能段
1
2
S1
X1
恒定启动循环(5)的流水线工作状态 3 4 5 6 7 8 9 10 11 12 13 14 15 …
X2 X1
3
7* 7*
101111
5
3
101011
5 非线性流水线的状态图
最佳调度为(1,7)和(3,5)。平均启动距离为 4。
启动距离最小的等间隔调度(5)。
7
Company Logo
时间 功能段
1
2
S1
X1
最小启动循环(3,5)的流水线工作状态 3 4 5 6 7 8 9 10 11 12 13 14 15 …
X1 X2
X1 X2
X3 X4
X3 X4wenku.baidu.com
…
S3
X1 X2
X1 X2
X3 X4
X3 X4
…
S4
X1 X2
X3 X4
…
启动周期
重复启动周期
3
Company Logo
无冲突调度方法 • 非线性流水线的禁止向量:
预约表中每一行任意两个“×”之间的距离都计算出来,去 掉重复的。相邻的两个任务进入流水线引起冲突的间隔拍数。
•
非线性流水线的冲突
• 问题:向非线性流水线仍每隔一拍送入一个新任务,
会发生什么现象?
• 流水线的冲突:几个任务争用同一个流水段
• 流水线的启动距离:向流水线连续输入两个任务之间
的时间间隔
1
Company Logo
预约表
时间 功能段
1
2
3
4
5
6
7
S1
×
×
×
S2
×
×
S3
×
×
S4
×
启动距离为 3 的流水线冲突情况