• 沒有找到結果。

執行緒分配器 ver.2

4.3 執行緒分配器單元設計

4.3.2 執行緒分配器 ver.2

執行緒分配器ver.2 流程圖(圖 6)的設計是參考先前版本的架構,並配合本計畫採用 的Proto3-ARM9TM 處理器架構的特性。由於 Proto3-ARM9TM 處理器的 ID (instruction decode)階級已計算出每種指令所需的執行週期,並已設定下一個時脈週期暫停管線的 訊號(id_stall),所以可以將此訊號用於設定執行緒等待訊號(C1、C2),0 為執行緒等待 中、1 為執行緒執行中。

為了使處理器的記憶體介面具有相容性,以不更改處理器與匯流排(AMBA)之間的 介面為前提,不增加額外的記憶體存取介面。故不同執行緒的記憶體的存取相關指令會 互相衝突,當其中一個執行緒需要執行 load、store 指令時,須暫停另一個執行緒直到 該指令執行結束。此版本的執行緒分配器將更符合處理器的需求,因應不同狀況發生 時,具有更彈性的切換執行緒機制,相較於原版本的執行緒分配器會使處理器的執行效 率更為提升。

圖8:執行緒分配器 ver.2 流程圖 4.4 管線階級規劃

本 計 畫 所 設 計 的 HT-ARM9TM 處 理 器 的 管 線 階 級 規 劃 ( 圖 7) 是 參 照 Proto3-ARM9TM 處理器的管線階級規劃,不採用動態分支預測的機制,可節省相關的 控制電路、記憶體面積,並在ID (instruction decode)階級加入執行緒分配器同步處理並 選擇可執行的執行緒。

Reg.

Read

TH IS SH EX

ID/IS IS/SH EX/MA

Phase 1 Phase 2 Phase 1 Phase 2 Phase 1 Phase 2 Phase 1 Phase 2 Phase 1 Phase 2

Data path signal controller TH/ID

Phase 1 Phase 2 ID Phase 1 Phase 2

IF

Phase 1 Phase 2

Reg. Phase 1 Phase 2

IR

IR 級:(Instruction Request)此級會向指令記憶體介面發出指令擷取請求 (request)訊號。

IF 級:(Instruction Fetch)此級會擷取指令記憶體介面上的指令。

TH 級:(Thumb)此級會依據系統中的執行模式轉換指令的格式,HT-ARM9TM 處理器 跟Proto3-ARM9TM 處理器皆可執行 ARM 或 Thumb 指令集,當處理器為 Thumb 執行模式時,此級會將ARM 指令轉換為 Thumb 指令。

SH 級:(Shift)此級主要做移位運算,HT-ARM9TM 沿襲 Proto3-ARM9TM 處理器的四 級管線的乘加器架構,乘加器的第一級與第二級管線置於此級。此級包含了加 置計算(Program Counter),HT-ARM9TM 配合兩個執行緒執行的機制,上述電 路都額外增加以對應所屬的執行緒。

4.5 危障處理

本計畫所設 計的 HT-ARM9TM 處理器需處理不同執行緒的資料衝突危障。

Proto3-ARM9TM 處理器已完成相鄰指令的相依資料衝突危障,HT-ARM9TM 處理器也 對此危障的處理有更進一步的改進。

4.5.1 相依資料危障處理

Proto3-ARM9TM 對於相依資料的危障處理方式主要為設置前饋路徑,利用新增的 EX 級、SH 級前饋路徑,解決部份情況的資料相依危障。無法解決的資料相依危障則 暫停前置管線級以避免資料衝突。

HT-ARM9TM 利用多執行緒處理的特性,當其中一個執行緒因無法透過前饋路徑 處理的資料危障送出暫停管線訊號,將不影響另一個執行緒的管線執行,透過持續執行 另一個執行緒的指令以掩蓋時間的浪費。

4.5.2 指令記憶體及資料記憶體的存取危障處理

