可重构嵌入式系统软硬件划分及任务调度算法研究
【摘要】:
近年来,嵌入式系统越来越复杂,功能越来越多,性能越来越高,开发周期越来越短,并且随着大规模集成电路设计与制造技术的进步和以FPGA为代表的可重构硬件的快速发展,尤其是动态部分重构技术的出现,大量的可重构器件被应用到嵌入式系统中。可重构技术的发展使过去传统意义上硬件和软件的界线变得模糊,让硬件系统软件化,增加了系统设计和实现的灵活性。然而,可重构结构在成为嵌入式系统发展的重要方向的同时,也给嵌入式系统软硬件协同设计方法学带来了新的挑战,传统嵌入式系统的软硬件划分方法并不适用于可重构嵌入式系统。
根据可重构硬件逻辑带来的动态重构和重构延迟等新特性,论文在分析总结现有软硬件划分算法的基础上,提出了一种适用于可重构嵌入式系统的任务划分和任务调度方法。该方法首先对可重构嵌入式系统进行结构建模,接着将一个大规模应用分解成具有约束关系且粒度大小合适的多个子任务,并按照各个任务之间执行先后的顺序约束,构造出一个表示任务约束关系的有向无环图。然后在可重构系统的资源约束等条件下,采用遗传/禁忌搜索(GATS)融合的策略,将任务图描述的特定应用映射到软硬件平台上,即实现软硬件划分中的任务指派过程。再运用配置预取策略、基于优先级的任务调度方法去确定被分配到可重构系统内每个处理单元上任务和通信的开始执行时间和顺序,进而使应用的划分结果满足系统任务之间的控制和数据依赖关系,最终使系统的性能得以提高。
论文最后搭建了实验平台并编写了相应的测试程序。测试结果表明, GATS在求解精度上大大优于GA和TS,配置预取和调度能够有效降低系统的配置准备时间,进而减小了任务图的整体完成时间,有效实现了应用任务图到可重构系统的时空映射。