基于消息機制的片上多處理器系統的研究
由上述公式可見(jiàn),前向DCT變換是相當耗時(shí)的一部分,因為該部分需要求取余弦值,然后求積與求和,并且進(jìn)行的都是浮點(diǎn)運算;運用快速算法可減少該部分的處理時(shí)間。在JPEG編碼框圖中,前向DCT處理的都是8×8大小的數據塊,每個(gè)數據塊之間相互獨立,因此可同時(shí)進(jìn)行計算。在熵編碼過(guò)程中,對直流系數DC的編碼采用的是差分脈沖編碼調制(DPCM)方法,需要用到前一塊MCU數據的DC值,所以需要等待前一塊MCU的量化結果,結合本文所設計的系統,采用1:1:1的壓縮比,可將JPEG編碼算法按圖4所示的流程進(jìn)行分解處理。本文引用地址:http://dyxdggzs.com/article/189737.htm
在A(yíng)ltera公司的芯片EP3C25F324C8上利用SOPC完成了圖1所示的系統體系結構。用Quartus軟件進(jìn)行綜合,綜合結果如表1所列。利用Nios II IDE完成了JPEG編碼程序。程序運行時(shí),利用時(shí)間戳(timestamp)測得圖像編碼所用的時(shí)間,并用公式Sp==T1/Tp計算得到加速比Sp,其中T1是單處理器時(shí)的運行時(shí)間,Tp為有p個(gè)處理器時(shí)的運行時(shí)間。結果如表2所列。
在FPGA中,LE的開(kāi)銷(xiāo)量Z可分為處理器用量X與系統用量Y,因此Z≈N×X+Y,結合表1的數據可計算得出,一個(gè)處理器對應的LE使用量約為3 769,占總量的15.3%。
在表2中,PC機的處理頻率是FPGA軟處理器的頻率的2 000/100=20倍,FPGA單處理器的處理時(shí)間是PC機的5 601 730/20 861≈268倍,可見(jiàn)與頻率不成正比。主要原因為PC機支持浮點(diǎn)運算,而FPGA的軟核處理器為定點(diǎn)運算。
由表2可看出,每增加一個(gè)處理器,加速比可提升50%,因此增加處理器的數量可明顯提升系統性能,而增加一個(gè)處理器在硬件上只需增加15.3%的開(kāi)銷(xiāo),因而具有一定的性?xún)r(jià)比。另外,由于處理器之間是相互獨立的,并在硬件結構與軟件設計上保持一致,這使得當增加處理器時(shí),只需修改一些配置參數即可,這有利于減少增加處理時(shí)的工作量和開(kāi)發(fā)成本。
系統運行于4個(gè)處理器時(shí),運行過(guò)程中突然斷開(kāi)一個(gè)處理器,模擬處理器出現問(wèn)題的情況,測得系統仍能正常輸出,運行時(shí)間為2 551 542 μs。相比正常情況的2 108 085μs,顯然處理時(shí)間有所延長(cháng),但此時(shí)系統仍能正常輸出,因而證實(shí)了該系統具有一定的容錯性。
結語(yǔ)
針對目前多處理器系統針對性強、開(kāi)發(fā)難度大、不具備容錯性的不足,本文提出了一種基于消息機制的多處理器系統,實(shí)現了多處理器系統的通用性設計,簡(jiǎn)化系統的設計難度,同時(shí)具有一定的容錯性與穩定性。在文中利用FPGA技術(shù)進(jìn)行仿真驗證。系統實(shí)驗表明,增加處理器數量可明顯提升系統的性能,并具有一定的性?xún)r(jià)比。在系統中的某一個(gè)處理器出現問(wèn)題時(shí),系統仍能正常輸出,具有一定的容錯性。
評論