论文部分内容阅读
随着基于可重构计算技术的FPGA器件等的快速发展和应用,可重构计算系统已成为研究领域和工业界关注的热点。在计算密集型的高性能计算应用领域,业界已经充分认识到可重构计算的具有巨大潜力。可重构器件集高效的计算性能,易于修改和可以反复使用等优良的特性于一身,不仅对当前的高性能计算领域有重大的影响,也迫切需要操作系统能够支持动态可重构资源的实时混合调度,以更好地发挥其优势。然而,在动态可重构系统中,运行在嵌入式处理器上的软件任务和运行在FPGA上的硬件任务作为两个独立的部分,缺乏统一的管理机制,此外,传统的软硬件对其支持的局限性也极大地限制了这种技术的普及应用。因此能够对上层用户提供统一的软硬件编程接口就成为了迫切需要解决的问题。针对这个问题,本论文设计了一个硬件任务的通用模型,该模型对上层软件提供统一的接口,便于上层软件对其进行进一步封装,从而给上层的用户在系统开发时提供了极大的便利。负责重配置硬件任务比特流的下载器是支持可重构计算的混合系统中的另一个重要的组成部分。传统下载器使用软件控制整个下载过程,并且CPU必须全程参与数据的搬运过程,效率非常低下,从而影响了整个系统的效率。本系统针对传统下载器存在的问题,对传统下载器进行了改进。将传统下载器中耗时的数据搬运部分改由硬件DMA实现,从而减轻整个系统中CPU的负担,使得CPU可以将更多的时间用于软件任务的处理当中,提高了系统整体的效率。本论文使用硬件任务的通用模型将AES加密算法进行了封装,以验证硬件任务模型的可行性,并通过实验将硬件任务实现的AES加密算法与软件实现的AES加密算法进行效率比较,以验证诸如AES加密算法等计算密集型任务用硬件任务实现的巨大优势。此外,本文还通过对比实验的方式从下载效率和CPU占用时间两个方面对本文实现的下载器和传统下载器进行对比,验证了本论文设计的硬件下载器的高效性。