當指令記憶體存取發生失誤時,由於每個時脈周期只執行一個執行緒的指令,所以 當其中一個執行緒發生指令記憶體存取失誤,將不影響另一個執行緒存取指令記憶體的 動作。只要送出停滯訊號至ID 階級,使執行緒分配器得以判斷並選擇另一個執行緒執 行,以掩蓋記憶體存取失誤所造成的時間浪費。

由於資料記憶體存取的指令會鎖定管線,只讓其中一個執行緒的指令執行。所以當 資料記憶體存取發生失誤(data cache miss)時,必須同時暫停兩個執行緒的管線,等待正 確資料存取完畢才可繼續執行。

4.6 記憶體存取控制

本計畫所設計的HT-ARM9TM 處理器對外部記憶體存取時,依照 Proto3-ARM9TM 處理器的存取方式,一個時脈週期從指令記憶體、資料記憶體最多存取一份指令以及一 份資料,以維持記憶體存取介面的相容性。

HT-ARM9TM 處理器需要區分不同執行緒所屬的記憶體,以避免錯誤資料的傳遞,

所以需將外部的記憶體對等的分割出兩份記憶體,並對外增加兩個執行緒編號(thread ID)訊號,由多工器藉由此訊號選擇應存取的指令記憶體及資料記憶體。

五、結果與討論

5.1 FPGA 合成結果

本計畫所設計的HT-ARM9TM 在 Xilinx 的 Virtex5 XC5VLX110-FF676 FPGA 上實 現,與Proto3-ARM9TM 的合成結果比較(表 1)。表中 Block RAM 的數字代表所使用的 Block RAM 個數,字尾的字母代表所使用的地方,R 代表 Register file、B 代表 BTC 而 M 代表指令記憶體與資料記憶體所使用的 Block RAM。

表1: Proto3-ARM9TM 與 HT-ARM9TM 的 FPGA 合成結果

Processor Core Proto3-ARM9TM HT-ARM9TM

# of Flip-Flops 2762 3061

# of LUT 8483 8675

# of Slices 4312 4489

# of Block RAMs 2B + 8R + 16M 16R + 16M

Max freq. (MHz) 45.2 45.7

HT-ARM9TM 需要較多的暫存器對應不同執行緒所屬的資料,以換取更高的執行 效率。除了記憶體之外,其餘電路的面積相差不大。由於HT-ARM9TM 不需存取 BTC 做分支指令的預測,所以處理器執行速度略快。

5.2 效能評估與討論

由Proto3-ARM9TM 與 HT-ARM9TM 的效能比較(表 2),即使沒有使用 BTC 做動態 分支指令預測,HT-ARM9TM 擁有的多執行緒執行特性,使 MIPS (Million Instructions Per Cycles)從 31.64 增加到 39.12,已能大幅改進執行效率。

未來可改進的方向有改善記憶體的存取介面,使不同執行緒的資料記憶體可同時存 取。增加少量的運算單元,使部分的運算指令也能同步執行。

表2: Proto3-ARM9TM 與 HT-ARM9TM 的效能比較

六、參考資料

1. Steve Furber, ARM system-on-chip architecture, 2nd edition, Addison Wesley, 2000.

2. Andrew N. Sloss, Dominic Symes, and Chris Wright, ARM system developer’s guide:

designing and optimizing system software, Morgan Kaufmann, 2004.

3.

http://www.arm.com/

Proto3-ARM9TM @ ARM mode

Implementation FPGA Freq. Cycles Reduced(%) IPC Perf. ratio(%) MIPS

Without BTC 57.5 1519 0 0.348 100 20.01

With BTC 51.4 1119 26.33 0.437 112.24 22.46

Modified Code 51.4 875 42.39 0.604 155.12 31.04

EXS forwarding 45.2 755 50.29 0.7 158.12 31.64

HT-ARM9TM @ ARM mode

Implementation FPGA Freq. Cycles Reduced(%) IPC Perf. ratio(%) MIPS

Without BTC 45.7 618 59.31 0.856 195.5 39.12

