DSP編譯器關鍵技術研究.pdf_第1頁
已閱讀1頁,還剩135頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、為了提高特定應用環(huán)境下的運行速度,DSP增加了許多特殊的指令和功能單元,體系結構越來越不規(guī)則。傳統(tǒng)的代碼生成算法是一種分治算法,沒有考慮指令和寄存器之間的約束關系,難以應用在DSP編譯器中。必須為DSP編譯器發(fā)展出新的代碼生成算法,以適應新的需求和挑戰(zhàn)。本文主要研究了DSP編譯器的若干關鍵技術,DSP編譯器的目標機器平臺是浙江大學自主研發(fā)的媒體DSP——SPOCK。 編譯器前端包括詞法分析器、語法分析器和中間代碼生成器等。針對D

2、SP的體系結構特點,重新改造了LCC編譯器中記號、符號表、數(shù)據(jù)類型支持等數(shù)據(jù)結構,并使LCC前端能夠正確的處理計算溢出和數(shù)據(jù)類型轉換等。 DSP的體系結構復雜多變,擁有高級語言難以表述的諸多特性,代碼生成技術是編譯器最難、最復雜的技術之一,它從根本上決定了一個編譯器的效率和性能。代碼生成技術共分三個子問題:指令選擇、寄存器分配以及指令調度,傳統(tǒng)的分步優(yōu)化算法生成的目標代碼往往是次優(yōu)代碼。本文研究了包括時間約束、資源約束和DSP體

3、系約束等特性,指出必須發(fā)展出同時考慮指令選擇、寄存器分配和指令調度的新算法,才有可能為DSP生成優(yōu)化的目標代碼。 根據(jù)最優(yōu)化原理,提出調度DAG的概念,給出了同時考慮指令選擇和寄存器分配的代碼綜合生成算法。該代碼生成算法在指令生成過程中,充分考慮的指令和寄存器之間的約束,將代碼優(yōu)化生成的問題轉化為在調度DAG中尋找一條優(yōu)化路徑的問題。 在傳統(tǒng)的圖染色算法中,僅僅用物理寄存器個數(shù)——n表示寄存器堆的模型,這種簡單的方式不足

4、以描述DSP寄存器的約束關系。提出了一個能夠描述這些約束關系的DSP寄存器模型,該模型將DSP的寄存器分成若干類,并定義了它們之間的相互約束量和優(yōu)先級別。傳統(tǒng)圖染色算法只能有效地為通用處理器分配寄存器,改進了圖染色算法,將算法的應用范圍延伸到DSP領域。提出了有向沖突圖的概念,有向邊的權值代表寄存器類之間的約束值,寄存器分配的過程就是對有向圖進行簡化、歸約的過程。給出判斷有向沖突圖節(jié)點染色性的精確判據(jù),當沖突圖中所有節(jié)點都不可染色,算法

5、就選擇一個優(yōu)化的節(jié)點溢出到存儲器中。 中間語言反映源語言的結構,又和目標體系相關,具有目標語言的特性。中間語言對編譯器的結構和功能影響很大,其形式是多方面考慮的折中。本文基于XML語言,擴展了IBURG的樹文法。這種中間語言的好處就是簡單明確,描述能力強,能方便地描述DSP體系結構的特征。為DSP編譯器的重定位提供了一個良好的機制,簡化了DSP編譯器充定位的難度。 LCC是一個重定位的通用處理器編譯器系統(tǒng)。采用LCC的前端,應用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論