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