天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 科技論文 > 計算機(jī)論文 >

基于LLVM的專用CPU后端移植分析與設(shè)計

發(fā)布時間:2018-07-29 15:40
【摘要】:微處理器的研發(fā)不僅是硬件的設(shè)計和制作,還包括軟件部分的設(shè)計。軟件設(shè)計主要是編譯器的移植,編譯器移植是微處理器開發(fā)的基礎(chǔ),它可以在很大程度上縮短微處理器的研發(fā)周期。當(dāng)前大部分編譯器開發(fā)人員選用GCC作為目標(biāo)處理器的支持,但是GCC使用的是RTL語言,由于RTL語言非常抽象復(fù)雜,后端移植的文檔匱乏,這使得GCC后端移植的難度很大。此時,如何快速實現(xiàn)編譯器后端移植就成為了微處理器研發(fā)中的一個難題。為了完成微處理器軟件部分的設(shè)計并縮短微處理器的研發(fā)周期,本文選用了近幾年興起的新型編譯器架構(gòu)LLVM。本文的研究內(nèi)容主要分為三個部分:首先,本文詳細(xì)分析了LLVM的編譯架構(gòu)和后端移植機(jī)制。LLVM是源于2000年美國伊利諾斯大學(xué)的一個開源項目,創(chuàng)始人是Chris Lattner。LLVM的內(nèi)容可以分為三個部分:LLVM中間表示、集成庫、工具集。LLVM的開發(fā)語言是C++,它是典型的三段式結(jié)構(gòu):前端、中端、后端。LLVM清晰的層次框架和詳細(xì)的說明文檔使得LLVM后端移植工作變得簡單易行。本文重點(diǎn)介紹了LLVM的后端設(shè)計。LLVM后端提供了很多可重定向目標(biāo)特性的結(jié)構(gòu)支持。LLVM的后端也叫代碼生成器,它分為通用的代碼生成器和后端移植接口。通用的代碼生成器集成了所有目標(biāo)處理器共有的功能,不依賴于特定的處理器。而后端移植接口為特定的目標(biāo)處理器提供了移植接口,實現(xiàn)不同目標(biāo)處理器之間的特征描述。為了支持不同的目標(biāo)處理器,生成指定的后端代碼生成器,只需要對不同的處理器進(jìn)行特征描述,然后用通用代碼生成器和后端移植接口共同去實現(xiàn)后端代碼生成器。其次,本文重點(diǎn)介紹了目標(biāo)處理器的體系結(jié)構(gòu)和特征。目標(biāo)處理器是我國自主研發(fā)的一款基于DSP的專用處理器,簡稱STX。STX使用了典型的VLIW結(jié)構(gòu),可以在單個時鐘周期內(nèi)并行執(zhí)行多條指令,大大地提高了處理器的執(zhí)行效率。處理器從體系結(jié)構(gòu)的角度有兩類:精簡指令集處理器(RISC)、復(fù)雜指令集處理器(CISC)。STX采用了RISC指令集,STX有大量的寄存器(包括32個通用寄存器和6個控制寄存器)和32位指令集,它的尋址模式簡單,6種不同的異常處理使得處理器的運(yùn)行更加安全可靠。STX的功耗低、面積小,它有著非常清晰的層次結(jié)構(gòu)和模塊化的設(shè)計思想,這樣使得芯片的設(shè)計更加人性化,更易于修改和完善。然后,本文給出了詳細(xì)的后端移植過程以及測試結(jié)果。為了實現(xiàn)LLVM對處理器STX的支持,LLVM的后端移植接口是非常重要的。LLVM的后端移植接口功能主要包括全局描述實現(xiàn)、寄存器描述實現(xiàn)、指令集描述實現(xiàn)、匯編輸出描述實現(xiàn)等。為使程序開發(fā)人員更加簡單方便地進(jìn)行目標(biāo)處理器信息的描述,LLVM工具中設(shè)計了一個非常靈活方便的工具TableGen,其是用于記錄目標(biāo)處理器信息的描述性語言,對于STX的所有特征實現(xiàn),都需要用TableGen語言和C++語言來描述。整個移植工作可以分為td文件的描述和C++文件的描述。TableGen主要用于將td文件轉(zhuǎn)換成為目標(biāo)處理器所對應(yīng)的C++代碼。通過這些移植接口對目標(biāo)處理器STX進(jìn)行描述,最終實現(xiàn)LLVM對STX的支持。
[Abstract]:The research and development of the microprocessor is not only the design and production of the hardware, but also the design of the software part. The software design is mainly the transplant of the compiler. The compiler transplantation is the foundation of the microprocessor development. It can greatly shorten the development cycle of the microprocessor. Most compiler developers choose GCC as the target processor at present. Support, but GCC uses the RTL language, because the RTL language is very abstract and complex, the back end transplant is scarce, which makes the GCC back-end transplant very difficult. At this time, how to quickly implement the compiler back end transplantation has become a difficult problem in the microprocessor research and development. The research cycle of LLVM. is divided into three parts: first, this paper analyzes the compiler architecture of LLVM and the back-end transplant mechanism.LLVM is an open source project originate from the American University of Illinois in 2000, and the founder is the inside of Chris Lattner.LLVM. The capacity can be divided into three parts: the LLVM intermediate representation, the integration library, the development language of the tool set.LLVM is C++, which is a typical three segment structure: the front, middle, back end.LLVM clear hierarchical framework and detailed description documents make the LLVM back end migration easier and easier. This article focuses on the back end of the LLVM design, which provides the.LLVM back end. Many redirecting target features support the back end of the.LLVM, also called a code generator, which is divided into a common code generator and a back end port. The common code generator integrates all the common functions of the target processor, not on a specific processor. The back end migration interface provides the specific target processor. In order to support different target processors, to generate the specified back end code generator, it only needs to describe the characteristics of different processors, and then use the universal code generator and the back end transplant interface to implement the back end code generator. Secondly, this paper focuses on this paper. The architecture and characteristics of the target processor. The target processor is a special processor based on DSP in our country. The STX.STX uses a typical VLIW structure, which can execute multiple instructions in a single clock cycle, greatly improving the execution efficiency of the processor. The processor has two types of architecture from the perspective of Architecture: fine The simple instruction set processor (RISC), the complex instruction set processor (CISC).STX uses the RISC instruction set, STX has a large number of registers (including 32 general registers and 6 control registers) and 32 bit instruction set, its addressing mode is simple, 6 different kinds of exception handling make the processor run more secure and reliable, the power consumption of.STX is low and the area is small. With a very clear hierarchy and modular design, this makes the chip more humanized, easier to modify and perfect. Then, this article gives a detailed back end migration and test results. In order to implement LLVM's support for processor STX, the back end port of the LLVM is a very important back end shift of the.LLVM. The function of the implant interface mainly includes global description implementation, register description implementation, instruction set description implementation, assembly output description and so on. In order to make program developers more simple and convenient to describe the information of the target processor, a very flexible and convenient tool, TableGen, is designed in the LLVM tool, which is used to record the target processor. Descriptive language of information, for all features of STX, needs to be described in TableGen and C++ languages. The entire migration work can be divided into TD file description and C++ file description.TableGen mainly for converting TD files into C++ code corresponding to target processors. A description is made to ultimately support LLVM's support for STX.
【學(xué)位授予單位】:成都理工大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2017
【分類號】:TP332

