在控制数据流图中,操作的执行顺序应该严格遵循数据相关性关系。而除汇聚结点射出的反馈边(用于循环控制)之外的其他控制相关性关系,并不严格地规定操作的执行顺序。这主要是指条件分枝中的操作可以在分枝条件确定前执行,即条件分枝中的操作可以移出条件分枝。
  图5.34(a)是一个具有条件分枝的控制数据流图。该例子的硬件约束条件为:1个加法器,1个实现减法与比较操作的功能单元{-,<}。调度结果显示需要6个控制步才能完成。如果考虑把操作5与操作6移出条件分枝,使他们在分枝条件确定之前(即操作2完成之前)开始执行,则只需5个控制步即可实现,如图5.34(b)所示。
  应该注意的是:若操作移出条件分枝在条件操作之前执行,则该操作就不再属于这个条件分枝,无论条件分枝处于那一枝该操作都必须执行。即该操作条件向量相应于这个分枝条件的元素取值为X。

图5.34 将操作从条件分支中移出


  操作从条件分枝中移出的利弊分析:
   利:移出条件分枝有可能使该操作被调度到较早的控制步,有可能导致控制步总数的减少。
   弊:减少了与其他分枝上的操作形成互斥而共享功能单元的机会。。
  对于某一特定问题,操作移出条件分枝带来的是利还是弊要作具体分析。