| 研究生: |
楊卓銘 Yang, Cho-Ming |
|---|---|
| 論文名稱: |
軟硬體協同模擬架構效能加速之設計與分析 An Efficient ESL Co-Simulation Platform using Shared-Memory Communication Scheme |
| 指導教授: |
陳中和
Chen, Chung-Ho |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電機工程學系碩士在職專班 Department of Electrical Engineering (on the job class) |
| 論文出版年: | 2011 |
| 畢業學年度: | 99 |
| 語文別: | 中文 |
| 論文頁數: | 91 |
| 外文關鍵詞: | ESL, Parallel, Shared Memory, Simulation, SystemC |
| 相關次數: | 點閱:71 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
目前在硬體設計的範疇中,整個設計的流程由於產品更新速度的大幅增加,設計及驗證的時間越來越具急迫性。因此,近年來軟硬體協同設計的概念越來越被重視,並且也可由這個方式達到軟硬體同時進行設計及驗證的功能。
本篇論文基於在一個包含QEMU及CoWare的協同設計平台上[16],對於整體模擬的架構做分析及效能的改善。這個架構是由QEMU端模擬ARM處理器,並以Socket介面連接至模擬硬體的CoWare端以達成軟硬體協同設計模擬。
經由分析後發現由於模擬的架構會大量使用到Socket間的溝通,造成在Socket介面部分由於傳輸時間過長而增加模擬時的負擔,因此本論文提出了以Shared Memory 介面取代 Socket介面做為軟硬體模擬間的溝通方式,增加整體模擬的效率平均可達到1.46倍,其中對於資料量最大的Benchmark “Bunny”速度可加快到1.6倍。
而對於CoWare端的ESL層級模擬,由於SystemC只支援single process的執行,因此本論文也提出一個約會程序平行模擬(Rendezvous Parallel Simulation)的概念,將硬體端負載較重的部分抽離出原本單一程序模擬的環境,並以外部Process的方式附加到原本的模擬平台上,再利用Shared Memory做為中介層,讓各個模擬程序的資料可以互相流通,使硬體模擬部份可以在原本應用CoWare及SystemC的架構中提升整個硬體模擬平台的模擬速度。對於產生一張3D圖像來說,這個方法可以改善模擬速度平均達到約3.6倍的速度。
Hardware-software co-designs are getting more and more important for complex SoC development. This thesis anylyzes a hybrid simulation system and improves the efficiency of the simulation based on a platform using QEMU and CoWare tool[16]. The co-simulation system includes QEMU simulating the ARM processor, and the CoWare tool simulating hardware with socket connecting both sides.
After analyzing the simulation structure, we find that the current simulation systrem has massive socket communications, and this significantly increases simulation overhead due to the long communication time of sockets. Therefore, this thesis presents a communication method to replace socket with shared memory to improve the simulation efficiency up to 1.46 times. For benchmark Bunny, the improvement is up to 1.6 times.
For ESL level simulation with CoWare, because SystemC library only supports single thread execution, this thesis also introduces a concept that extracts part of the heavy workload in hardware simulation and moves this part of simulation to a process outside of the CoWare platform. Shared memory is used to be the interface that exchanges the data for the two simulation processes. The hardware simulation with CoWare can then have better simulation efficiency, and the hardware simulation platform can speed up to about 3.6 times in average.
參考文獻
[1] B. Fabrice, “QEMU, a Fast and Portable Dynamic Translator,” Proceeding of USENIX Annual Technical Conference, pp. 41-46, 2005.
[2] CoWare, ConvergenSC Training Manual rev:1Mar06, CoWare, Inc., 2006.
[3] http://www.cs.princeton.edu/gfx/proj/shape/
[4] http://www.xmission.com/~nate/tutors.html
[5] http://www.zeuscmd.com/tutorials/opengles/index.php
[6] J. Corbet, A. Rubini and G. Kroah-Hartman, Linux Device Driver, 3rd edition, O’reilly, Feb. 2005.
[7] Kuan-Chung Chen.” QEMU-CoWare Full System Simulation Platform with Simulation Synchronization Profiler,” Master thesis, Dept. of Electrical Engineering, National Cheng Kung University, 2010.
[8] Neil A. Dodgson, “Autostereoscopic 3D Displays,” Computer, vol. 38, iss. 8, Aug 2005, pp. 31-36.
[9] Microsoft Corp., “DirectX Developer Center,” http://msdn.microsoft.com/en-us/directx/default.aspx.
[10] M. Reshadi, P. Mishra, and N. Dutt, “Instruction Set Compiled Simulation: A Technique for Fast and Flexible Instruction Set Simulation,” in Proc. of IEEE/ACM 40th Design Automation Conference(DAC), Jun. 2003.
[11] M. Reshadi and N Dutt, “Reducing Compilation Time Overhead in Compiled Simultor,” in Proc. of IEEE 21st International Conference on Computer Design(ICCD), Oct. 2003.
[12] M. Reshadi, P. Mishra, and N. Dutt, “Hybrid-Compiled Simulation: an Efficient Technique for Instruction-Set Architecture Simulation,” ACM Tran. on Embedded Computing Systems(TECS), Vol. 8, No. 3, Apr. 2009.
[13] Paul Bourke, “Calculating Stereo Pairs,” July1999. Available: http://astronomy.swin.edu.au/~pbourke/stereographics/stereorender/.
[14] P. S. Magnusson, M. Christensson, J. Eskilson, D. Forsgren, G. Hallberg, J. Hogberg, F. Larsson, A. Moestedt and B. Werner, “Simics: A Full System Simulation Platform,” IEEE Computer, vol. 35, Iss. 2, pp. 50-58, Feb. 2002.
[15] QEMU-SystemC, GreenSocs,
http://www.greensocs.com/projects/QEMUSystemC.
[16] R.-P. Wong, “A QEMU-based Electronic System Level System Simulation Platform,” Master thesis, Dept. of Electrical Engineering, National Cheng Kung University, 2007.
[17] R. K. Gupta and G. D. Micheli, “Hardware-software cosynthesis for digital systems,” IEEE Design & Test of Computers, vol. 10, no. 3, pp. 29-41, Sept. 1993.
[18] Silicon Graphics Inc., “OpenGL Overview,” http://www.sgi.com/products/software/opengl/overview.html.
[19] S. Takaki, A. Masuda, H. Eichel, G. Otomo, T. Miyamori, K. Kohno and N. Matsumoto, “Hardware/Software Partitioning Methodology for Systems on Chip(SoCs) with RISK Host and Configurable Microprocessors,” http://www.design-reuse.com/articles/6978/hardware-software-partitioning-methodology-for-systems-on-chip-socs-with-risc-host-and-configurable-microprocessors.html
[20] T. Austin et al., “Simplescalar,”
http://www.simplescalar.com.
[21] The Mesa 3D Graphics Library website,
http://www.mesa3d.org.
[22] Vincent Mobile 3D Rendering Library, Project: Vincent Mobile 3D Rendering Library, http://sourceforge.net/projects/ogl-es/.
[23] W. H. Wolf, “Hardware-software co-design of embedded systems,” Proceeding of the IEEE, vol. 82, NO. 7, pp.967-989, July 1994.
[24] X.-Z. Shen, “Full System Design and Simulation of a Multi-view Graphics Processor using QEMU,” Master thesis, Dept. of Electrical Engineering, National Cheng Kung University, 2009.
[25] X.-Z. Shen, S.-Y. Lee, and C.-H. Chen, “Full System Simulation with QEMU: an Approach to Multi-View 3D GPU Design,” IEEE International Symposium on Circuits and Systems (ISCAS), May 30 - June 2, 2010, Paris, France.