簡易檢索 / 詳目顯示

研究生: 黃喬楷
Huang, Ciao-Kai
論文名稱: 平行多核處理器架構之研究與實現
Analysis and Implementation of Parallel Multi-core Architectures
指導教授: 周哲民
Jou, Jer-Min
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2016
畢業學年度: 104
語文別: 中文
論文頁數: 83
中文關鍵詞: 多核處理器架構控制處理器亂序執行處理器
外文關鍵詞: MLCA, GEM5, O3CPU
相關次數: 點閱:166下載:8
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本論文主要針對平行多核處理器架構研究,首先分析由SystemVerilog所建立的多層級計算架構(Multi-Level Computing Architecture ,MLCA),深入了解上層任務層級平行的控制處理器(Control Processor,CP)執行行為後,設計下層處理器單元(Processing Unit, PU)與周邊記憶體,實現MLCA平行多核架構; MLCA上層CP負責在執行時分析及記錄任務之間的相依關係,將就緒的任務分配給底層PUs平行執行並將執行結果回傳給CP記錄。
    接著了解以C++及Python語言撰寫而成的 GEM5模擬器的模擬系統配置方式,根據使用者的需求快速、精確且高彈性地模擬出目標平台,本論文研究了指令層級平行的ARM亂序執行處理器(out-of-order CPU,O3CPU)的執行行為並透過GEM5模擬器實現具L1、L2快取階層的ARM O3CPU多處理器架構。
    在不同平行多核處理器架構下測試不同的多執行緒測試程式與多任務測試程式,由程式的指令組成來分析在整個系統中發生效能瓶頸可能的原因,並針對問題點做對應的敏感資源配置調整達到執行程式的優化;
    最後比較指令層級處理器/任務層級處理器差異、比較執行緒層級GEM5多處理器架構/MLCA任務層級多處理器架構間的差異。

    In this thesis, we study and analysis of multi-processor architecture for various parallel multi-core architecture.
    Firstly, we study and analysis task level control processor hardware architecture and its behavior to design the underlying processor units(PUs) and peripheral memory for implementation of multi-level computing architecture(MLCA) which established by the SystemVerilog. The control processor keeps tacking dependencies between tasks, automatically extracts parallelism among coarse-grain tasks and schedules them for execution on underlying processors.
    And then, we implement ARM O3CPU mulit-processor architecture with L1, L2 caches by using gem5 simulator which is a cycle accurate simulator simulates pipeline stages cycle by cycle, we can configure and simulate the target platform as soon as possible.
    We have made a comparison between ARM O3CPU mulit-core architecture and MLCA with various multi-thread/multi-task testbenchs.

    目錄 摘要 III ABSTRATE IV INTRODUCTION IV RESULTS AND DISCUSSION VII 致謝 IX 表目錄 XIII 圖目錄 XIV 第1章 緒論 1 1.1 研究背景 1 1.2 研究動機與目的 2 1.3 論文架構 3 第2章 背景知識與相關研究 4 2.1.1 平行化層級的介紹 4 2.1.2 指令層級平行 4 2.1.3 執行緒層級平行 7 2.1.4 程式內的資料與功能層級平行 8 2.2 平行計算架構 10 2.2.1 單處理器系統 10 2.2.2 多處理器系統 12 2.3 論文相關研究 15 2.3.1 MLCA 15 2.3.2 GEM5 模擬器 16 2.4 軟硬體程式語言介紹 17 2.4.1 SystemVerilog 17 2.4.2 C++語言 18 2.4.3 Python 語言 19 第3章 多層級計算架構 21 3.1 MLCA硬體架構概觀 22 3.1.1 控制處理器指令集架構 23 3.2 控制處理器循序執行單元 24 3.2.1 擷取單元 24 3.2.2 解碼與重命名單元 24 3.2.3 派送單元 26 3.2.4 退休單元 27 3.3 控制處理器亂序執行單元 29 3.3.1 任務佇列 29 3.3.2 排程器 30 3.3.3 執行單元 34 3.3.4 PU溝通單元 36 3.4 處理單元 38 3.4.1 PU的暫存器設計 39 3.4.2 PUs共用指令/資料記憶體硬體配置設計 40 3.4.3 中斷服務程式 41 第4章 GEM5模擬器 43 4.1 GEM5系統架構解析 43 4.1.1 處理器模型 45 4.1.2 支援的指令集架構 47 4.1.3 記憶體系統 47 4.2 GEM5系統執行流程 49 4.3 軟體模擬之ARMO3CPU架構 51 4.3.1 處理器指令定義 51 4.3.2 重命名單元 52 4.3.3 發送/執行/寫回 53 4.3.4 提交階段 55 第5章 實驗結果與分析討論 56 5.1 軟體模擬之ARM O3CPU多核處理器架構 56 5.1.1 實驗環境 57 5.1.2 實驗數據與結果分析 59 5.1.3 GEM5模擬平行多核架構實驗小結 69 5.2 MLCA多核處理器架構實現 70 5.2.1 實驗環境 70 5.2.2 實驗數據與結果分析 71 5.3 平行多核架構實驗總結與分析討論 76 第6章 結論與未來展望 81 參考文獻 82

    [1] Chuck Moore, "DATA PROCESSING IN EXASCALE-CLASS COMPUTER SYSTEMS", The Salishan Conference on High Speed Computing, 2011.
    [2] Hammond, L., Hubbert, B., Siu, M., Prabhu, M. K., Chen, M., & Olukolun, K. "The Stanford hydra cmp". Micro, IEEE, 20(2), 71-84, 2000.
    [3] Karim, F., Mellan, A., Nguyen, A., Aydonat, U., & Abdelrahman, T. "A multilevel computing architecture for embedded multimedia applications". Micro, IEEE, 24(3), 56-66, 2004.
    [4] Binkert, N., Beckmann, B., Black, G., Reinhardt, S. K., Saidi, A., Basu, A., & Wood, D. A. "The GEM5 simulator". ACM SIGARCH Computer Architecture News, 39(2), 1-7, 2011.
    [5] Binkert, N. L., Dreslinski, R. G., Hsu, L. R., Lim, K. T., Saidi, A. G., & Reinhardt, S. K. "The M5 simulator: Modeling networked systems". IEEE Micro, (4), 52-60, 2006.
    [6] Martin, Milo MK, et al. "Multifacet's general execution-driven multiprocessor simulator (GEMS) toolset." ACM SIGARCH Computer Architecture News 33.4, 2005.
    [7] Stephen A. Edwards "Verilog 1995, 2001, and SystemVerilog 3.1 Languages for Embedded Systems",2004.
    [8] C++ programming language. http://www.cprogramming.com/
    [9] The official home of the Python Programming Language. https://www.python.org/
    [10] Capalija, D., & Abdelrahman, T. S. "Microarchitecture of a coarse-grain out-of-order superscalar processor". Parallel and Distributed Systems, IEEE Transactions on, 24(2), 392-405, 2013.
    [11] Control processor : http://www.eecg.toronto.edu/~davor/MLCA/
    [12] SimObject : http://www.gem5.org/docs/html/classSimObject.html
    [13] ISA Support Matrices: http://www.m5sim.org/Status_Matrix.
    [14] Simplified Wrapper and Interface Generator : http://www.swig.org/

    下載圖示 校內:2020-09-01公開
    校外:2020-09-01公開
    QR CODE