| 5.3 调度技术 5.3.4 列表调度算法 列表调度( list scheduling )算法是一种构造型调度算法。它按顺序从第一个控制步开始直到最后一个控制步逐步进行调度,每次仅考虑一个控制步的调度。对于当前控制步,构造一个就绪队列,将当前控制步中可以执行的操作存放于该队列中。这些当前可以执行的操作称为数据就绪操作,他们所需的输入数据在前面的控制步中已经产生,在当前控制步中可以被引用。就绪队列中的操作依照某种优先级函数排序。在满足硬件资源约束的条件下,具有最高优先级的操作被调度到当前控制步中,然后修改就绪队列,重复上述调度过程直到没有操作可以被调度到当前控制步中为止。此后,把下一个控制步作为当前控制步,重复上述过程直到所有操作都被调度为止。 最常用的优先级函数主要考虑以下2个因素: ·调度区间最小的操作优先调度; ·处于最长路径上的操作优先调度。 |