魂芯DSP編譯設(shè)計(jì)與優(yōu)化
發(fā)布時(shí)間:2020-06-05 04:15
【摘要】:近年來,隨著國家自主設(shè)計(jì)芯片的能力的增強(qiáng),涌現(xiàn)了一批成熟的產(chǎn)品級處理器芯片,主要有中科院計(jì)算所研制的龍芯、江南計(jì)算所研制的申威、國防科大研制的銀河飛騰、北大眾志、蘇州國芯、杭州中天、華東電子工程研究所的魂芯等。為了突破市場,圍繞自主芯片構(gòu)建完善的“硬件平臺-基礎(chǔ)軟件-應(yīng)用”的生態(tài)系統(tǒng)成為研發(fā)工作的重要任務(wù)。其中,編譯系統(tǒng)在該生態(tài)系統(tǒng)中占據(jù)至關(guān)重要的地位。論文以基于自主設(shè)計(jì)的魂芯DSP處理器構(gòu)建優(yōu)化編譯器作為研究課題,主要研究工作摘要如下。(1)論文綜合對比主流開源編譯基礎(chǔ)設(shè)施Open64、GCC、LLVM的重定向機(jī)制、優(yōu)化技術(shù),總結(jié)了基于開源編譯基礎(chǔ)設(shè)施進(jìn)行編譯開發(fā)的選型標(biāo)準(zhǔn),并闡述了移植開源基礎(chǔ)設(shè)施到魂芯DSP硬件平臺的關(guān)鍵技術(shù)。(2)針對魂芯DSP分塊內(nèi)存的特點(diǎn),創(chuàng)新地提出對程序中的存儲訪問構(gòu)建關(guān)于變量的沖突圖,針對分塊內(nèi)存進(jìn)行存儲塊分配,優(yōu)化數(shù)據(jù)在分塊內(nèi)存的分布,使得編譯器生成的代碼可以最大程度地挖掘程序中數(shù)據(jù)訪問的并行性;考慮了分塊內(nèi)存、傳參規(guī)則、向量化指令以及指令本身的固有特性等多個(gè)因素設(shè)計(jì)了面向數(shù)據(jù)并行的優(yōu)化分簇算法,有效地解決了面向高數(shù)據(jù)并行領(lǐng)域分簇結(jié)構(gòu)處理器的并行性挖掘。(3)魂芯DSP體系結(jié)構(gòu)的主要特性是向量化體系結(jié)構(gòu),包括訪存向量化和計(jì)算向量化。提出針對循環(huán)采取基于依賴分析的向量化方法以及對未成功向量化的循環(huán)基本塊和其它基本塊采取超字級并行性(SLP)技術(shù)相結(jié)合的向量化框架。(4)針對魂芯DSP分簇結(jié)構(gòu)、支持SIMD、VLIW的體系結(jié)構(gòu)特點(diǎn)研究模調(diào)度框架的實(shí)現(xiàn)方法。介紹了零開銷循環(huán)識別和轉(zhuǎn)換方法;論述了分簇結(jié)構(gòu)、支持SIMD、VLIW體系結(jié)構(gòu)的機(jī)器資源描述方法;研究了模調(diào)度與循環(huán)展開的關(guān)系;提出了模變量擴(kuò)展的算法框架;描述了基于推測執(zhí)行的代碼生成模式。(5)針對魂芯DSP先進(jìn)的謂詞機(jī)制,提出了高效的編譯實(shí)現(xiàn)框架。對比分析了魂芯DSP兩種謂詞形式,給出其各自的優(yōu)勢所在以及各自的適用范圍。深入研究了兩種謂詞形式的特性以及編譯支持方法。創(chuàng)新地提出基于循環(huán)展開的分簇結(jié)構(gòu)部分謂詞實(shí)現(xiàn)框架。(6)針對數(shù)字信號領(lǐng)域典型的FFT算法,研究其在魂芯DSP體系結(jié)構(gòu)下的優(yōu)化技術(shù)。創(chuàng)新地提出了基于部分逆序、面向高數(shù)據(jù)并行的FFT優(yōu)化算法框架。
【圖文】:
算機(jī)科學(xué)太多的方面有關(guān),而這個(gè)術(shù)語本身含義過窄,已無法表達(dá)這一領(lǐng)域目前逡逑的研究范圍。逡逑然而編譯系統(tǒng)最重要的作用依舊是高級語言到機(jī)器碼的轉(zhuǎn)換器,如圖1.1所示。逡逑它是聯(lián)系幾乎所有軟件與硬件的橋梁,,是運(yùn)行在硬件系統(tǒng)上軟件的生成器。硬件逡逑體系結(jié)構(gòu)提供的性能,很大程度上取決于編譯系統(tǒng)的生成代碼的效率。逡逑r—邐-邐邐--邐邋縮逐家銷邐I逡逑操作系統(tǒng)、數(shù)據(jù)庫等系邐2^邐.逡逑統(tǒng)軟件、應(yīng)用軟件邐^做斤逡逑圖1.1編譯系統(tǒng)的作用逡逑Fig邋1.1邋Role邋of邋compiler逡逑到目前為止,編譯器領(lǐng)域最為突出的成就仍舊是高級語言的廣泛使用。從銀逡逑行、企業(yè)的管理軟件,到高性能計(jì)算和各種互聯(lián)網(wǎng)應(yīng)用,絕大多數(shù)軟件都是用高逡逑級語言編寫的。編譯系統(tǒng)通過眾多優(yōu)化技術(shù),比如冗余代碼刪除、循環(huán)變換、逡逑寄存器分配、軟件流水、指令調(diào)度等達(dá)到生成優(yōu)化代碼的目的。逡逑編譯技術(shù)在自身發(fā)展過程中,有W下幾個(gè)特點(diǎn)。逡逑?編譯系統(tǒng)作為硬件系統(tǒng)結(jié)構(gòu)與軟件應(yīng)用的橋梁,隨著處理器體系結(jié)構(gòu)的發(fā)展逡逑而發(fā)展。逡逑編譯系統(tǒng)最開始出現(xiàn)的價(jià)值
計(jì)方法、針對體系結(jié)構(gòu)的編譯優(yōu)化方法。逡逑1.2.2魂怞DSP體系結(jié)構(gòu)逡逑魂巧DSP的體系結(jié)構(gòu)如圖1.2所示。它是一款16發(fā)射,多級流水線,4簇結(jié)逡逑構(gòu)、支持向量化和謂詞執(zhí)行的高性能通用數(shù)字信號處理器。逡逑它是一款分簇的氋性能DSP,分簇結(jié)構(gòu)P7,W可W有效X椉硬云逑到峁溝鬧噶鑠義霞恫⑿卸齲圖惺教逑到峁瓜嘍雜,蕮尃铈|⑽尷咄ㄐ擰⑹悠、图像、视频辶x系仁中藕糯砹煊蚋呤薟⑿寫磧τ梅⒄溝男枰。辶x廈扛齟賾校粒亂趁婕拇嫫鰨扛鲆趁婕拇嫫鞲鍪叮,邋8个碎`趼嘸慫愕ピ義希ǎ粒蹋眨,8庚Z朔ㄆ鰨ǎ停眨蹋,eN鲆莆黃鰨ǎ櫻齲疲,一个特殊功能单元(研U);促戨簇之辶x霞洳捎么丶浯渥芟咄ㄐ擰K母齟胤直鴇旰盼卮,Y簇,T熦,T簇,每庚e乜賞義鮮畢蚱淥掣齟厥涑觶叮矗猓椋羰蕁5敲扛齟刂荒芏寥∑渲幸桓齟氐拇朧蕁C扛鰣義
本文編號:2697491
【圖文】:
算機(jī)科學(xué)太多的方面有關(guān),而這個(gè)術(shù)語本身含義過窄,已無法表達(dá)這一領(lǐng)域目前逡逑的研究范圍。逡逑然而編譯系統(tǒng)最重要的作用依舊是高級語言到機(jī)器碼的轉(zhuǎn)換器,如圖1.1所示。逡逑它是聯(lián)系幾乎所有軟件與硬件的橋梁,,是運(yùn)行在硬件系統(tǒng)上軟件的生成器。硬件逡逑體系結(jié)構(gòu)提供的性能,很大程度上取決于編譯系統(tǒng)的生成代碼的效率。逡逑r—邐-邐邐--邐邋縮逐家銷邐I逡逑操作系統(tǒng)、數(shù)據(jù)庫等系邐2^邐.逡逑統(tǒng)軟件、應(yīng)用軟件邐^做斤逡逑圖1.1編譯系統(tǒng)的作用逡逑Fig邋1.1邋Role邋of邋compiler逡逑到目前為止,編譯器領(lǐng)域最為突出的成就仍舊是高級語言的廣泛使用。從銀逡逑行、企業(yè)的管理軟件,到高性能計(jì)算和各種互聯(lián)網(wǎng)應(yīng)用,絕大多數(shù)軟件都是用高逡逑級語言編寫的。編譯系統(tǒng)通過眾多優(yōu)化技術(shù),比如冗余代碼刪除、循環(huán)變換、逡逑寄存器分配、軟件流水、指令調(diào)度等達(dá)到生成優(yōu)化代碼的目的。逡逑編譯技術(shù)在自身發(fā)展過程中,有W下幾個(gè)特點(diǎn)。逡逑?編譯系統(tǒng)作為硬件系統(tǒng)結(jié)構(gòu)與軟件應(yīng)用的橋梁,隨著處理器體系結(jié)構(gòu)的發(fā)展逡逑而發(fā)展。逡逑編譯系統(tǒng)最開始出現(xiàn)的價(jià)值
計(jì)方法、針對體系結(jié)構(gòu)的編譯優(yōu)化方法。逡逑1.2.2魂怞DSP體系結(jié)構(gòu)逡逑魂巧DSP的體系結(jié)構(gòu)如圖1.2所示。它是一款16發(fā)射,多級流水線,4簇結(jié)逡逑構(gòu)、支持向量化和謂詞執(zhí)行的高性能通用數(shù)字信號處理器。逡逑它是一款分簇的氋性能DSP,分簇結(jié)構(gòu)P7,W可W有效X椉硬云逑到峁溝鬧噶鑠義霞恫⑿卸齲圖惺教逑到峁瓜嘍雜,蕮尃铈|⑽尷咄ㄐ擰⑹悠、图像、视频辶x系仁中藕糯砹煊蚋呤薟⑿寫磧τ梅⒄溝男枰。辶x廈扛齟賾校粒亂趁婕拇嫫鰨扛鲆趁婕拇嫫鞲鍪叮,邋8个碎`趼嘸慫愕ピ義希ǎ粒蹋眨,8庚Z朔ㄆ鰨ǎ停眨蹋,eN鲆莆黃鰨ǎ櫻齲疲,一个特殊功能单元(研U);促戨簇之辶x霞洳捎么丶浯渥芟咄ㄐ擰K母齟胤直鴇旰盼卮,Y簇,T熦,T簇,每庚e乜賞義鮮畢蚱淥掣齟厥涑觶叮矗猓椋羰蕁5敲扛齟刂荒芏寥∑渲幸桓齟氐拇朧蕁C扛鰣義
本文編號:2697491
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2697491.html
最近更新
教材專著