• 沒有找到結果。

在本論文中,我們以 SIU 的觀念,設計一組 VLIW 的指令集架構,嚴格 地把資料流向和運算單元獨立開。在運作時,運算單元只需不停的接受並 運 算 被 送 過 來 的 資 料 , 幾 乎 沒 有 需 要 做 動 態 決 定 的 運 算 (dynamic decision),而資料的來源和流向會在指令中被送到正確的地方。另外本論 文也將提出一個新的以資料流向為主及運算排程的程式寫法,不同於一般 以流程或迴圈為主的程式寫法。經由實際執行的結果,我們的方法十分適

用於解決 DSP 的運算。

在第二章,將介紹 SIU 資料流和幾種現今常用的暫存器檔的組織 (register organization) ,並以實作分析的數據比較以集中式暫存器組 織和分散式暫存器組織實現 SIU 資料流時,硬體複雜度和計算效能方面的 比較。另外也將介紹本 DSP 所支援的輕量型算數方法,包函:整數,非條 件式的區域型浮點數和靜態浮點數。

在第三章,將介紹控制 SIU(stream interface unit)資料產生器的方 法、指令集架構以及用 SIU 資料產生器的方式產生程式方法。把平行處理 的運算單元(function units)經由程式排挰,可變成,類似 ASIC,有前後 運算因果關係的資料流,提高硬體資源的使用率。

第四章會簡介硬體的實現方法、結果、和軟體的模擬效能,並和市面上 的 DSP 做比較。

最後在第五章總結論文結果和未來的方向。

第2章 資料流設計

在現今通訊或多媒體系統的需求而言,所處理訊號的頻寬愈來愈大。相 對地,運算量的需求也愈來愈多。單方面的增加處理器的時脈的效益並不足 以應符這些應用的運算需求。因此,在 DSP 資料流的設計上常會使用多個運 算加速器來做平行處理。

圖 2-1(a) 是 傳 統 ASIP(application specific instruction-set processor)處理 DSP 資料路徑的做法。大部分應用於信號處理的 VLSI 也大 多以這樣的 ASIP 架構為藍圖來處理信號。圖中,每一個運算模組都有自己 的 IO 規格,當運算的需求增加時,以目前 VLSI 技術可以輕易地在晶片中增 加運算模組滿足計算能力。然而,相對要,把這麼多 IO 的規格全部交由匯 流排和記憶體來安排時,複雜資料順序及重複的資料進出就會變成運算的瓶 頸。當資料無法即時送達時,再強的計算能力 DSP 資料路徑都將面臨無值可 算的窘境。因此,如圖 2-1 (b)所示,在匯流排和 DSP 資料流中間放一個規 劃好的 SIU(Stream Interface Unit),讓不同 IO 規格中改變資料排列方式 的重排動作及 DSP 資料流中會被重複計算的資料做暫存動作都放在 SIU DSG(Data stream generator)中來完成[20],這樣一方面可以讓資料在記憶 體進出的順序變得簡單,這樣就不需要使用複雜的定址方式,另一方面可以 將會被反覆運算的資料保留在 SIU 與運算模組之中,做完一定的程度之後才 寫回記憶體,以減少產本資料每進出運算模組一次就必需來回一次記憶體的 流量。

因此把 SIU 的觀念應用在微處理器資料流的設計上時,運算模組和 SIU 之間的關係就如同運算單元和暫存器檔一樣。在本章將介紹 SIU 的運作原 理、幾種暫存器組織的分類及利用實做的方法,試用集中式和分散式暫存器 檔的結果分析。

圖 2-1 SIU decouples accelerating DSP datapath from system bus

另外,在利用數位計算處理類比信號的算術方法中,可大致分為動態比 率(dynamic scaling)和靜態比率(static scaling)兩種。其中浮點數運算 是常見的動態比率的作法,以浮點數算數做計算能得到最大的精確度,但是 因為浮點數在計算上必需動態更改指數項的大小,使得計算上速度較慢而其 硬體複雜度也相當高。而另一種,靜態比率的計算中以整數運算為最常見,

相對於浮點數的特性,整數運算速度快、硬體簡單、且沒有指數項對齊或更 新的問題,但在運算前必需保留一定大小的保留位元(guard bits)以免溢位 (overflow),這樣會使位元的利用率變差。因此,本章中將介紹幾種常用於 DSP 處理的數學運算,並定義一個新的靜態浮點運算元,用於處理靜態比率 中可能發生溢位的問題,使用這個運算元能在精確度和運算速度中取得較佳 的平衡點。

相關文件