跳到主要內容

臺灣博碩士論文加值系統

(44.222.134.250) 您好!臺灣時間:2024/10/13 10:17
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:陳聖杰
研究生(外文):Sheng-Jie Chen
論文名稱:支援RISC-V擴充指令集的LLVM描述檔之圖形化工具
論文名稱(外文):GUI Tool to Support LLVM Target Description for RISC-V Extension Instruction Set
指導教授:黃元欣黃元欣引用關係
指導教授(外文):Yuan-Shin Hwang
口試委員:賴祐吉謝仁偉
口試委員(外文):Yu-Chi LaiJen-Wei Hsieh
口試日期:2019-11-14
學位類別:碩士
校院名稱:國立臺灣科技大學
系所名稱:資訊工程系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2019
畢業學年度:108
語文別:中文
論文頁數:52
中文關鍵詞:編譯器
外文關鍵詞:compiler
相關次數:
  • 被引用被引用:0
  • 點閱點閱:240
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
隨著新一代產品的推出,指令集架構也跟著做修改甚至大幅翻新,像是RISC-V基於原有的RISC原則開發出的開源指令集架構。
而不管是開發新的架構或者對於嵌入式系統的編譯器後端移植,
目前大多會以LLVM來處理,所以使用LLVM開發編譯器後端的效率與通用性是個值得探討的議題。
本論文提出利用LLVM TDBlock圖形化介面工具,並在原有之整數指令集的基礎下,擴充了32與64位元的原子指令,乘法指令以及壓縮指令。其主要機制為拉取程式方塊,以圖形化的方式來將複雜的指令描述檔案,依照RISC-V指令規格書能夠將指令描述檔案產生出來。
最後本論文以此圖形介面工具擴充RISC-V指令架構,描述指令資訊;並進行各種測試來確認性能與準確性。
With the introduction of a new generation of products, the instruction set architecture has also been modified or even significantly refurbished, such as the open source instruction set architecture
developed by RISC-V based on the original RISC principles. Whether it's developing a new architecture or a compiler backend port for embedded systems, most of them are currently handled by LLVM, so using LLVM to develop the efficiency and versatility of the compiler backend is a topic worth exploring.

This paper proposes to use the LLVM TDBlock graphical interface tool, and expand the 32- and 64-bit atomic instructions, multiplication instructions and compression instructions based on the original integer instruction set. The main mechanism is to pull the program block, graphically describe the complex instruction file, and the regular format can be generated the instruction description file according to the RISC-V instruction specification.

Finally, this paper uses the graphical interface tool to expand the RISC-V instruction architecture, describe the instruction information, and conduct various tests to confirm the performance and accuracy.
摘要 IV
ABSTRACT V
致謝 VI
目錄 VII
圖目錄 VII
第一章 序論 1
1.1研究背景 1
1.2研究動機 1
1.3研究目的 2
1.4研究方法 2
1.5論文架構 3
第二章 文獻回顧 4
2.1 LLVM 4
2.2 LLVM Backend 6
2.2.1 LLVM後端流程 6
2.2.2 TableGen 7
2.3 LLVM TDBlock 9
2.4 RISC-V 11
第三章 方法 12
3.1 概念 12
3.2 擴充指令集Target Description實作 12
3.2.1 Multiplication Instruction Set 13
3.2.2 Atomic Instruction Set 22
3.2.3 Compression Instruction Set 29
第四章 實驗結果 35
4.1 實驗環境 35
4.2 執行測試 35
第五章 結論與未來展望 39
5.1 結論 39
5.2 未來展望 39
參考文獻 40
[1] A. Waterman, “Design of the RISC-V Instruction Set Architecture,” Technical Report No. UCB/EECS-2016-1, EECS Department, University of California, Berkeley, January 2016.

[2] TableGen - LLVM 6 documentation. http://llvm.org/docs/TableGen/

[3] Eric Klopfer, Daniel Wendel, Ricarose Roque, Corey McCaffrey, Lunduo Ye, Aidan Ho, Brett Warne, Xudan Liu, Hout Nga, “MIT OpenBlocks,” https://github.com/mikaelhg/openblocks.

[4] C. Lattner and V. Adve, “LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation,” in Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization, ser. CGO ’04.Washington, DC,USA: IEEE Computer Society, 2004, pp. 75.

[5] LLVM Language Reference Manual
https://llvm.org/docs/LangRef.html

[6] Jun-Jie Zhan, LLVM TDBlock : GUI Programming Tool for LLVM Target Description, No. 13, Oct.2017

[7] StarLogo TNG. http://education.mit.edu/portfolio_page/starlogo-tng/.

[8] David Li, He Qichen, “ArduBlock,” https://github.com/taweili/ardublock, 2011.

[9] Tsung-Chun Lin,“MStandardExtension” https://tclin914.github.io/f37f836/, 2018

[10] Chia-Wei Chang, LLVM TDBlock : A GUI Tool to Generate RISC-V 64-Bit Integer Instruction Set, No. 2, Nov. 2018

[11] “RV32A/RV64”
https://www.cnblogs.com/mikewolf2002/p/9872618.html, 2018

[12] “RV32C/RV64”
https://www.cnblogs.com/mikewolf2002/p/9884789.html, 2018

[13] sv-benchmarks. https://github.com/PacificBiosciences/sv-benchmark

[14] SPEC: Standard Performance Evaluation Corporation. http://www.spec.org, September 2000.

[15] Andrew Waterman, Yunsup Lee, David Patterson, Krste Asanovic, “The RISC-V Instruction Set Manual, Volume I: User-Level ISA Version 2.0,” Technical Report UCB/EECS-2014-52, EECS D. Kanter, “ RISC-V Offers Simple, Modular ISA,” The Linley Group MICROPROCESSOR report, March 2016.

[16] Department, University of California, Berkeley, May 2014.

[17] Y. Lee, A. Waterman, H. Cook, B. Zimmer, B. Keller, A. Puggelli, J. Kwak, J. Bachrach, D. Patterson, E. Alon, B. Nikolic, K. Asanovic, “An Agile Approach to Building RISC-V Microprocessors,” IEEE Micro, March 2016.

[18] TableGen Language Reference. http://llvm.org/docs/TableGen/LangRef.html.

[19] Writing an LLVM Backend. http://llvm.org/docs/WritingAnLLVMBackend.html#instruction-operand-name-mapping.

[20] Chen Chung-Shu, “Tutorial: Creating an LLVM Backend for the Cpu0 Architecture,” Nov 03, 2016.

[21] Fraser Cormack, Pierre-Andre Saulais, Building an LLVM Backend. Apr, 2014.

[22] riscv-llvm. https://github.com/riscv/riscv-llvm.

[23] Mayur Pandey, Suyog Sarda, LLVM Cookbook, May, 2015.

[24] 任勝兵, 盧念, 張萬利, 潘震宇. 基於LLVM架構的Nios II後端快速移植. Computer Applications and Software, Vol. 28 No. 12, Dec. 2011.

[25] Jozef Kolek, Zoran Jovanović, Nenad Šljivić, Dragan Narančić, “Adding microMIPS Backend to the LLVM Compiler Infrastructure,” IEEE, 2013.

[26] Fraser Cormack, Pierre-André Saulais, Building an LLVM Backend, European LLVM Conference, 2014.
連結至畢業學校之論文網頁點我開啟連結
註: 此連結為研究生畢業學校所提供,不一定有電子全文可供下載,若連結有誤,請點選上方之〝勘誤回報〞功能,我們會盡快修正,謝謝!
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top