【參考文獻(xiàn)】

相關(guān)期刊論文 前10條

1 吳艷霞;顧國昌;孫延騰;楊敏;楊杰;牛曉霞;孫霖;;面向應(yīng)用的可重構(gòu)編譯器ASCRA(英文)[J];計算機(jī)科學(xué)與探索;2011年03期

2 崔瑩;辛?xí)猿?沈鋼綱;;基于UEFI的嵌入式驅(qū)動程序的開發(fā)研究[J];計算機(jī)工程與設(shè)計;2010年10期

3 劉飛;孫永節(jié);孫海燕;;基于C6x平臺的GCC編譯器移植[J];科技信息;2010年07期

4 吳克壽;任小西;李仁發(fā);黎雷生;;GCC到Nios系統(tǒng)的移植研究與實現(xiàn)[J];湖南大學(xué)學(xué)報(自然科學(xué)版);2007年08期

5 王國棟,侯朝煥;GCC在高性能微處理器DSP和CPU上的移植[J];計算機(jī)工程與設(shè)計;2005年04期

6 張麗杰,呂少中;方舟CPU體系結(jié)構(gòu)及其嵌入式SOC[J];現(xiàn)代電子技術(shù);2005年06期

7 李文龍,劉利,湯志忠;軟件流水中的循環(huán)展開優(yōu)化[J];北京航空航天大學(xué)學(xué)報;2004年11期

