- 2
- 0
- 约小于1千字
- 约 10页
- 2026-07-26 发布于江苏
- 举报
非线性流水线的冲突
问题:向非线性流水线仍每隔一拍送入一种新任务,会发生什么现象?
流水线的冲突:几个任务争用同一种流水段
流水线的开启距离:向流水线连续输入两个任务之间的时间间隔
;预约表;第3页;无冲突调度方法
?非线性流水线的禁止向量:
预约表中每一行任意两个“×”之间的距离都计算出来,去掉重复的。相邻的两个任务进入流水线引发冲突的间隔拍数。
例如,如图所示的预约表的禁止向量为(3,4,6)
?由禁止向量得到冲突向量:C=(CnCn-1…C2C1)
其中:n是禁止向量中的最大值。Cn总为1
假如i在禁止向量中,则Ci=1,否则Ci=0。
例如:对于上面的预约表,C=(101100)。;由冲突向量结构状态图:
把冲突向量送入一种n位逻辑右移移位器;假如移位器移出0,用移位器中的值与初始冲突向量作“按位或”运算,得到一种新的冲突向量;否则不作任何处理;如此重复n次。
对于中间形成的每一种新的冲突向量,也要按照这一方法进行处理。
在初始冲突向量和所有的新形成的冲突向量之间用带箭头的线连接,当新形成的冲突向量出现重复时能够合并到一起。;;采用状态图中任何一种闭合回路来进行调度,都不会冲突。最小的平均间隔拍数为最正确调度。
最正确调度为(1,7)和(3,5)。平均开启距离为4。
开启距离最
原创力文档

文档评论(0)