| 1.调度的基本概念 调度是将操作赋给执行过程中的某一时间段。在同步系统中,执行时间用控制步表示,一个控制步是一个基本时间单位,对应一个(或多个)时钟周期。调度的目标在于:在满足给定的约束条件下,将算法级行为描述中的各个操作赋给相应的控制步,使得给定的目标函数最小。这个目标函数主要包括延时、功耗和芯片面积等参数。 调度算法必须考虑控制数据流图中的控制结构(如循环、条件分枝等)、数据相关性和硬件本身的约束。同步系统中,硬件本身的约束是指每个硬件模块在同一控制步中最多只能使用一次。例如,寄存器每次只能存储一个值(数据),组合逻辑功能单元每次只能执行一个操作,总线每次只能传载一个值(数据)等。 求解约束条件下的最优解问题是一个NP难题。由于调度问题和高层次综合中其他任务之间的紧密相关性,它被认为是高层次综合中的一个重要部分。在用户给出时间约束的条件下,调度问题变得更为重要,因为调度决定了高层次综合结果是否满足时间约束。 2.调度与时间因素和资源因素的关系 调度问题与高层次综合其他部分之间有较强的相互作用,这是因为调度对设计中的2个主要因素起着重要作用: (1)时间因素,包括整个数字系统的运算速度、关键路径与指定路径的延时、各操作的完成时间等。 (2)资源因素,即所需的功能单元、寄存器、互连线路等硬件资源。 对调度来说,时间约束和资源约束条件也相互制约,图5.9给出一般情况下时间因素和资源因素与调度结果之间的关系。 调度决定了数字系统各操作之间的串行和并行的折衷,也就是近似地决定了数字系统的性能价格比。如果设计者给定了时间约束条件,调度算法将设法使操作有效地并行执行,以尽可能少的硬件资源来满足给定的时间约束。同样,如果设计者给定了硬件资源约束,调度算法将在满足资源约束的条件下,以最快的速度完成各操作。
3.操作的调度类型
|