8 馮鋼,鄭扣根;基于GCC的交叉編譯器研究與開發(fā)[J];計算機(jī)工程與設(shè)計;2004年11期

9 任小西,李仁發(fā),張克環(huán),郭媛妮;一種基于多目標(biāo)設(shè)計方法的嵌入式編譯器技術(shù)[J];計算機(jī)應(yīng)用;2004年02期

10 鄭豐宙,陳文光,楊博,鄭緯民;基于Range Test的交互式數(shù)據(jù)相關(guān)性分析技術(shù)[J];清華大學(xué)學(xué)報(自然科學(xué)版);2000年01期

相關(guān)重要報紙文章 前1條

1 張兆慶;馮曉兵;;我國編譯器研發(fā)的歷史與現(xiàn)狀[N];科技日報;2002年

相關(guān)博士學(xué)位論文 前3條

1 楊燦群;面向高效能計算的編譯關(guān)鍵技術(shù):精度、性能與功耗[D];國防科學(xué)技術(shù)大學(xué);2007年

2 任坤;DSP編譯器關(guān)鍵技術(shù)研究[D];浙江大學(xué);2007年

3 琚小明;面向媒體處理器可重定目標(biāo)編譯器的設(shè)計研究[D];浙江大學(xué);2004年

相關(guān)碩士學(xué)位論文 前10條

1 謝虎成;基于LLVM的科學(xué)計算程序自動性能預(yù)測研究[D];哈爾濱工業(yè)大學(xué);2015年

2 涂先勝;基于GCC的Matrix2 DSP編譯優(yōu)化關(guān)鍵技術(shù)研究與實現(xiàn)[D];國防科學(xué)技術(shù)大學(xué);2014年

3 胡敏;基于LLVM編譯架構(gòu)的CSKY后端移植[D];浙江大學(xué);2014年

4 張祖羽;基于LLVM的C*Core后端移植研究[D];哈爾濱工程大學(xué);2012年

5 韓永杰;LLVM編譯系統(tǒng)結(jié)構(gòu)分析及ARCA3后端移植[D];哈爾濱工業(yè)大學(xué);2010年

6 董峰;LLVM編譯系統(tǒng)結(jié)構(gòu)分析與后端移植[D];上海交通大學(xué);2007年

7 董峻峰;基于龍芯2號結(jié)構(gòu)特征對GCC的分析與優(yōu)化[D];中國科學(xué)院研究生院(計算技術(shù)研究所);2006年

8 楊川龍;基于GCC的嵌入式系統(tǒng)編譯器的研究與開發(fā)[D];哈爾濱工程大學(xué);2006年

9 任小西;嵌入式系統(tǒng)編譯器的快速生成方法研究[D];湖南大學(xué);2004年

10 馮鋼;基于GCC的嵌入式系統(tǒng)編譯器研究與開發(fā)[D];浙江大學(xué);2004年



本文編號:2153154

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2153154.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶f3530***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com
欧美一级不卡视频在线观看| 精品国产91亚洲一区二区三区| 色婷婷视频免费在线观看| 内射精品欧美一区二区三区久久久| 九七人妻一区二区三区| 国产不卡免费高清视频| 少妇特黄av一区二区三区| 东京不热免费观看日本| 国产精品大秀视频日韩精品| 久草精品视频精品视频精品| 国产精品一区二区有码| 国产av一区二区三区麻豆| 91精品视频全国免费| 亚洲欧美日韩网友自拍| 在线欧美精品二区三区| 美日韩一区二区精品系列| 成人精品亚洲欧美日韩| 丝袜诱惑一区二区三区| 亚洲人午夜精品射精日韩| 日韩高清毛片免费观看| 日韩精品综合免费视频| 国产免费黄片一区二区| 日木乱偷人妻中文字幕在线| 激情综合网俺也狠狠地| 女生更色还是男生更色| 久久中文字幕中文字幕中文| 欧美精品久久99九九| 成人三级视频在线观看不卡| 免费特黄欧美亚洲黄片| 久久亚洲午夜精品毛片| 久久亚洲精品成人国产| 亚洲专区中文字幕在线| 污污黄黄的成年亚洲毛片| 我要看日本黄色小视频| 激情少妇一区二区三区| 久草精品视频精品视频精品| 精品一区二区三区免费看| 成人精品日韩专区在线观看| 偷拍美女洗澡免费视频| 国产精品免费视频视频| 欧美丰满人妻少妇精品|