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