4. ARM, ARM7TDMI Technical Reference Manual, Rev. 4, 2001.

5. ARM, ARM9TDMI Technical Reference Manual, Rev. 3, 2000.

6. ARM, ARM926EJ-S Technical Reference Manual, Rev. 0, 2000.

7. Intel, Intel® 64 and IA-32 Architectures Software Developer’s Manual, Vol. 3A, 2006.

8.

http://www.intel.com/

architecture with high-speed synchronization mechanism,” Proceedings of the Fifth International Conference on Parallel Processing Symposium, Apr. 30--May 2, pp.

336--343, 1991.

12. Yunn-Yen Chen, Jin-Kwon Peir, and Chung-Ta King, “Performance of shared cache on multithreaded architectures,” Proceedings of the Fourth Euromicro Workshop on Parallel and Distributed Processing, Jan. 24--26, pp. 541--548, 1996.

13. T. Matsuzaki, H. Tomiyasu, and M. Amamiya, ”An architecture of on-chip-memory multi-threading processor,” Innovative Architecture for Future Generation High-Performance Processors and Systems, Jan. 18--19, pp. 100--108, 2001.

14. T. Matsuzaki, S. Amamiya, M. Izumi, and M. Amamiya, “A multi-thread processor architecture based on the continuation model,” Innovative Architecture for Future Generation High-Performance Processors and Systems, Jan. 17, pp. 8, 2005.

15. M. Amamiya, H. Tomiyasu, and S. Kusakabe, “Datarol: a parallel machine architecture for fine-grain multithreading,” Proceedings of the Third Working Conference on Massively Parallel Programming Models, Nov. 12--14, pp. 151--162, 1997.

16. Cui Guangzuo, and Li Zhaolin, “MT-ARM: multithreading implementation in ARM7 architecture,” Proceedings of the Fourth International Conference on ASIC, Oct. 23--25, pp. 793--796, 2001.

17. J. Kreuzinger, and T. Ungerer, “Context-switching Techniques for Decoupled Multithreaded Processors,” Proceedings of the 25th Euromicro Conference, Sept. 8--10, vol. 1, pp. 248--251, 1999.

18. H. Kwak, Ben Lee, Ali R. Hurson, Suk-Han Yoon, and Woo-Jong Hahn, “Effects of multithreading on cache performance,” IEEE Transactions on Computers, No. 48, vol. 2, pp. 176--184, Feb. 1999.

19. Kiyofumi Tanaka, “Fast context switching by hierarchical task allocation and reconfigurable cache,” Innovative Architecture for Future Generation High- Performance Processors and Systems, Jul. 17, pp. 20--29, 2003.

國科會補助專題研究計畫成果報告自評表

請就研究內容與原計畫相符程度、達成預期目標情況、研究成果之學術或應用價值(簡 要敘述成果所代表之意義、價值、影響或進一步發展之可能性)、是否適合在學術期刊 發表或申請專利、主要發現或其他有關價值等,作一綜合評估。

1.

請就研究內容與原計畫相符程度、達成預期目標情況作一綜合評估

□ n達成目標

□ □未達成目標(請說明,以 100 字為限)

□ □實驗失敗

□ □因故實驗中斷

□ □其他原因

說明:

2.

研究成果在學術期刊發表或申請專利等情形:

論文:n已發表 □未發表之文稿 □撰寫中 □無 專利:□已獲得 □申請中 □無

技轉:□已技轉 □洽談中 □無 其他:(以100 字為限)

相關研究論文發表:

已發表之會議論文:

1. Mehrdad Fallahpour, Chang-Hong Lin, Ming-Bo Lin, and Chin-Yu Chang, “Parallel One- and Two-Dimensional FFTs on GPGPUs”, 2012 IEEE International Conference on Anti-Counterfeiting Security and Identification (IEEE ASID2012), Taipei, Aug 24-26, 2012, pp. 316-320.

3.

請依學術成就、技術創新、社會影響等方面,評估研究成果之學術或應用價值(簡 要敘述成果所代表之意義、價值、影響或進一步發展之可能性)(以500 字為限)

