| 研究生: |
陳冠仲 Chen, Kuan-Chung |
|---|---|
| 論文名稱: |
支援QEMU-CoWare平台之模擬同步分析器 QEMU-CoWare Full System Simulation Platform with Simulation Synchronization Profiler |
| 指導教授: |
陳中和
Chen, Chung-Ho |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2010 |
| 畢業學年度: | 98 |
| 語文別: | 中文 |
| 論文頁數: | 81 |
| 中文關鍵詞: | 電子系統層級設計 、全系統模擬 、軟硬體協同設計 、軟硬體切割 、軟硬體整合 、效能分析 |
| 外文關鍵詞: | electronic system level design, full system simulation, hardware-software co-desig, hardware-software partition, hardware-software integration, performance analysis |
| 相關次數: | 點閱:76 下載:5 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文提出一套基於電子系統層級設計流程,在軟硬體切割後採用QEMUCoWare全系統設計與模擬之效能分析架構。由於在此模擬環境中軟硬體是以不同模擬程式與精確度進行模擬,所以只能驗證功能而無法做有效地軟硬體效能分析。然而應用程式、驅動程式與硬體之間的整合程度,往往對整個平台效能有很大的影響。因此我們建立了一個軟硬體同步效能分析的機制,讓使用者可以透過高速軟體模擬功能進行軟硬體協同設計之外,還可透過此同步機制完成軟硬體效能分析,透過分析結果可以推估應用程式驅動程式與硬體之間的合作情況,再由這些分析數據微調軟硬體配置,以期在平台開發初期就能達到極高的軟硬體整合程度。
我們以 ARM 嵌入式系統做為欲模擬的平台環境。透過QEMU 模擬的ARM系統來啟動Linux 作業系統,並且經由修改QEMU 的CPU 模擬器以達到軟體效能分析的效果。然而QEMU 是無時序概念的,因此無法從QEMU 中得到精確的執行週期,只能達到執行指令數精確,所以我們在QEMU 與CoWare 之間設計同步器,透過此同步器分別截取QEMU 所計算的軟體指令執行數與CoWare 內模擬硬體執行週期,提供使用者軟硬體執行相對時間以利實現效能分析。
In this thesis, we propose an architecture binding full system simulation and hardware-software synchronization profiling using QEMU and CoWare based on electronic system level design. We can use it not only to do hardware-software co-design but also to analyze the hardware-software integration which can affect the system performance greatly. Due to the different simulation accuracy and simulator between CoWare and QEMU in our full system simulation platform, we can hardly realize the timing information among CPU and other peripherals simulated in CoWare. In order to conquer this problem, we develop a synchronization method and apply it to full system
simulation. It can not only keep the simulation speed but also provide the simple timing information between CPU and the hardware under developing.
We use ARM embedded system as our simulation environment and design the synchronizer to fetch the timing information between the hardware modules modeled in CoWare and the software system run in QEMU. And then we can use the information to achieve synchronization profiling for performance evaluation of the specific hardware-software partition. We then can consider whether to redo the hardware-software partition according to the performance results.
[1] A. Munshi and J.Leech, 「OpenGL ES Common/Common-Lite Profile Specification Version 1.1.10,」 Khronos Group, Apr. 2007.
[2] B. Fabrice, 「QEMU, a Fast and Portable Dynamic Translator,」 Proceeding of USENIX Annual Technical Conference, pp. 41-46, 2005.
[3] CoWare, ConvergenSC Training Manual rev:1Mar06, CoWare, Inc., 2006.
[4] D. C. Black and J. Donovan, 「SystemC from the Ground up,」 Kluwer Acadmic Publishers, 2004.
[5] D. Gajski and L. Cai, 「Transaction Level Modeling: An Overview,」 HW/SW Co-Design Conference (CODES), pp. 19-24, Oct. 2003.
[6] D. R. Hower and M. D. Hill, 「Rerun: Exploiting Episodes for Lightweight Memory Race Recording,」 in Proc. of the 35th Annual International Symposium on Computer Architecture (ISCA), June 2008.
[7] G. Schirner, A. Gerstlauer and R. Domer, 「Fast and Accurate Processor Models for Efficient MPSoC Design,」 ACM TODAES, vol. 15, Iss. 2, Article 10, Feb. 2010.
[8] GNU Project Debugger, http://www.gnu.org/software/gdb.
[9] GNU Profiler, http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html.
[10] Imagination Technologies Ltd., 「POWERVR MBX OpenGL ES 1.x SDK,」 http://www.imgtec.com/powervr/insider/sdk/KhronosOpenGLES1xMBX.asp.
[11] 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
[12] 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
[13] 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
[14] M. R. Guthaus, J. S. Ringenberg and D. Ernst, 「MiBench: A free, commercially representative embedded benchmark suite,」 Proceedings of 2008 IEEE International Workshop on Workload Characterization (WWC』01), Austin, TX, USA, Dec 2001.
[15] OProfile, http://oprofile.sourceforge.net.
[16] 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.
[17] QEMU-SystemC, GreenSocs, http://www.greensocs.com/projects/QEMUSystemC.
[18] 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.
[19] R.-P. Wong, 「A QEMU-based Electronic System Level System Simulation Platform,」 Master thesis, Dept. of Electrical Engineering, National Cheng Kung University, 2008.
[20] 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 .
[21] T. Austin et al., 「Simplescalar,」 http://www.simplescalar.com.
[22] T. Grotker, S. Liao, G. Martin, and S. Swan, 「System Design with SystemC,」 Kluwer Acadmic Publishers, 2002.
[23] WH 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.