| 研究生: |
虞先達 Yu, Eric Shian-Da |
|---|---|
| 論文名稱: |
以ARM為基礎的多核心繪圖處理器架構 An ARM-Based Many Core Architecture for 3D Graphic Processing |
| 指導教授: |
陳中和
Chen, Chung-Ho |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2011 |
| 畢業學年度: | 99 |
| 語文別: | 中文 |
| 論文頁數: | 97 |
| 中文關鍵詞: | ARM 、多核心 、軟硬體共同模擬 、電子系統層級設計 、砌塊式繪圖法 |
| 外文關鍵詞: | ARM, many-core, software/hardware co-simulation, electronic system level design, tile-based rendering |
| 相關次數: | 點閱:86 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文提出一套適用於嵌入式系統的多核心3D繪圖處理器架構,以及針對此架構所設計的軟體繪圖管線、多核心程式編程模型,並對整個架構做性能分析。
本架構核心採用ARM處理器為基礎,並搭配向量處理單元,可以在高平行度運算下提供高性能的表現,並且比一般GPU提供了更高的編程彈性。而ARM處理器本身的快取與本地暫存,也讓ARM處理器可以高速存取本地資料。而繪圖任務分配也是採用純軟體架構,因此比起傳統GPU,軟體繪圖管線更能降低記憶體消耗、減少匯流排頻寬浪費、並增加運算平行度。
此外,我們對此架構設計了一套編程模型與函式庫,以QEMU-CoWare為模擬平台,讓開發者可以修改、變更軟體繪圖管線,或是用來做非繪圖運算的用途。而本論文最後也在此架構上,以OpenGL ES的標準為API,繪製3D模型,並與傳統的GPU進行效能上的比較。
This thesis presents a many-core 3D graphics processing architecture for embedded system together with its software rendering pipeline, programming model, and performance analysis.
The many-core architecture is ARM processor-based, and with a vector processing unit developed by this work. This vector unit provides higher performance and better programming flexibility than a regular GPU. The ARM processor with its own cache and local buffer allows high-speed accessing for the local data. The graphics tasks are allocated by a software task scheduler while the software graphics pipeline design can reduce memory consumption, bus bandwidth, and increase the operation parallelism.
In addition, we have also designed a programming model with libraries based on a QEMU-CoWare simulation platform, which allows developers to modify, change the software graphics pipeline or to be used for non-graphics processing. For the system, we implement various 3D models using the OpenGL ES as the standard API, and compare the performance with a traditional GPU.
[1] S.-T. Shen, “Full System Design and Simulation of a Multi-view Graphics Processor using QEMU,” Master Thesis, Dept. of Electrical Engineering, National Cheng Kung University, Tainan, Taiwan, Jul. 2009.
[2] S.-F. Tsai, “Design, Analysis, and Implementation of a Geometry Engine Based on Tile-Based Rendering Architecture in 3D Graphics,” Master Thesis, Dept. of Electrical Engineering, National Cheng Kung University, Tainan, Taiwan, Jul. 2009.
[3] J.-Y. Liou, “Design, Analysis, and Implementation of a Rasterization Engine Based on Tile-Based Rendering Architecture in 3D Graphics,” Master Thesis, Dept. of Electrical Engineering, National Cheng Kung University, Tainan, Taiwan, Jul. 2009.
[4] R.-P. Wong, “A QEMU-based Electronic System Level System Simulation Platform,” Master thesis, Dept. of Electrical Engineering, National Cheng Kung University, 2007.
[5] Ju-Ho Sohn, Jeong-Ho Woo, Min-Wuk Lee, Hye-Jung Kim, Ramchan Woo and Hoi-Jun Yoo, “A 155-mW 50-Mvertices/s Graphics Processor With Fixed-Point Programmable Vertex Shader for Mobile Applications”, IEEE Journal Of Solid-State Circuits, Vol. 41, No. 5, May 2006.
[6] Jeong-Ho Woo, Ju-Ho Sohn, Hyejung Kim and Hoi-Jun Yoo, "A 195 mW, 9.1 MVertices/s Fully Programmable 3-D Graphics Processor for Low-Power Mobile Devices," IEEE Journal Of Solid-State Circuits, Vol. 43, No. 11, November 2008.
[7] Ju-Ho Sohn, “A Low Power Programmable 3D Graphics Processor with Fixed-point SIMD Vertex Shader,” Doctoral Thesis, Dept. of Electrical Engineering and Computer Science, Korea Advanced Institute of Science and Technology, Jun 2006.
[8] Chung-Hua Tsai, “Design of 3D Graphic Tile-based Rendering Engine for Embedded Systems,” Master Thesis, Dept. of Computer Science and Engineering, National Sun Yat-Sen University, Kaohsiung, Taiwan, Jul. 2007.
[9] Ching-Yuan Lin, “Performance Modeling for a 3D Graphics SoC,” Master Thesis, Dept. of Computer Science and Engineering, National Sun Yat-Sen University, Kaohsiung, Taiwan, Jul. 2009.
[10] Apple Inc., “iPhone Dev Center,” http://developer.apple.com/iphone/index.action.
[11] H. Fuchs et al., “Pixel-planes 5: a heterogeneous multiprocessor graphics system using processor-enhanced memories,” Proc. Ann. Conf. Computer graphics and interactive techniques (SIGGRAPH ‘89), pp. 79-88, Jul. 1989.
[12] L. Seiler et al., “Larrabee: a many-core x86 architecture for visual computing,” ACM Trans. Graphics (Proc. SIGGRAPH ‘08), vol.27, no. 3, Aug. 2008.
[13] T. Forsyth, “Larrabee Graphics Architecture: Software is the New Hardware,” SIGGRAPH 2008 Beyond Programmable Shading course, http://s08.idav.ucdavis.edu/forsyth-larrabee-graphics-architecture.pdf, Intel Corp., Aug. 2008.
[14] T. Akenine-Möller, and J. Ström, “Graphics for the masses: a hardware rasterization architecture for mobile phones,” ACM Trans. Graphics (Proc. SIGGRAPH ‘03), vol. 22, no. 3, pp. 801-808, Jul. 2003.
[15] A. Munshi and J.Leech, “OpenGL ES Common/Common-Lite Profile Specification Version 1.1.12,” Khronos Group, Apr. 2008.
[16] Khronos Group, “OpenGL ES Overview,” http://www.khronos.org/opengles/.
[17] Khronos Group, “OpenGL ES API Registry,” http://www.khronos.org/registry/gles/, 2011.
[18] ZEUS, “OpenGL ES tutorials,” http://www.zeuscmd.com/tutorials/opengles/index.php, 2004.
[19] QOpenCD, “OpenGL ES 1.x Tutorials and Codesamples,” http://embedded.org.ua/opengles/lessons.html.
[20] R. S. Wright, Jr., B. Lipchark, and N. Haemel, OpenGL SuperBible, 4th edition, Addison-Wesley, 2007.
[21] K. Pulli, et al., Mobile 3D Graphics with OpenGL ES and M3G, Morgan Kaufmann, 2008.
[22] ARM Ltd., “Multi-layer AHB Overview,” 2004.
[23] Imagination Technologies Ltd., “POWERVR MBX OpenGL ES 1.x SDK,” http://www.imgtec.com/powervr/insider/sdk/KhronosOpenGLES1xMBX.asp.
[24] Imagination Technologies Ltd., “PowerVR Technology Overview,” 2004.
[25] ARM Ltd., “RealView Compiler User Guide,” http://www.keil.com/support/man/docs/armcc/.
[26] ARM Ltd., “ARM Infocenter,” http://infocenter.arm.com/help
[27] Microsoft Corp., “DirectX Developer Center,” http://msdn.microsoft.com/en-us/directx/default.aspx.
[28] Silicon Graphics Inc., “OpenGL Overview,” http://www.sgi.com/products/software/opengl/overview.html.
[29] J.-H. Sohn, R. Woo, and H.-J. Yoo, “Optimization of portable system architecture for real-time 3D graphics,” IEEE Int’l Symp. Circuits and Systems (ISCAS ‘02), vol. 1, pp. I-769 - I-772 vol.1, May. 2002.
[30] B.-S. Liang and C.-W. Jen, “Computation-Effective 3-D Graphics Rendering Architecture for Embedded Multimedia System,” IEEE Trans. Consumer Electronics, vol. 46, no. 3, pp. 735 – 743, Aug. 2000.
[31] GreenSocs, “QEMU-SystemC,” http://www.greensocs.com/projects/QEMUSystemC, 2008.
[32] Stanford University Computer Graphics Laboratory, “The Stanford 3D Scanning Repository,” http://graphics.stanford.edu/data/3Dscanrep/.
[33] D. C. Black and J. Donovan, SystemC: From the Ground Up, Ekletic Ally, Inc., 2004.
[34] Ashley Stevens, “ARM Mali 3D Graphics System Solution,” White paper, http://www.arm.com/miscPDFs/16514.pdf, ARM Ltd., Dec. 2006.
[35] J. Corbet, A. Rubini and G. Kroah-Hartman, Linux Device Driver, 3rd edition, O’reilly, Feb. 2005.
[36] CoWare Platform Architecture, http://www.coware.com/products/platformarchitect.php
[37] CoWare Inc., “CoWare Platform Architect,” http://www.coware.com/products/platformarchitect.php.
[38] Synopsys Inc., “Platform Architect,” http://www.synopsys.com/Systems/ArchitectureDesign/pages/PlatformArchitect.aspx, 2011
[39] QEMU Processor Emulator, official site : http://bellard.org/qemu/
[40] The Mesa 3D Graphics Library, http://www.mesa3d.org/