论文部分内容阅读
可重构计算技术结合了通用处理器(General-Purpose Processor,GPP)和专用集成电路(Application Specific Integrated Circuits,ASIC)两者的优点,能够提供硬件的高效性和软件的可编程性,是当前热门的研究课题之一。动态部分可重构技术是可重构计算技术的最新进展之一,该技术能够在可重构系统正常工作的情况下,配置其中部分可重构资源,使得一部分任务的执行能够与另一部分任务的配置同时进行,具有节约硬件资源和增强系统灵活性的优点。在动态可重构系统中,如何管理芯片上的空闲资源和在线分配可重构计算资源,成为影响动态可重构系统性能的关键因素之一。为了尽量降低硬件任务的拒绝率,减少整体任务的运行时间,提高可重构资源的面积利用率,使系统的性能达到最优和次优,这需要采用高质量的放置和调度算法来对硬件任务进行合理的管理和调度。本文针对实时任务在二维可重构器件上的在线放置和调度问题,主要完成了以下工作:(1)提出了一种针对动态可重构系统的基于已放置任务三维邻接面(3D_Adj_Sur)的放置算法。该算法采用顶点链表的任务管理方法,以到达任务与已放置任务的邻接面最大化为目标,从所有可行的位置顶点中,选择最佳顶点来放置任务。(2)提出了一种基于顶点链表的Look-aheadest调度算法。该算法考虑在任务到达时间后的一段时间内,通过模拟任务的开始和结束,获取代价函数值最大的放置顶点和启动时间,从而使得任务更加整齐、紧密的放置,模拟时间一直持续到任务的截止时间。仿真试验结果表明,在可接受的运行开销内,Look-aheadest算法提高了芯片面积利用率并且降低了任务的拒绝率。(3)设计了一个支持软硬件透明编程模型的原型系统,然后在移植的Linux操作系统内实现了所提原型系统的可重构资源管理器,该资源管理器能够对硬件函数的动态配置与运行状态等进行统一管理,最后通过对实验室开发的硬件函数库进行测试,验证了设计和实现的正确性。