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