第五章 标量处理机

  状态图5.18中的所有简单循环均包括在表5.1中,共有8个简单循环。在表5.1中,还分别计算出了这些简单循环的平均启动距离。

表5.1 所有的简单循环及其平均启动距离

简单循环
平均启动距离
(1,7)
4
(3,5)
4
(5,7)
6
(3,5,7)
5
(5,3,7)
5
(3,5)
4
(5)
5
(7)
7

  (3)从表5.1中可以很容易找到平均启动距离最小的启动循环,这样的启动循环被称为最小启动循环。在状态图5.18中的最小启动循环是(1,7)或(3,5),其平均启动距离是4。当非线性流水线按照最小启动循环(1,7)工作时,在向流水线输入第1个任务之后,在紧接着的下一个时钟周期向流水线输入第2个任务,然后再相隔7个时钟周期(时钟周期9),向流水线输入第3个任务,如此重复。按照最小启动循环连续向流水线输入新任务,则流水线的各个流水段在任何时钟周期都不会发生冲突。
  这条非线性流水线按照最小启动循环(3,5)工作时,它的流水线状态图如图5.20所示。按照最小启动循环(1,7)工作时,它的流水线状态图如图5.21所示。

  (4)图5.20和图5.21是不等间隔的流水线调度方法,它的控制比较复杂。为了简化流水线的控制逻辑,也可以采用相等间隔的调度方法,即采用恒定循环来启动流水线。从表5.1中可以看出,启动距离最小的恒定循环是(5)。按照恒定循环(5)工作的流水线预约表如图5.22所示。