本計畫為進一步改進本實驗室多年來持續進行的ARM 相容微處理器架構的研究與 實現,以改良先前完成的Proto3-ARM9TM 處理器的架構,使其支援多執行緒的技術。

本計畫中,採用多執行緒處理的機制,重新設計了Proto3-ARM9TM 處理器的架構。採 用 Intel 處理器的超執行緒機制,使處理器能執行兩個執行緒,並增加對應的暫存器,

以及對等劃分所需的指令記憶體與資料記憶體。切換執行緒的方式以信號要求切換的機 制為基礎,再加上隱含切換的機制以彈性因應不同指令時的切換。本計畫設計的執行緒 管理單元,可以依照切換執行緒的基本機制設定,以及不同情況所送入的訊號做判斷,

選擇最適合執行的指令執行。對於快取記憶體存取失誤所造成的危障,本計畫也做出符 合 HT-ARM9TM 處理器特性的處理方式。本計畫所設計的 HT-ARM9TM 在 Xilinx 的 Virtex5 XC5VLX110-FF676 FPGA 上實現,與先前的 Proto3-ARM9TM 架構比較下,操 作頻率從45.2 MHz 略微提升至 45.7 MHz,相同測試程式下的 IPC 由 0.7 提升至 0.856,

整體效能則增加了23.64%。

目前對於整個計畫的執行任務,已經完整地達成。由於本計畫屬於實務型的研究,

在學術期刊發表論文較不易,然而其成果預計可以完成一篇碩士論文,預計於2012年年 底完成。然而,相關研究則產出三篇論文。另外,對於參預人員而言皆能獲得處理大型 數位系統之實務經驗,這相對於目前大多數以著重於理論學習之學生而言,未嘗不是另 外一種值得珍惜之道,尤其是技職體系學生。對於工業界而言,參預人員均能順利進入 職場,發揮其所學,貢獻於社會。這亦是大學教育之首要目標:培養社會需要的實務人 才。

相關研究論文發表:

投稿中的期刊論文:

1. Mehrdad Fallahpour, Ming-Bo Lin, and Chang-Hong Lin, “Parallel Photon-Mapping Rendering on a Mesh-NoC-Based MPSoC Platform,” submitted to ACM TOG (Sept. 2012) 2. Mehrdad Fallahpour, Ming-Bo Lin, and Chang-Hong Lin, “Parallel Ray Tracing on a Mesh-NoC-Based MPSoC Platform,” submitted to IEEE TPDS (Aug. 2012)

已發表之會議論文:

1. Mehrdad Fallahpour, Chang-Hong Lin, Ming-Bo Lin, and Chin-Yu Chang, “Parallel One- and Two-Dimensional FFTs on GPGPUs”, 2012 IEEE International Conference on Anti-Counterfeiting Security and Identification (IEEE ASID2012), Taipei, Aug 24-26, 2012, pp. 316-320.

國科會補助計畫衍生研發成果推廣資料表

日期:2012/10/30

國科會補助計畫

計畫名稱: 一個32位元多執行緒CPU架構研究與實現 計畫主持人: 林銘波

計畫編號: 100-2221-E-011-062- 學門領域: 計算機結構與計算機系統

無研發成果推廣資料

100 年度專題研究計畫研究成果彙整表

計畫主持人:林銘波 計畫編號:100-2221-E-011-062-

計畫名稱:一個 32 位元多執行緒 CPU 架構研究與實現

其他成果

(

無法以量化表達之成 果如辦理學術活動、獲 得獎項、重要國際合 作、研究成果國際影響 力及其他協助產業技 術發展之具體效益事 項等,請以文字敘述填 列。)

成果項目 量化 名稱或內容性質簡述

測驗工具(含質性與量性) 0

課程/模組 0

電腦及網路系統或工具 0

教材 0

舉辦之活動/競賽 0

研討會/工作坊 0

電子報、網站 0

目 計畫成果推廣之參與(閱聽)人數 0

相關文件