论文部分内容阅读
可重构片上系统(Reconfigurable System-on-Chip,RSoC)通常包含微处理器、可重构计算单元、存储器等。其中微处理器用来执行顺序和非临界代码,而具有高度并行性或计算密集的应用可置于可重构单元上通过硬件加速器实现。这种微处理器和可重构硬件模块的混合结构,兼顾了通用微处理器的灵活性与专用集成电路的高效性,被认为是可以满足未来嵌入式计算的一种极具竞争力的技术解决方案。在可重构片上系统中,硬件资源不同于传统理解中那样固定不变,而是像软件一样可以灵活配置,因而缩小了软硬件之间的差异,增进了其间的交融程度。但在增强系统性能的同时也带来了设计上的困难。设计人员需要详细了解硬件接口细节,管理硬件加速器的配置,制定软硬件通信方法,从而增加了系统设计的复杂度,难以实现高效、可靠的设计流程。针对上述问题,本文研究并实现了一种支持过程级硬件透明编程的可重构片上系统。在该系统中,硬件模块被封装成函数的形式,并根据应用特点归类成硬件函数库提供给设计者,使其能简单方便地通过软件高级语言调用功能实现系统描述。为了增强硬件函数的可移植性,对硬件函数进行了模块化的封装,把硬件函数中与底层硬件及操作系统密切相关的部分提取出来设计为单独的模块。在应用中,我们在Linux内核增加了可重构资源管理器与硬件函数驱动管理器模块,以便对硬件函数的动态配置及底层驱动与运行状态等进行统一管理。针对Xilinx Virtex-II Pro系列FPGA建立了一个可靠的,模块化的动态部分重构系统设计流程,包括建立初始硬件平台、静态与重构模块的划分与设计、模块激活与系统集成等步骤。最后选择在Xilinx Virtex-II Pro XC2VP30平台上设计实现了一个主面向图形图象应用领域的动态部分可重构原型系统。为了对整套方案进行验证,通过运行硬件函数实例对原型系统进了性能测试。实验证明,该系统能够较好地支持过程级的硬件透明编程,设计人员不用了解硬件加速器的配置和接口细节,只需在程序中调用相应硬件函数,系统将自动完成硬件加速器配置,并控制加速器执行计算任务,简化了设计流程。实验结果显示,通过调用硬件函数来取代相应的软件函数,系统的计算能力得到了较大的提高。