|
知识路径: > 嵌入式系统的项目开发与维护知识 > 系统设计知识 > 软硬件协同设计方法 > 并行系统任务流图的软硬件系统设计方法 >
|
相关知识点:3个
|
|
|
|
多个、并行的系统任务可以由多个并行的系统任务流图来表示。与多分支系统任务的最大区别是各单位流图在时间上并行,因此,不能进行合并。一个多并行系统任务流图的软硬件协同设计方法是非常复杂的(NP完全问题)。
|
|
|
一个多并行系统的芯片架构上通常需要包含多个微处理器及与之相应的互连结构。采用多处理器的理由如下:
|
|
|
(1)每个处理器都需要通过软件编程来完成某种实际的任务,由此多处理器的使用从本质上是使芯片能够支持多用途。以处理器群为主的芯片架构设计本质上是一个通用平台的架构设计。
|
|
|
(2)多处理器从本质上成倍增加了系统任务的并行性,更适合运行一个多并行系统任务流图。
|
|
|
多处理器为子任务的并行分配提供了极大的空间和选择余地,但也为采用怎样的算法来进行多并行系统任务流图在多处理器群的合理任务分配和调度带来了难题。并行的每个任务流图中的每个子任务结点分配到某个硬件处理器上运行且能满足其性能需求。对每个单任务流图中的每个子任务结点,主要考虑如何分配及如何调度,即分配到哪个处理器上运行,何时在所选的处理器上运行。分配的因素包括:哪个处理器对该结点的执行速度最快;哪个处理器的总任务列表比较空闲;与该结点有连线关系的相邻结点被分配在哪个处理器上(关系到数据传输延迟)。这样复杂的问题解决方法通常是启发式算法,如遗传算法、模拟退火、神经网络、禁忌算法等,即使不保证最优解,也可以尽量保证在限定的计算机时间内得到尽可能优的解。
|
|
|