龍芯Ⅰ編譯器中的指令調(diào)度相關(guān)優(yōu)化
發(fā)布時(shí)間:2021-11-28 08:17
指令調(diào)度相關(guān)的優(yōu)化是現(xiàn)代編譯器后端的重要組成部分。本文就通用處理器龍芯I的編譯器中機(jī)器模型、靜態(tài)指令調(diào)度、和全局延遲槽調(diào)度等與指令調(diào)度相關(guān)的問題進(jìn)行了研究。機(jī)器模型有助于提高編譯器的靈活性和可移植性,它把后端優(yōu)化所需要的機(jī)器信息集中在一起并轉(zhuǎn)換為后端可用的形式。本文首先介紹了現(xiàn)有的幾種主流編譯器的機(jī)器模型,包括GCC,Pro64等。然后詳細(xì)的分析了ORC (Open Research Compiler)的機(jī)器模型,并通過龍芯I編譯器機(jī)器模型的實(shí)際移植過程探討了機(jī)器模型移植的一般過程和原則。靜態(tài)指令調(diào)度決定指令執(zhí)行順序,屏蔽指令間由于依賴關(guān)系而產(chǎn)生的延遲,從而提高了指令的并行度。本文首先分析了硬件動(dòng)態(tài)調(diào)度和靜態(tài)指令調(diào)度之間的關(guān)系,說明了靜態(tài)指令調(diào)度的必要性,然后介紹了指令調(diào)度在龍芯I編譯器中的具體實(shí)現(xiàn),最后給出了實(shí)驗(yàn)結(jié)果以說明指令調(diào)度的實(shí)際效果。由于龍芯I處理器中采用了延遲槽來減少由于分支而造成的延遲,因此優(yōu)化編譯器如何高效的利用延遲槽對(duì)于性能來說十分重要。本文對(duì)延遲槽調(diào)度中調(diào)度范圍,所處編譯階段等問題進(jìn)行了分析,對(duì)全局延遲槽調(diào)度可能出現(xiàn)的沖突及候選指令的區(qū)域進(jìn)行了研究,提出了一種全局延...
【文章來源】:中國科學(xué)院大學(xué)(中國科學(xué)院計(jì)算技術(shù)研究所)北京市
【文章頁數(shù)】:44 頁
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘 要
abstract
第一章 引言
1.1 龍芯I 編譯器框架簡介
1.2 機(jī)器模型
1.3 靜態(tài)指令調(diào)度
1.4 全局延遲槽調(diào)度
1.5 論文的組織
第二章 機(jī)器模型
2.1 現(xiàn)有幾種機(jī)器模型簡介
2.1.1 GCC 的機(jī)器模型
2.1.2 Pro64 的機(jī)器模型
2.2 龍芯I 編譯器機(jī)器模型
2.2.1 龍芯I 體系結(jié)構(gòu)簡介
2.2.2 ORC 編譯器機(jī)器模型簡介
2.2.3 機(jī)器模型的移植
2.3 結(jié)論與展望
第三章 靜態(tài)指令調(diào)度
3.1 背景簡介
3.2 超標(biāo)量機(jī)的指令調(diào)度
3.2.1 龍芯I 處理器中的動(dòng)態(tài)調(diào)度介紹
3.2.2 龍芯I 中靜態(tài)指令調(diào)度的重要性
3.3 指令調(diào)度實(shí)現(xiàn)
3.3.1 region 的構(gòu)造
3.3.2 調(diào)度區(qū)域當(dāng)中基本塊順序的確定
3.3.3 SrcBB 的選取
3.3.4 候選指令的選擇
3.3.5 選擇最佳候選指令
3.3.6 資源相關(guān)檢測和被發(fā)射指令的確定
3.3.7 局部指令調(diào)度
3.4 實(shí)驗(yàn)結(jié)果和分析
3.5 展望
第四章 全局延遲槽調(diào)度
4.1 背景介紹
4.2 延遲槽調(diào)度:問題的提出和策略的選擇
4.2.1 延遲槽調(diào)度的范圍
4.2.2 延遲槽調(diào)度階段的選擇
4.2.3 被填充指令相關(guān)問題的分析和改進(jìn)
4.2.3.1 被填充指令移動(dòng)的類型和對(duì)策
4.2.3.2 基本塊之間延遲槽調(diào)度可能的沖突及預(yù)防
4.2.3.3 候選指令范圍的改進(jìn)
4.3 全局延遲槽調(diào)度算法
4.4 實(shí)驗(yàn)結(jié)果和結(jié)論
4.5 結(jié)論及未來工作展望
致謝
參考文獻(xiàn)
作者簡介
發(fā)表文章目錄
【參考文獻(xiàn)】:
期刊論文
[1]基于Open64上的特殊指令合成策略研究與實(shí)現(xiàn)[J]. 陳金娥,黃勝兵. 軟件工程. 2018(02)
碩士論文
[1]面向BWDSP的SIMD編譯優(yōu)化技術(shù)研究與實(shí)現(xiàn)[D]. 黃勝兵.中國科學(xué)技術(shù)大學(xué) 2016
[2]YHFT-Matrix編譯器全局指令調(diào)度相關(guān)技術(shù)的研究與實(shí)現(xiàn)[D]. 劉飛.國防科學(xué)技術(shù)大學(xué) 2013
[3]基于龍芯SIMD技術(shù)的RealVideo解碼優(yōu)化[D]. 劉波.中國石油大學(xué) 2008
本文編號(hào):3524058
【文章來源】:中國科學(xué)院大學(xué)(中國科學(xué)院計(jì)算技術(shù)研究所)北京市
【文章頁數(shù)】:44 頁
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘 要
abstract
第一章 引言
1.1 龍芯I 編譯器框架簡介
1.2 機(jī)器模型
1.3 靜態(tài)指令調(diào)度
1.4 全局延遲槽調(diào)度
1.5 論文的組織
第二章 機(jī)器模型
2.1 現(xiàn)有幾種機(jī)器模型簡介
2.1.1 GCC 的機(jī)器模型
2.1.2 Pro64 的機(jī)器模型
2.2 龍芯I 編譯器機(jī)器模型
2.2.1 龍芯I 體系結(jié)構(gòu)簡介
2.2.2 ORC 編譯器機(jī)器模型簡介
2.2.3 機(jī)器模型的移植
2.3 結(jié)論與展望
第三章 靜態(tài)指令調(diào)度
3.1 背景簡介
3.2 超標(biāo)量機(jī)的指令調(diào)度
3.2.1 龍芯I 處理器中的動(dòng)態(tài)調(diào)度介紹
3.2.2 龍芯I 中靜態(tài)指令調(diào)度的重要性
3.3 指令調(diào)度實(shí)現(xiàn)
3.3.1 region 的構(gòu)造
3.3.2 調(diào)度區(qū)域當(dāng)中基本塊順序的確定
3.3.3 SrcBB 的選取
3.3.4 候選指令的選擇
3.3.5 選擇最佳候選指令
3.3.6 資源相關(guān)檢測和被發(fā)射指令的確定
3.3.7 局部指令調(diào)度
3.4 實(shí)驗(yàn)結(jié)果和分析
3.5 展望
第四章 全局延遲槽調(diào)度
4.1 背景介紹
4.2 延遲槽調(diào)度:問題的提出和策略的選擇
4.2.1 延遲槽調(diào)度的范圍
4.2.2 延遲槽調(diào)度階段的選擇
4.2.3 被填充指令相關(guān)問題的分析和改進(jìn)
4.2.3.1 被填充指令移動(dòng)的類型和對(duì)策
4.2.3.2 基本塊之間延遲槽調(diào)度可能的沖突及預(yù)防
4.2.3.3 候選指令范圍的改進(jìn)
4.3 全局延遲槽調(diào)度算法
4.4 實(shí)驗(yàn)結(jié)果和結(jié)論
4.5 結(jié)論及未來工作展望
致謝
參考文獻(xiàn)
作者簡介
發(fā)表文章目錄
【參考文獻(xiàn)】:
期刊論文
[1]基于Open64上的特殊指令合成策略研究與實(shí)現(xiàn)[J]. 陳金娥,黃勝兵. 軟件工程. 2018(02)
碩士論文
[1]面向BWDSP的SIMD編譯優(yōu)化技術(shù)研究與實(shí)現(xiàn)[D]. 黃勝兵.中國科學(xué)技術(shù)大學(xué) 2016
[2]YHFT-Matrix編譯器全局指令調(diào)度相關(guān)技術(shù)的研究與實(shí)現(xiàn)[D]. 劉飛.國防科學(xué)技術(shù)大學(xué) 2013
[3]基于龍芯SIMD技術(shù)的RealVideo解碼優(yōu)化[D]. 劉波.中國石油大學(xué) 2008
本文編號(hào):3524058
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3524058.html
最近更新
教材專著