簡易檢索 / 詳目顯示

研究生: 陳文笙
Chen, Wen-Sheng
論文名稱: 為晶片上網路平台設計之非阻礙式資料通訊元件
Design of a Non-blocking Communication Engine for NoC-based Platforms
指導教授: 劉靖家
Liou, Jing-Jia
口試委員: 金仲達
King, Chung-Ta
黃稚存
Huang, Chih-Tsun
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2014
畢業學年度: 102
語文別: 英文
論文頁數: 50
中文關鍵詞: 非阻礙式資料通訊
外文關鍵詞: non-blocking
相關次數: 點閱:1下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 晶片上網路 (NoC) 多核心平台已經在之前被提出來,這個平台上有專門的硬體去支援平行程式所需要的資料傳輸函式庫,但是之前的平台只有支援阻礙式通訊。在阻礙式通訊的過程中,處理核心必須要透過不斷的檢查通訊的狀態以確定通訊完成。在資料傳輸過程中的時間,包含了網路上的傳輸時間、以及流量控制 (flow control) 過程的時間,這些時間會導致較沒有效率的計算資源分配。在這篇論文中,我們提出了一個支援非阻礙式與阻礙式的傳輸。根據硬體的架構也發展出非阻礙式資料傳輸的程式介面 (API) ,讓程式設計者可以使用計算與通訊之間重疊的時間來增加程式的效率。

    我們設計的通訊元件以及程式介面環境是在SystemC與TLM下,在這個環境下進行對硬體以及軟體層的開發和驗證。在實驗的結果中我們比較了阻礙式與非阻礙式的傳輸所需要的時間,在單一資料的傳輸中為比例為1.77 (非阻礙式/阻礙式),在多筆資料的傳輸中為2。此外我們也使用高階合成 (HLS) 的工具幫我們產生出Verilog RTL,在RTL這個層級我們可以得到通訊元件更為精確的時間與面積。


    Previously, a Network-on-Chip (NoC) based many-core platform has been proposed. This platform
    features a dedicated hardware module to support a message passing communication library
    for parallel programming. However, only blocking communication is supported in the previous
    platform. During blocking communication, the processor cores have to stop computation and wait
    in a busy loop to check communication status. It is possible that a long communication latency
    (including waiting time for network transfer and response at the other end) will lead to less efficient
    computation resource allocation. In this thesis, we proposed a communication unit which
    supports both blocking and non-blocking data transfer. Based on the hardware infrastructure, a set
    of non-blocking message passing application programming interface (API) is also developed for
    programmers to overlap computation and communication which may improve the overall program
    efficiency.
    We designed our communication unit and APIs with SystemC/TLM for an early stage evaluation
    and verification at both hardware and software levels. The experimental results show that the
    average ratios of computation cycles needed for non-blocking and blocking is 2 (burst mode) and
    1.77 (single mode). In addition, we also used a high-level synthesis (HLS) tool to generate Verilog
    RTL code of the communication unit to study the actual circuit timing and area.

    1 Introduction 7 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Background 9 2.1 Overview of The Multi-Core Platform . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 iLib Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 OSCI TLM-2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4 Open Core Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.5 C-to-Silicon Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.6 SystemC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3 Non-blocking protocol and Synthesis 17 3.1 Overview of Communication Uint . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2 Non-blocking Data Transmission Protocol . . . . . . . . . . . . . . . . . . . . . . 19 3.2.1 Non-blocking Put and Get . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.2 Non-blocking Put and Accept . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.3 Non-blocking Send and Receive . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 Implementation of Communication Unit . . . . . . . . . . . . . . . . . . . . . . . 22 3.3.1 Format of FIFOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3.2 Message and Task Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.3 Center Controller and Non-Blocking Engine . . . . . . . . . . . . . . . . 25 3.4 Software Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4.1 On-Chip Communication Library . . . . . . . . . . . . . . . . . . . . . . 28 3.4.2 iLib Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5 Signal base module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4 Experiment 36 4.1 On-chip communication library . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.2 Application result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.3 Synthesis Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5 Conclusions and Future Work 43 5.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    [1] S. Borkar, “Thousand Core Chips—A Technology Perspective”, in Proc. IEEE/ACM Design
    Automation Conf. (DAC), 2007, pp. 746–749.
    [2] Yangjie Cao, Baodong Wu, Yongcai Tao, and Lei Shi, “Performance analysis of current parallel
    programming models for many-core systems”, IEEE CONFERENCE PUBLICATIONS,
    pp. 132–135, 2013.
    [3] William Gropp, Ewing Lusk, and Anthony Skjellum, Using MPI:Portable Parallel Programming
    with the Message-Passing Interface, MIT Press, 1999.
    [4] D. Lampret, C.-M. Chen, M. Mlinar, J. Rydberg, M. Ziv-Av, C. Ziomkowski, G. McGary,
    B. Gardner, R. Mathur, and M. Bolado, OpenRISC 1000 Architecture Manual rev 1.3, May
    2006, http://opencores.org/or1k/Main Page.
    [5] Imperas Software Limited, OVP Guide To Using Processor Modeles, 2013,
    http://www.ovpworld.org/using-ovp-fast-processor-models-with-ovpsim-and-othersimulators.
    [6] Imperas Software Limited, Using OVP Models in SystemC TLM2.0 Platfroms,
    May 2013, http://www.ovpworld.org/using-ovp-models-with-osci-systemc-tlm20-platformsto-
    gain-200-500-mips-performance.
    [7] Yu. Hsun. Chen, “Design and Analysis of Inter-PE Communication on Many-Core Platform”,
    Master’s thesis, National Tsing-Hua University, Computer Science Department, 2012.
    [8] Ting. Shuo. Hsu, “A DVFS Many-core ESL Simulation Platform with Software Communication
    API”, Master’s thesis, National Tsing-Hua University, Electrical Engineering Department,
    2011.
    [9] Tilera Corporation, ILIB API REFERENCE MANUAL, May 2008.
    [10] Open SystemC Initiative, OSCI TLM 2.0 Language Reference Manual, July 2009.
    [11] Open Core Protocol International Partnership, Open Core Protocol Specification Release 2.2,
    Jan. 2007.
    [12] Unauthorized, Candence CtoSilicon Compiler User Guide, May 2012,
    http://www.cadence.com/products/sd/silicon compiler/pages/default.aspx.
    [13] Open SystemC Initiative, “IEEE Standard SystemC Language Reference Manual”, IEEE Std
    1666-2005, pp. 1–423, Mar. 2006.
    [14] D. C. Black, J. Donovan, B. Bunton, and A. Keist, SystemC: From the ground up, Springer
    Verlag, 2009.
    [15] Mike Fingeroff, High-Level Synthesis Blue Book, Xlibris Corporation, 2010.

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE