论文部分内容阅读
随着社会的不断发展,现在的计算机系统需要处理的数据量越来越大,这使得传统的CPU系统已不能满足应用的要求。虽然当前主流的多核处理器能够在单芯片上集成很多核,将来数量还会继续增加,但是由于其通用性设计的要求,这种方法也难以满足计算密集型应用的高性能计算要求。ASIC(专用集成电路)能够极大地提高运算速度,将其集成到处理器中能够提高处理器对特定应用的处理速度,但是,这种方法对特定应用以外的应用却无法起到加速作用,缺乏灵活性。作为专用集成电路领域的一种半定制电路,FPGA(Field-Programmable Gate Array:现场可编程门阵列)既克服了ASIC灵活性不足以及其他可编程器件门电路数少的缺点,又保持了硬件应有的高效能优点。随着生产工艺的进步,FPGA在数字电路设计领域逐步从辅助部件到了核心处理器,而基于SRAM的FPGA的出现则标志着可重构计算系统的到来。可重构计算系统一般由通用处理器和可重构处理单元(通常为FPGA)两部分组成。可重构计算系统可以既在计算速度方面远高于通用处理器又能保持远高于ASIC的灵活性,并且硬件可重构技术在动态局部可重构,多配置上下文结构等方面的发展也为其带来了更高的灵活性和实用性。由于兼具软件的灵活性和硬件的高效能,可重构计算无论是在高性能计算领域还是嵌入式智能终端领域都扮演着日益重要的角色。与软件不同的是,在可重构计算过程中会产生额外的重构过程,而这个重构过程会带来额外的时间和能耗的消耗,这使得可重构计算系统的任务调度和基于CPU的软件调度有着不同的特点。因此,如何在基于FPGA和CPU的异构系统中,如何进行高效的任务调度显得尤为重要。相关文献表明,目前针对这一问题的研究集中在时间优化上,为此本文提出了一种既能进行时间优化又能进行能耗优化的算法即TEO(Time and Energy Optimization)算法。在该算法中,通过合理设置不同的参数,可以控制调度过程,改变调度结果,这也增加了该算法的灵活性。实验结果显示,TEO算法在能耗减少22.1%的情况下,相应的执行时间只比最优时间增加了15.7%。