簡易檢索 / 詳目顯示

研究生: 彭政軒
Peng, Jeng-Shiuan
論文名稱: 結合SystemC TLM與雙核心之QEMU的異質整合架構之研究
Integration of Heterogeneous Framework for SystemC TLM and Dual Core QEMU
指導教授: 郭致宏
Kuo, Chih-Hung
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2010
畢業學年度: 98
語文別: 中文
論文頁數: 88
中文關鍵詞: 虛擬平台TLMSystemCQEMU雙核心系統
外文關鍵詞: virtual platform, TLM, SystemC, QEMU, dual-core
相關次數: 點閱:136下載:4
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 由於電子電路製程技術的進步,讓單一晶片擁有更多不同的功能。單晶片的系統複雜化,使驗證單晶片系統的時間逐漸增加,更因此拖延產品的上市時間(Time to Market)。如何在系統設計初期即能夠驗證其功能性已成為重要的議題。
    為了達到這個目標,本論文利用嵌入式虛擬平台的概念,提供一個驗證系統功能性的環境。相較於低抽象層級的RTL模型,以高抽象層級的TLM來建立系統將會更加快速且有效率。本論文利用SystemC程式語言建立以TLM為基礎的嵌入式虛擬平台,虛擬平台的架構規劃以真實開發版為基礎,建立具有良好的速度、靈活性與功能性的嵌入式虛擬平台。並依據這些基礎以改進虛擬平台的架構,如:提出模擬硬體中斷的機制,使SystemC所模擬的硬體能夠與QEMU使用者模式的CPU進行溝通;並在此CPU中實現大量傳輸資料的模式,以降低整體系統的模擬時間;估計QEMU所模擬之CPU操作頻率,令使用者在系統設計初期即能夠獲知軟體的運算複雜度,最後提出整合QEMU使用者模式之模擬雙核心CPU的方法,建立雙核心的虛擬平台,以提供雙核心系統設計初期時,能夠有快速驗證其功能性的虛擬平台。

    With the advance of IC design technology, a single chip can have various functionalities. However, as the system complexity grows, the time for testing and approving a system on chip (SoC) also raises. How to evaluate the performance of a system in the early stages of design becomes an important issue in recent years.
    To solve this problem, a virtual platform based verification method can help designers to reduce verification time during the development of a complex System on Chip (SoC) system. The effective way to speed up HW/SW co-simulation is to raise the abstraction levels from RTL to TLM. In this thesis, we use a SystemC based TLM and QEMU to implement a virtual platform that is built with speed, portable, and flexibility. According to these features, we increase the functionalities of the virtual platform with QEMU, including: hardware interrupt, burst mode transfer data, estimate the complexity of software and establish a dual core virtual platform.

    中文摘要 II ABSTRACT III 誌謝 IV 表目錄 XI 第一章 緒論 1 1-1 研究動機 1 1-2 QEMU簡介 2 1-3 SystemC簡介 3 1-4 研究貢獻 4 1-5 論文架構 5 第二章 研究背景 6 2-1 研究背景 6 2-1-1 虛擬平台相關軟體 6 2-1-2 虛擬機器 8 2-1-3 虛擬平台之應用 9 2-2 相關論文研究 10 2-2-1 決定系統中硬體與軟體的抽象層級 11 2-2-2 不同抽象層級間之共同模擬方法 12 2-2-3 改善共同模擬之效能 14 2-2-4 MPSoC共同模擬之方法 17 2-2-5 研究文獻之探討 19 2-3 系統模擬層級─交易層級模型 20 2-4 CPU模擬器 – QEMU 22 2-4-1 QEMU的簡介及特性 22 2-4-2 QEMU的仿真模式 23 2-5 BSD SOCKET技術 25 2-5-1 Socket之阻塞與非阻塞傳輸模式 26 2-5-2 Socket之應用程式介面函式 27 2-5-3 客戶端與伺服端之間的連接範例 28 2-6 建立單核心虛擬平台之方法 30 2-6-1 修改QEMU的記憶體存取方式 31 2-6-2 系統匯流排模型之建立 33 2-6-3 Master與Slave Wrapper之建立 36 2-7 單核心虛擬平台的基本範例 39 第三章 QEMU虛擬平台之建立與功能之增進 41 3-1 實現QEMU使用者模式之中斷機制 42 3-1-1 QEMU模擬中斷機制之問題 43 3-1-2 QEMU於不同模式模擬中斷機制之方法 44 3-1-3 於QEMU使用者模式加入中斷機制之方法 45 3-2 支援QEMU使用大量傳輸資料模式 47 3-2-1 大量傳輸模式 47 3-2-1-1 大量寫入資料模式 48 3-2-1-2 大量讀取資料模式 50 3-2-1-3 大量傳輸範例:H.264/AVC解碼器 50 3-2-2 大量傳輸之模擬時間的同步 51 3-3 以運算複雜度評估QEMU模擬CPU效率之方法 53 3-3-1 QEMU模擬時間之計算 54 3-3-2 計算QEMU CPU所執行的MIPS 55 3-4 建立雙核心架構的虛擬平台 56 3-4-1 雙核心架構之背景 57 3-4-1-1 嵌入式系統開發版─PAC開發版 57 3-4-1-2 嵌入式系統開發版─達芬奇開發版 58 3-4-2 雙核心架構的虛擬平台之實現 61 3-4-2-1 仲裁控制機制 61 3-4-2-2 執行緒控制機制 63 第四章 實驗結果 66 4-1 中斷機制於虛擬平台之影響 66 4-1-1 使用socket次數對QEMU平台效率之影響 68 4-2 大量傳輸功能於虛擬平台之影響 70 4-3 估計QEMU使用者模式之CPU操作頻率 72 4-4 雙核心虛擬平台之模擬 74 4-4-1 平行處理機制於虛擬平台之建立 74 4-4-2 雙核心系統視訊解碼器程式於本實驗平台之應用 76 第五章 結論與未來展望 81

    [1] Open SystemC Initiative, “SystemC,” Available: http://systemc.org.
    [2] M. Caldari, M. Conti, M. Coppola, S. Curaba, L. Pieralisi and C. Turchetti, “Transaction-level models for AMBA bus architecture using SystemC 2.0,” in Proc. Symp. Design Automation, Mar. 2003, pp. 20026-20031.
    [3] T. Wiegand, G.J. Sulivan, G. Bjntegaard and A. Luthra, “Overview of the H.264/AVC video coding standard,” IEEE Trans. Circuit Sys. Video Tech., vol. 13, no 7, pp. 560-576, July 2003.
    [4] QEMU-open source processor emulator, ”QEMU,” Available: http://wiki.qemu.org.
    [5] F. Bellard, “QEMU, a fast and portable dynamic translator,” in Proc. USENIX Annual Technical Conf., Apr. 2005, pp. 41-46.
    [6] Android developers, “Android,” Available: http://developer.android.com.
    [7] ARM - The Architecture for the Digital World, 2004, ARM webpage, Available: http://www.arm.com/
    [8] CoWare: Electronic System Virtualization Solutions, 2005, Available: http://www.coware.com/
    [9] Cadence, Available: http://www.cadence.com/
    [10] Tang Lei, Yang Yanhui and Wei Shaojun, ”Optimizing SoC platform architecture for multimedia applications,” in Proc. ASIC, 2005. ASICON 2005. 6th Int. Conf., Oct. 2005, pp. 94-97.
    [11] 蘇培陞, 陳紀綱, 林士哲, "使用電子系統層級設計方法開發雙核心系統晶片平台", 系統晶片科技中心技術期刊006期, 2007.
    [12] S. Brini, D. Benjelloun, and F. Castanier, “A flexible virtual platform for computational and communication architecture exploration of DMT VDLS modems,” in Proc. of Design, Automation and Test in Europe, pp. 164-169, Mar. 2003.
    [13] Cadence Design System, Inc., “Cadence Virtual Component Co-Design Modeling Guide,” Mar. 2001
    [14] M. Bauer, “VMware workstation 5.5 for Linux hosts,” Linux J., vol. 2006, no. 145, pp. 17, 2006.
    [15] P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt and A. Warfield, “Xen and the art of virtualization,” in Proc. ACM Symp. Operating Syst. Principles, pp. 164-177, Oct. 2003.
    [16] C. Dalton, D. Plaquin, W. Weidner, D. Kuhlmann, B. Balacheff and R. Brown, “Trusted virtual platforms: a key enabler for converged client devices,” in Proc. ACM SIGOPS Operating Syst. Review, vol. 43, pp. 36-43, Oct. 2009.
    [17] Y. Zhang, Y. Gu, H. Wang and D. Wang,”Virtual-Machine-based intrusion detection on file-aware block level storage,” in Proc. Comput. Architecture and High Performance Computing, pp. 185-192, Oct. 2006.
    [18] J. Ceng, W. Sheng, J. Castrillon, A. Stulova, R. Leupers, G. Ascheid and H. Meyr, “A High-Level virtual platform for early MPSoC software development,” in Proc. IEEE/ACM Int. Conf. on Hardware/Software Codesign and Syst. Synthesis, pp. 11-20, Oct. 2009.
    [19] A. H. Han, Y. S. Hwang, Y. H. An, S. J. Lee and K. S. Chung, “Virtual ARM platform for embedded system developers,” in Proc. Int. Conf. Audio,Language and Image, pp. 586-592. July 2008.
    [20] Y. C. Hsu and C. H. Kuo, “Fast co-simulation framework for SystemC TLM and user-mode QEMU,” in Proc. Symp. The 20th VLSI Design/CAD, Hualien, Taiwan, Aug. 2009.
    [21] S. Yoo and A. A. Jerraya, “Hardware/software cosimulation from interface perspective,” in Proc. IEE Comput. Digit. Tech., May 2005, pp. 369-379.
    [22] A. Haverinen, M. Leclercq, N. Weyrich and D. Wingard, “SystemC based SoC communication modeling for the OCP protocol,” http://www.ocpip.org/, Oct. 2002
    [23] R. Siegmund and D. Mu¨ller, “SystemCSV: an extension of SystemC for mixed multi-level communication modeling and interface-based system design,” in Proc. Design, Automation, and Test in Europe, Munich, Germany, pp. 26-32, Mar. 2001.
    [24] L. Cai and D. Gajski, “Transaction level modeling: An overview,” in Proc. Int. Conf. HW/SW Codesign and System Synthesis (CODES-ISSS), pp. 19-24, Oct. 2003.
    [25] G. Nicolescu, S. Yoo, A. Bouchhima and A. A. Jerraya, “Validation in a component-based design flow formulticore SoCs,” in Proc. Int. Symp. Syst. Synthesis, Oct. 2002, pp. 162-167.
    [26] M. Lajolo, M. Lazarescu and A. Sangiovanni-Vincentelli, ”A compilation-based software estimation scheme for hardware/software co-simulation,” in Proc. Int. Conf. on Hardware/Software Codesign, May 1999, pp. 85-89.
    [27] R. Klein, “Miami: a hardware software co-simulation environment,” in Proc. Int. Workshop on Rapid System Prototyping, Jun. 1996, pp.173-177.
    [28] M. D. Hill and M. R. Marty, “Amdahl’s law in the multicore era,” IEEE Computer, vol.41, pp.33-38, July 2008.
    [29] V. Zivojnovic and H. Meyr, “Compiled HW/SW co-simulation,” in Proc. Design Automation Conf., Jun. 1996, pp.690-695.
    [30] A. Nohl, G. Braun, O. Schliebusch, R. Leupers, H. Meyr and A. Hoffmann, “A universal technique for fast and flexible instruction-set architecture simulation,” in Proc. Design Automation Conf., Jun. 2002, pp.22-27.
    [31] M. Reshadi, P. Mishra and N. Dutt, “Instruction set compiled simulation: a technique for fast and flexible instruction set simulation,” in Proc. 40th Design Automat. Conf., Jun. 2003, pp.758-763.
    [32] S. Yoo and K. Choi, “Optimizing timed cosimulation by hybrid synchronization,” Des. Autom. Embedded Syst., vol.5, no.2 pp.129-152, Jun. 2000.
    [33] J. Jung, S. Yoo and K. Choi, “Performance improvement of multiprocessor systems cosimulation based on SW analysis,” in Proc. Design Automation and Test in Europe, Mar. 2001, pp.749-753.
    [34] S. Yoo, K. Choi and S. H. Dong, “Performance improvement of geographically distributed cosimulation by hierarchically grouped messages,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol.8, no.5, pp. 492-502, Oct. 2000,
    [35] L. Benini and G. D. Micheli, “Networks on chips: a new SoC paradigm,” Computer, vol.35, Issue 1, pp. 70-78, Jan. 2002.
    [36] A. Simalatsar, D. Densmore and R. Passerone, “A methodology for architecture exploration and performance analysis using system level design languages and rapid architecture profiling,” Industrial Embedded Systems, 2008. SIES 2008. Int. Symp., pp.11-13, Jun. 2008.
    [37] G. Nicolescu, H. Boucheneb, L. Gheorghe and F. Bouchhima, “Methodology for efficient design of continuous/discrete-events co-simulation tools,” in J. Anderson, R. Huntsinger, eds., High Level Simulation Languages and Applications - HLSLA. SCS, San Diego, CA, pp.172-179, 2007.
    [38] G. Kane and J. Heinrich, “MIPS RISC Architecture,” Prentice Hall, 1992.
    [39] J. D. Impson, “VNC, transparently,” vol. 2002, no. 93, pp. 3, 2002.
    [40] B. Amstadt and M. K. Johnson, “Wine,” vol. 1994, no. 4, pp. 3, 1994.
    [41] D. Oisboid, “Novice to Novice: DOS emulation with dosemu,” vol. 1995, no. 13, pp. 12, 1995.
    [42] Solaris Operating System, 1994, Available: http://www.oracle.com/solaris.
    [43] Microsoft Developer Network, “MSDN,” Available: http://msdn.microsoft.com/ /library/aa365574
    [44] Berkeley Software Distribution (BSD), 2006, Available: http://www.bsd.org/.
    [45] W. W. Gay, Linux Socket Programming: By Example: Que Corp., 2000.
    [46] I. Richardson, “H.264 and MPEG-4 video compression,” John Wiley & Sons Ltd, 2003.
    [47] T. Kogel, A. Haverinen and J. Aldis. “OCP TLM for architectural modeling,” Whitepaper available at: www.ocpip.org, July 2005.
    [48] GTK+ toolkit, 2007, Available: http://www.gtk.org/
    [49] A. P. Su and R. Chen, “Applying ESL in a dual-core SoC platform designing,” in Proc. IEEE Int. SOC Conf., Sept. 2006, pp. 171-174.
    [50] W. Cesario, A. Baghdadi, L. Gauthier, D. Lyonnard, G. Nicolescu, Y. Paviot, S. Yoo, A. A. Jerraya and M. Diaz-Nava, “Component-Based design approach for multicore SoCs,” Design Automat. Conf., pp. 789-794, Jun. 2002.
    [51] W. C. Lin, “The memory access pptimization techniques for video decoders on embedded system platforms,” M.S. thesis, Nat. Cheng Kung Univ., Tainan, Taiwan, Jun. 2009.
    [52] Texas Instrument, Inc., “TMS320DM6446 Digital Media System-on-Chip,” Literature Number: SPRS283F, Dec. 2005.
    [53] C. W. Chang, T. J. Lin, C. J. Wu, J. K. Lee, Y. H. Chu and A. Y. Wu, “Parallel Architecture Core (PAC)—the first multicore application processor SoC in Taiwan part I: Hardware architecture & software development tools,” Journal of Signal Processing Systems. doi:10.1007/s11265-010-0470-0
    [54] Texas Instrument, Inc., “TMS320DM644x DMSoC ARM Subsystem Reference Guide,” Literature Number: SPRUE14B, Mar. 2009.
    [55] Texas Instrument, Inc., “Codec Engine Algorithm Creator User’s Guide,” Literature Number: SPRUED6C, Sept. 2007.
    [56] Texas Instrument, Inc., “Codec Engine Server Integrator User's Guide,” Literature Number: SPRUED5B, Sept. 2007.
    [57] Texas Instrument, Inc., “Codec Engine Application Developer User's Guide,” Literature Number: SPRUE67D, Sept. 2007.
    [58] Steve Preissig, Technical Traning Organization, Texas Instrument, Inc. “Programming Details of Codec Engine for DaVinciTM Technology,” Whitepaper, Nov. 2006.

    下載圖示 校內:2013-09-06公開
    校外:2013-09-06公開
    QR CODE