大多數現在的PCL打印機驅動程序都是將需要打印的文件(包括圖形或者文本)處理成JPEG文件發送到打印機進行打印,因為這樣一方面可以減少發送給打印機的數據量,一方面可以極大的簡化驅動程序的開發。而在打印機內部,這些JPEG文件又被解碼成BMP文件進行進一步的處理。采用這種方式工作的打印機JPEG解碼的工作占據了其CPU時間的一半以上,所以JPEG文件解碼引擎是打印機的核心之一,提高JPEG的解碼速度對于提高打印機的處理能力至關重要。 同時,JPEG文件解碼工作是一個計算密集型的作業,主要有兩個辦法提高它的速度:一個是設計更高效的算法,一個是采用性能更加強勁的CPU設備。在單核CPU的嵌入式環境中,JPEG編解碼速度已經幾乎到了極限,難有提升的空間,然而近兩年多核嵌入式芯片的出現,為大幅度提升它的性能提供了可能。 本文基于嵌入式的Linux平臺,采用ARM11 MPCore4核處理器,針對PCL,XL打印機控制語言的JPEG文件解碼設計和實現了一個高速引擎,主要內容為: 分析和解碼PCL,XL文件,提取出其中的JPEG文件。 對JPEG文件實現并行化解碼,在多個處理器核上并行處理,并針對多核處理器構架進行內存讀取等方面的優化。 針對多核處理器的特點和優勢,設計和實現多線程調度算法。 總結和提取數據,分析多核處理器相對于單核處理器的性能提升。 另外,為便于讀者理解,文中簡要介紹了ARM(SIMD)指令集,嵌入式匯編以及與硬件相關的一些概念。
標簽:
JPEG
ARM
多核
打印機
上傳時間:
2013-06-16
上傳用戶:scorpion