簡易檢索 / 詳目顯示

研究生: 虞先達
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.

    摘要 III Abstract IV 誌謝 V 目錄 VI 表目錄 X 圖目錄 XI 第1章 序論 1 1.1 Motivation 1 1.2 Contribution 2 1.3 Organization 2 第2章 背景知識與相關研究 3 2.1 3D Computer Graphics 3 2.1.1 3D effects[20] 3 2.1.2 Rendering approaches 8 2.2 Graphics API standard 9 2.2.1 OpenGL 9 2.2.2 OpenGL ES[15][16][17] 10 2.3 3D Rendering Pipeline 12 2.3.1 Tile-based rendering 14 2.3.2 Tile-based versus traditional rendering 14 2.4 Full system simulation platform 16 2.4.1 Electronic System Level(ESL) 16 2.4.2 Platform Architect 16 2.4.3 QEMU 17 2.4.4 QEMU-CoWare Co-simulation[4] 18 2.5 Related work 19 2.5.1 Pixel-Planes 5[11] 19 2.5.2 Larrabee[12][13] 20 2.5.3 KAIST GPU[5][6][7] 22 2.5.4 3D Software rendering pipeline[29] 23 第3章 系統架構之設計與實現 26 3.1 Algorithm 27 3.1.1 Early Culling 27 3.1.2 Pixel Traversal 29 3.1.3 Clipping 35 3.2 Data flow 37 3.2.1 Multiple Buffering 38 3.3 Parallelism 42 3.3.1 Type of parallelism 42 3.3.2 Task scheduler 44 3.4 Data management 46 3.4.1 Packet transmission 46 3.4.2 Tile Number List 48 3.5 ARM Coprocessor 50 3.5.1 Basic architecture 50 3.5.2 Basic instruction 50 3.5.3 VFP 51 3.5.4 VGC 58 3.5.5 Result 62 3.6 Interrupt 63 3.6.1 New API (NAPI) 64 第4章 系統驗證架構之設計與實現 67 4.1 Execution time measurement 67 4.1.1 Native cycle capture 67 4.1.2 Ceiling/floor cycle capture 68 4.1.3 Cycle capture with time mask 70 4.2 Wrapper 73 4.2.1 System layers 73 4.2.2 Abstract hardware by wrappers 74 第5章 全系統模擬的驗證環境與實驗結果 77 5.1 Simulation platform 77 5.1.1 C model 77 5.1.2 QEMU-CoWare model 78 5.2 Verification 80 5.2.1 Verification methodology 81 5.2.2 Verification result 81 第6章 負載特性與數據分析 83 6.1 Computing power analysis 83 6.2 Workload characterization 84 6.3 Performance Comparison 86 6.3.1 GPU 2009[1][2][3] 86 6.3.2 3D Software rendering pipeline[29] 88 第7章 結論與未來展望 91 7.1 Conclusion 91 7.2 Future work 92 參考文獻 93

    [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/

    下載圖示 校內:2012-08-31公開
    校外:2012-08-31公開
    QR CODE