论文部分内容阅读
随着科学与技术的发展,人类生活中的数据量与日俱增,数据中心的算法变得更加复杂,运算量也随之增大。单核的CPU已经满足不了人们对系统性能的要求。多核异构系统将通用处理器、GPU、DSP以及IP核等计算单元集成到单一芯片上,具有性能高、功耗低和开发周期短等优势。在数据密集和计算密集型领域里,多核异构并行系统已经取得非常显著的效果。近年来,JPEG2000无损压缩在空间遥感图像应用领域和医疗图像领域有着广泛的应用,相关的研究也越来越多。但是在已有的实现方案中,依然存在着诸如性能与开发周期、性能与成本等方面的矛盾。因此,研究如何使用多核异构系统来提高JPEG2000无损压缩的性能,并能够减少项目开发周期和成本具有深远意义。本文在研究了JPEG2000算法原理的基础上,对其各个模块进行了软硬件模块的划分。对于耗时比较多的小波变换模块和TIER-1编码模块,采用FPGA硬件并行架构实现;其它模块则采用将开源软件Jasper移植到Microblaze中的方式来实现。结合Open CL平台模型,本文提出了一种适用于JPEG2000编码器的可编程多核异构平台。该平台通过AXI总线将主处理、计算单元和存储器等连接起来。主处理器负责任务的调度与监控;而JPEG2000算法的各个模块属于计算单元中的处理单元,每个处理单元都拥有自己独立的内存。在介绍完多核异构平台后,本文着重介绍了小波变换和TIER-1编码两个硬件处理单元的设计。在小波变换中,行小波变换和列小波变换对数据进行并行处理,从而达到了硬件加速的目的。TIER-1编码包括了一个全并行位平面编码模块和多个MQ编码模块。两者均采用了四级流水线架构。为了解决位平面编码与MQ编码速率不匹配的问题,本文在每个位平面编码通道后接入一个MQ编码,并采用了跳过无效数据的思想,在最大程度上提高了TIER-1编码的速度。整个多核异构平台在Xilinx公司的VC707开发板上实现。采用ISE开发套件对硬件加速模块进行设计与仿真,然后将设计好的IP核集成到EDK工具上。实验结果表明,在100MHz的时钟下,该平台每秒可以处理69帧大小为512×512的灰度图像,基本满足了实时性的要求。另外,该平台为用户提供了用于软件编程的API函数。基于此平台,用户只需要在软件上输入相应的函数,便可以轻松实现JPEG2000编码,这能够大大减少项目开发难度与周期。