| 研究生: |
許維哲 Hsu, Wei-Zhe |
|---|---|
| 論文名稱: |
虛擬系統層級之JPEG編碼器軟硬體協同設計 System Level Virtual Hw/Sw Co-Design of A JPEG Encoder |
| 指導教授: |
周哲民
Jou, Jer-Min |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
| 論文出版年: | 2012 |
| 畢業學年度: | 100 |
| 語文別: | 中文 |
| 論文頁數: | 86 |
| 中文關鍵詞: | 系統層級設計 、軟硬體協同設計 、JPEG 編碼 |
| 外文關鍵詞: | system-level design, hardware-software co-design, JPEG encoder |
| 相關次數: | 點閱:67 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在本篇論文裡,我們提出了在虛擬系統層級之JPEG編碼器軟硬體協同設計,由配合全系統虛擬機QEMU所設計的虛擬化JPEG編碼器硬體,到驅動程式與應用程式的軟體設計,以及嵌入式Linux作業系統的移植。在虛擬硬體設計的部分,我們先分析全系統虛擬機QEMU如何使用高階程式語言(C Language)來描述系統架構與硬體行為,再利用C程式語言將JPEG編碼演算法實現,並加上虛擬硬體介面連接至QEMU所模擬的目標系統當中。在軟體設計的部分,有應用程式設計、JPEG編碼器驅動程式設計與Linux作業系統的移植,應用程式包含了JPEG解碼程式、JPEG編碼器硬體呼叫與JPEG介面API的設計;作業系統與應用程透過JPEG編碼器驅動程式存取和控制JPEG編碼器硬體;並且我們將嵌入式Linux作業系統移植到目標系統上,以提供基本的作業系統核心功能。藉由虛擬化技術,我們可以快速實現虛擬硬體設計,並配合軟體的開發,能有效率地完成虛擬系統層級的功能性驗證。
In this paper, we propose a virtual system-level hardware and software co-design of a JPEG encoder. We use the high-level programming language (C Language) to implement the JPEG encoding algorithm, and add the virtual hardware interface connecting to the target system simulated by QEMU. Application design contains the JPEG decoder program, the JPEG encoder virtual hardware calling, and the JPEG interface API . We also design the JPEG encoder driver to read, write, and control the JPEG encoder virtual hardware. Finally, we port an embedded Linux operating system on the target system to provide the basic OS kernel functions. By virtualization, we can quickly design virtual hardware with the software, and can effectively complete the functional verification in full-system simulation mode.
[1] Lieverse, P., T. Stefanov, et al. (2001). “System level design with spade: an M-JPEG case study.” Proceedings of the 2001 IEEE/ACM international conference on Computer-aided design. San Jose, California, IEEE Press: 31-38.
[2] Amazon.com, “Elastic Compute Cloud (EC2),” http://aws.amazon.com/ec2.
[3] James E.Smith and Ravi Nair (2005), Virtual Machines: Versatile Platforms for Systems and Processes, Morgan Kaufmann.
[4] S. Gill (1951), “The Diagnosis of Mistakes in Programmes on the EDSAC,” Proceedings of the Royal Society of London. Series A. Mathematical and Physical Sciences, vol. 206, pp. 538-554.
[5] Anton Chernoff, Mark Herdeg, Ray Hookway, Chris Reeve, Norman Rubin, Tony Tye, S. Bharadwaj Yadavalli, and John Yates (1998), “FX!32: a Profile-Directed Binary Translator”, IEEE Micro, vol. 18, no.2.
[6] The VMWare ESX Server. http://www.vmware.com/products/esx/.
[7] P. S. Magnusson, M. Christensson, J. Eskilson, D. Forsgren, G. Hallberg, J. Hogberg, F. Larsson, A. Moestedt, and B. Werner (2002), “Simics: A full system simulation platform,” Computer, vol. 35, pp. 50-58.
[8] N. L. Binkert, R. G. Dreslinski, L. R. Hsu, K. T. Lim, A. G. Saidi, and S. K. Reinhardt (2006), “The M5 Simulator: Modeling Networked Systems,” Micro, IEEE, vol. 26, pp. 52-60.
[9] Fabrice Bellard (2005), “QEMU, a Fast and Portable Dynamic Translator,” Proceeding of USENIX Annual Technical Conference, pp. 41-46.
[10] JPEG Specification (1993) , “Information technology – Digital compression and coding of continuous-tone still images - Requirements and guidelines,” ITU-T Recommendation T.81, ISO/IEC 10918-1.
[11] ARM Staff (2003-2007), “RealView Platform Baseboard for ARM926EJ-S User Guide.”
[12] ARM Staff (1999), “AMBA™ Specification , 2000-2003 Rev 2.0 ,”.
[13] W. Chen, CH Smith, S. Fralic (1977), “A fast computational algorithm for the discrete cosine transform,” IEEE Trans. Commun., vol. COM-25, pp. 1004-1009.
[14] J. Corbet , A. Rubini and G.K. Hartman. (2005), LINUX DEVICE DRIVERS,3e, O’REILLY.
[15] D. A. Huffman (1952), “A Method for the Construction of Minimum-Redundancy Codes,” Proceedings of the IRE, vol. 40, pp. 1098-1101.
[16] 李明峻(2011),「嵌入式JPEG影像壓縮之軟硬體協同傳輸最佳化設計」, 國立成功大學電機工程學系碩士論文。
[17] ARM , http://www.arm.com/
[18] Linux Source , http://www.kernel.org/
[19] Embedded Linux/Microcontroller Project, http://www.uclinux.org/
[20] The ARM Linux Project , http://www.arm.linux.org.uk/developer/
[21] The GNU Compiler Collection, http://gcc.gnu.org/
[22] William B. Pennebaker, Joan L. Mitchell. (1993) “JPEG: Still Image Data Compression Standard ,” New York : Van Nostrand Reinhold.
[23] 戴顯權(2002),資料壓縮 ,高雄:紳藍出版社。
[24] 張勝雲(2008),「多執行绪虛擬機的研究和設計」,國立成功大學電機工程學系碩士論文。