基于IMPACT的嵌入式匯編及編譯指示的研究與實(shí)現(xiàn)
發(fā)布時間:2020-05-14 06:44
【摘要】:數(shù)字信號處理器(Digital Signal Processor, DSP)往往具有不同于通用處理器的體系結(jié)構(gòu),傳統(tǒng)編譯技術(shù)生成的代碼無法滿足信號處理的高性能要求。這需要我們采用與傳統(tǒng)不同的編譯技術(shù)對代碼進(jìn)行處理。在工業(yè)界所采用的所有方法之中,編譯指示和嵌入式匯編是兩種切實(shí)可行,且被廣泛采用的方法。 BWDSP100是國內(nèi)某研究所自主研發(fā)的高性能信號處理器,本文所論述的工作是以國際知名的可重定位IMPACT編譯器為編譯基礎(chǔ)設(shè)施,為BWDSP100設(shè)計和實(shí)現(xiàn)編譯指示和嵌入式匯編。 編譯指示相關(guān)的工作包括設(shè)計和實(shí)現(xiàn)。我們?yōu)锽WDSP100設(shè)計了3種編譯指示,具體為DATA_ALIGN、DATA_MEM_BANK和DATA_SECTION。編譯指示DATA_ALIGN和編譯指示DATA_MEM_BANK主要解決C語言代碼和手寫匯編庫函數(shù)之間的相互調(diào)用問題。編譯指示DATA_SECTION可以用來解決數(shù)據(jù)在多個內(nèi)存數(shù)據(jù)塊放置的問題,而且我們開發(fā)了一種算法,此算法可以利用編譯指示DATA_SECTION攜帶的信息,優(yōu)化訪存相關(guān)的指令,實(shí)驗(yàn)表明此算法達(dá)到了良好的優(yōu)化效果。編譯指示的實(shí)現(xiàn)工作要求我們能夠在IMPACT的高層中間代碼Pcode和底層中間代碼Lcode中將編譯指示的信息正確且完備的表示出來。 我們?yōu)锽WDSP100設(shè)計了嵌入式匯編語法和語義,并在IMPACT中具體實(shí)現(xiàn)。嵌入式匯編語法和語義的設(shè)計既參考工業(yè)界既有嵌入式匯編的設(shè)計,同時,還結(jié)合BWDSP100指令的特點(diǎn)。嵌入式匯編的實(shí)現(xiàn)需要修改編譯器的前端和后端。編譯器的前端需要將嵌入式匯編翻譯成Lcode形式,這涉及到抽象語法樹到Pcode的轉(zhuǎn)換,以及從Pcode到Lcode的轉(zhuǎn)換。而編譯器后端受到影響的階段有分簇,寄存器分配和指令調(diào)度。本文對各個階段所受到的影響進(jìn)行了詳細(xì)描述。
【圖文】:
AGU 是用作訪存地址計算的特殊單元,每個 AGU 上有獨(dú)立的地址寄存器文件(address register file),專用的地址運(yùn)算器(address calculationALU),內(nèi)存存取單元(load/store unit)。AGU 主要用于普通的地址加減計算,以及 load和 store 指令。在 BWDSP100 中,存儲器和運(yùn)算部件之間有兩條讀總線和一條寫總線,每條總線 256bit,BWDSP100 的 U、V、W 三個 AGU 保證了存儲器和運(yùn)算部件之間全速的數(shù)據(jù)交換。其中每個 AGU 有 16 個地址寄存器。每個計算核都有一條 2*32bit 的地址數(shù)據(jù)交換總線(addr-data-bus)與 AGU 相連,,用于 AGU 和計算核之間的數(shù)據(jù)交換。BWDSP100 的結(jié)構(gòu)如圖 2.1 所示。2.2 BWCC 研制的介紹
8圖 2.3 Pcode 內(nèi)存結(jié)構(gòu)本兩種形式。Pcode 的內(nèi)存結(jié)構(gòu)ymbolTable,一個 SymbolTable一個源程序文件。一個 IpSymtat 結(jié)構(gòu)表示,這樣的一個 Symtab一個類型信息 TypeDcl,也可以義信息 FuncDecl。TypeDcl, 形式形式,每個 SymtabEnt 結(jié)應(yīng)的信息位于 Pcode 文件具體明此 SymTabEnt 對應(yīng)的信息位于討論offset的具體作用。從上述
【學(xué)位授予單位】:中國科學(xué)技術(shù)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2011
【分類號】:TP368.1
【圖文】:
AGU 是用作訪存地址計算的特殊單元,每個 AGU 上有獨(dú)立的地址寄存器文件(address register file),專用的地址運(yùn)算器(address calculationALU),內(nèi)存存取單元(load/store unit)。AGU 主要用于普通的地址加減計算,以及 load和 store 指令。在 BWDSP100 中,存儲器和運(yùn)算部件之間有兩條讀總線和一條寫總線,每條總線 256bit,BWDSP100 的 U、V、W 三個 AGU 保證了存儲器和運(yùn)算部件之間全速的數(shù)據(jù)交換。其中每個 AGU 有 16 個地址寄存器。每個計算核都有一條 2*32bit 的地址數(shù)據(jù)交換總線(addr-data-bus)與 AGU 相連,,用于 AGU 和計算核之間的數(shù)據(jù)交換。BWDSP100 的結(jié)構(gòu)如圖 2.1 所示。2.2 BWCC 研制的介紹
8圖 2.3 Pcode 內(nèi)存結(jié)構(gòu)本兩種形式。Pcode 的內(nèi)存結(jié)構(gòu)ymbolTable,一個 SymbolTable一個源程序文件。一個 IpSymtat 結(jié)構(gòu)表示,這樣的一個 Symtab一個類型信息 TypeDcl,也可以義信息 FuncDecl。TypeDcl, 形式形式,每個 SymtabEnt 結(jié)應(yīng)的信息位于 Pcode 文件具體明此 SymTabEnt 對應(yīng)的信息位于討論offset的具體作用。從上述
【學(xué)位授予單位】:中國科學(xué)技術(shù)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2011
【分類號】:TP368.1
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 孫健,彭楚武;嵌入式匯編在通訊軟件中的一種應(yīng)用[J];微計算機(jī)應(yīng)用;1996年06期
2 梁軍杰,林芳;用匯編與VC++混合編程實(shí)現(xiàn)對硬件資源的訪問[J];電子技術(shù);1999年11期
3 郭榮軍;用嵌入式匯編檢測打印機(jī)聯(lián)機(jī)狀態(tài)[J];電腦開發(fā)與應(yīng)用;2003年04期
4 徐克奇,吳偉昶;DELPHI編程中串行通信的幾種方法[J];微計算機(jī)信息;2001年04期
5 劉廣鐘;Microsoft C/C~(++) V7.0程序壓縮技術(shù)[J];計算機(jī)工程;1994年06期
6 陳文,盧益民;MMX技術(shù)及其編程[J];電子技術(shù);2000年03期
7 遠(yuǎn)富 ,盧延詩;Windows環(huán)境下如何編寫I/O程序[J];電腦編程技巧與維護(hù);2000年08期
8 李韌,呂永;用Delphi開發(fā)基于Windows的測控系統(tǒng)[J];電腦與信息技術(shù);2000年03期
9 朱守業(yè),邵敏,王勁松;基于PC的放大器靜態(tài)工作點(diǎn)自動設(shè)置系統(tǒng)[J];電腦開發(fā)與應(yīng)用;2005年03期
10 范U
本文編號:2662969
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2662969.html
最近更新
教材專著