多核DSP的編譯器及其并行編程模型的開發(fā)和研究
發(fā)布時(shí)間:2017-03-21 16:13
本文關(guān)鍵詞:多核DSP的編譯器及其并行編程模型的開發(fā)和研究,由筆耕文化傳播整理發(fā)布。
【摘要】:隨著語音通信技術(shù)的發(fā)展,語音信號的處理變得越來越復(fù)雜,通用的數(shù)字信號處理器(DSP,Digital Signal Processor)已經(jīng)無法滿足應(yīng)用的需求。因此,需要設(shè)計(jì)專門的多核DSP來實(shí)現(xiàn)對語音信號的處理。在DSP開發(fā)過程中,利用傳統(tǒng)的編譯器框架來構(gòu)建編譯器存在種種工程實(shí)現(xiàn)方面的不便,而廣泛采用的并行編程模型也無法充分利用多核計(jì)算資源。因此,編譯器開發(fā)和編程模型設(shè)計(jì)已經(jīng)成為了當(dāng)前多核處理器研究中的關(guān)鍵問題。針對上述問題,本文基于自主設(shè)計(jì)的MAD(Multi-Core Audio DSP)多核平臺,展開了關(guān)于MAD的編譯器和并行編程模型的研究。我們基于LLVM(Low Level Virtual Machine)開源編譯器框架,通過移植面向MAD架構(gòu)的編譯器后端實(shí)現(xiàn)了編譯器的設(shè)計(jì)。文中詳細(xì)介紹了MAD多核DSP架構(gòu),LLVM編譯器框架的結(jié)構(gòu)組成,LLVM重定向特性,以及LLVM后端的移植原理和步驟。并且給出了MAD后端移植的具體細(xì)節(jié),實(shí)現(xiàn)了LLVM編譯器對MAD后端的支持。本文提出了一種混合型編程模型,其結(jié)合了共享內(nèi)存編程模型和消息傳遞編程模型的雙重優(yōu)點(diǎn)。并且給出了其任務(wù)調(diào)度,核間通信,任務(wù)同步操作,鎖操作等具體實(shí)現(xiàn)細(xì)節(jié)。最后,對編譯器功能以及并行編程模型的性能進(jìn)行了測試,并且實(shí)現(xiàn)了300bps語音編解碼算法的實(shí)時(shí)通信。編譯器測試主要是通過自動生成的測試文件進(jìn)行功能性測試,實(shí)驗(yàn)結(jié)果表明所開發(fā)的編譯器可以很好地支持MAD指令集;并行編程模型測試是通過Livermore loops程序測試集進(jìn)行性能方面的測試,實(shí)驗(yàn)結(jié)果表明測試程序利用該編程模型可以獲得較高的加速比;利用開發(fā)的編譯器和并行編程模型,對300bps低碼率語音編解碼算法進(jìn)行了多核并行優(yōu)化,在MAD平臺上實(shí)現(xiàn)了實(shí)時(shí)通信,并且與在TI C5535 DSP上的運(yùn)行結(jié)果進(jìn)行了對比。實(shí)驗(yàn)結(jié)果顯示編譯器和編程模型能有效地對實(shí)際應(yīng)用實(shí)現(xiàn)并行加速,以滿足性能需求。
【關(guān)鍵詞】:多核 MAD DSP LLVM 編譯器 后端移植 并行編程模型 混合型 Livermore loops 測試
【學(xué)位授予單位】:上海交通大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2015
【分類號】:TP314
【目錄】:
- 摘要3-5
- ABSTRACT5-12
- 第一章 緒論12-19
- 1.1 課題研究背景及其現(xiàn)狀12-17
- 1.1.1 編譯器開發(fā)研究背景及其現(xiàn)狀12-14
- 1.1.2 多核并行編程模型研究背景以及其現(xiàn)狀14-17
- 1.2 課題研究目標(biāo)及其主要內(nèi)容17
- 1.3 論文結(jié)構(gòu)17-19
- 第二章 MAD體系架構(gòu)介紹19-26
- 2.1 多核系統(tǒng)體系架構(gòu)介紹19-20
- 2.1.1 內(nèi)存組織19-20
- 2.1.2 核間通信20
- 2.2 單核系統(tǒng)體系架構(gòu)介紹20-25
- 2.2.1 數(shù)據(jù)類型和對齊方式21
- 2.2.2 寄存器介紹21-23
- 2.2.3 指令集介紹23-25
- 2.3 本章小結(jié)25-26
- 第三章 LLVM編譯器系統(tǒng)及后端移植機(jī)制介紹26-45
- 3.1 LLVM與GCC編譯器系統(tǒng)比較26-27
- 3.2 LLVM編譯器系統(tǒng)結(jié)構(gòu)組成27-29
- 3.3 LLVM可重定向機(jī)制的支持29-32
- 3.3.1 代碼生成器29-30
- 3.3.2 后端移植接口支持30-31
- 3.3.3 TableGen31-32
- 3.3.4 工具集32
- 3.4 LLVM后端移植原理32-36
- 3.4.1 后端代碼生成流程32-34
- 3.4.2 數(shù)據(jù)結(jié)構(gòu)及其相關(guān)操作接口34-36
- 3.5 LLVM后端移植主要功能模塊的實(shí)現(xiàn)方法36-44
- 3.5.1 目標(biāo)機(jī)器結(jié)構(gòu)描述36-37
- 3.5.2 寄存器描述37-39
- 3.5.3 指令集描述39-41
- 3.5.4 指令選擇41-43
- 3.5.5 幀棧描述43-44
- 3.5.6 匯編打印器44
- 3.6 本章小結(jié)44-45
- 第四章 多核DSP編譯器后端實(shí)現(xiàn)45-59
- 4.1 MAD編譯器后端的添加45-46
- 4.1.1 復(fù)制現(xiàn)有后端45
- 4.1.2 修改MAD后端文件內(nèi)容45
- 4.1.3 修改配置文件45-46
- 4.2 MAD編譯器后端全局描述46-47
- 4.3 MAD寄存器描述47-49
- 4.3.1 MAD寄存器td描述47-48
- 4.3.2 MAD寄存器C++描述48-49
- 4.4 MAD指令描述49-53
- 4.4.1 MAD指令集td描述49-52
- 4.4.2 MAD指令集C++描述52-53
- 4.5 MAD指令選擇實(shí)現(xiàn)53-55
- 4.5.1 指令合法化53-55
- 4.5.2 指令匹配55
- 4.6 MAD幀棧描述55-56
- 4.7 VLIW功能實(shí)現(xiàn)56-57
- 4.8 MAD匯編打印實(shí)現(xiàn)57-58
- 4.9 本章小結(jié)58-59
- 第五章 并行編程模型的實(shí)現(xiàn)59-64
- 5.1 任務(wù)調(diào)度59
- 5.2 核間通信方法59-60
- 5.2.1 消息傳遞方式59-60
- 5.2.2 共享內(nèi)存方式60
- 5.3 同步操作60-61
- 5.4 鎖操作61-63
- 5.4.1 自旋鎖62
- 5.4.2 排隊(duì)自旋鎖62-63
- 5.5 本章小結(jié)63-64
- 第六章 編譯器及并行編程模型測試64-71
- 6.1 編譯器功能測試64-65
- 6.2 并行編程模型性能測試65-66
- 6.3 基于DSP平臺的 300bps語音編解碼算法的實(shí)現(xiàn)66-69
- 6.4 本章小結(jié)69-71
- 第七章 工作總結(jié)及其展望71-73
- 7.1 工作總結(jié)71-72
- 7.2 工作展望72-73
- 參考文獻(xiàn)73-75
- 致謝75-76
- 攻讀碩士學(xué)位期間已發(fā)表或錄用的論文76-78
【參考文獻(xiàn)】
中國期刊全文數(shù)據(jù)庫 前3條
1 余村;劉佩林;;一種低功耗音頻DSP的多核編程模型[J];計(jì)算機(jī)與現(xiàn)代化;2013年04期
2 朱凱佳,尹寶林;基于GCC的VLIW編譯系統(tǒng)研究[J];計(jì)算機(jī)工程與應(yīng)用;2001年12期
3 鄭飛,陸鑫達(dá);VLIW微處理器特征與編譯技術(shù)支持[J];微處理機(jī);1996年03期
本文關(guān)鍵詞:多核DSP的編譯器及其并行編程模型的開發(fā)和研究,由筆耕文化傳播整理發(fā)布。
,本文編號:259942
本文鏈接:http://sikaile.net/shoufeilunwen/xixikjs/259942.html
最近更新
教材專著