基于消息机制的片上多处理器系统的研究
由上述公式可见,前向DCT变换是相当耗时的一部分,因为该部分需要求取余弦值,然后求积与求和,并且进行的都是浮点运算;运用快速算法可减少该部分的处理时间。在JPEG编码框图中,前向DCT处理的都是8×8大小的数据块,每个数据块之间相互独立,因此可同时进行计算。在熵编码过程中,对直流系数DC的编码采用的是差分脉冲编码调制(DPCM)方法,需要用到前一块MCU数据的DC值,所以需要等待前一块MCU的量化结果,结合本文所设计的系统,采用1:1:1的压缩比,可将JPEG编码算法按图4所示的流程进行分解处理。本文引用地址://m.amcfsurvey.com/article/189737.htm
在Altera公司的芯片EP3C25F324C8上利用SOPC完成了图1所示的系统体系结构。用Quartus软件进行综合,综合结果如表1所列。利用Nios II IDE完成了JPEG编码程序。程序运行时,利用时间戳(timestamp)测得图像编码所用的时间,并用公式Sp==T1/Tp计算得到加速比Sp,其中T1是单处理器时的运行时间,Tp为有p个处理器时的运行时间。结果如表2所列。
在FPGA中,LE的开销量Z可分为处理器用量X与系统用量Y,因此Z≈N×X+Y,结合表1的数据可计算得出,一个处理器对应的LE使用量约为3 769,占总量的15.3%。
在表2中,PC机的处理频率是FPGA软处理器的频率的2 000/100=20倍,FPGA单处理器的处理时间是PC机的5 601 730/20 861≈268倍,可见与频率不成正比。主要原因为PC机支持浮点运算,而FPGA的软核处理器为定点运算。
由表2可看出,每增加一个处理器,加速比可提升50%,因此增加处理器的数量可明显提升系统性能,而增加一个处理器在硬件上只需增加15.3%的开销,因而具有一定的性价比。另外,由于处理器之间是相互独立的,并在硬件结构与软件设计上保持一致,这使得当增加处理器时,只需修改一些配置参数即可,这有利于减少增加处理时的工作量和开发成本。
系统运行于4个处理器时,运行过程中突然断开一个处理器,模拟处理器出现问题的情况,测得系统仍能正常输出,运行时间为2 551 542 μs。相比正常情况的2 108 085μs,显然处理时间有所延长,但此时系统仍能正常输出,因而证实了该系统具有一定的容错性。
结语
针对目前多处理器系统针对性强、开发难度大、不具备容错性的不足,本文提出了一种基于消息机制的多处理器系统,实现了多处理器系统的通用性设计,简化系统的设计难度,同时具有一定的容错性与稳定性。在文中利用FPGA技术进行仿真验证。系统实验表明,增加处理器数量可明显提升系统的性能,并具有一定的性价比。在系统中的某一个处理器出现问题时,系统仍能正常输出,具有一定的容错性。
评论