论文部分内容阅读
随着基于可重构器件的快速发展和使用,基于FPGA的可重构技术逐渐成为国际上嵌入式计算领域中的一个新热点。由于可重构器件既有硬件电路高效计算的优良性能,也具有多次编程、易于修改的灵活性,硬件任务作为一个和软件任务等同的概念出现在系统设计中,FPGA上可以灵活的实现一些计算密集型任务,使传统的软硬件协同设计领域发生了重大的变革。由FPGA和CPU构成的动态可重构混合系统具有计算性能高、灵活性强、适用范围广等优点,它的出现使传统意义上硬件与软件的界限变得模糊,让软件拥有了硬件的高性能,又让硬件具备了软件的灵活性。 然而,由于硬件任务不支持程序上下文的切换、不具有虚拟内存机制、不能够唤醒系统服务等特点,在FPGA和CPU构成的动态可重构混合系统中,任务数据地址的透明性和硬件任务的通用性降低。因此,虽然在嵌入式设备中,任务管理和应用技术上已经发展比较成熟,但是在动态可重构系统中,运行在嵌入式处理器上的软件任务和运行在FPGA上的硬件任务作为两个独立的部分,它们之间的通信问题仍然是影响整个系统性能的关键。 本论文提出了一种基于MMU模块的软硬件任务间通信方法,该方法通过引入一种基于MMU思想的虚拟地址映射机制,在硬件中实现了描述MMU进行虚拟地址映射行为的模块,使硬件任务同软件任务一样具有虚拟地址,并利用这种机制实现了软硬件任务之间的通信。此外,本论文为该通信方法设计并实现了硬件任务间的互斥机制、页表机制、中断机制,确保了该通信方法在软件硬件混合系统中的实现。 本论文应用Xilinx公司生产的Virtex-Ⅱ pro系列FPGA可重构开发平台进行系统设计,在软件层面上实现了页表、中断等机制,在硬件层面上实现了该MMU模块和AES加密解密算法。系统通过实验验证了该通信机制的可行性,提高了硬件任务对编程人员的透明性以及硬件任务的通用性,而且利用硬件任务的高性能,整体系统的运算效率能够得到提升。