<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種降低DSP芯片總線(xiàn)功耗的設計方案

一種降低DSP芯片總線(xiàn)功耗的設計方案

作者: 時(shí)間:2008-09-22 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

近年來(lái),功能強大和密集型的數字信號處理器()已廣應用于當前許多小型移動(dòng)產(chǎn)品中,并成為必不可少的部分。

這些使用廣泛的小型移動(dòng)產(chǎn)品包括蜂窩電話(huà)、手持PDA 和GPS導航器等。對于此類(lèi)微型產(chǎn)品的設計,要求芯片必須具有極從而最大程度延長(cháng)電池壽命和減小產(chǎn)品尺寸。

現代的高性能芯片中或多或少采取了一些與通用處理器相同的設計,如對于DSP芯片的片內存儲器,就有通過(guò)設計的存儲單元,采用Divided-Word-L ine (DWL)譯碼設計等方法來(lái)降低DSP芯片的存儲器部分的功耗。但是對于SoC而言,由于其總線(xiàn)上掛有很多設備,導致總線(xiàn)的電容負載很大。如果總線(xiàn)與片外設備聯(lián)系,那么,它還要驅動(dòng)很長(cháng)的片外連線(xiàn)以及片外設備,負載高達50pF,比SoC內部各個(gè)節點(diǎn)的電容負載0. 05pF高出三個(gè)量級。一般而言, SoC總線(xiàn)的功耗占SoC總功耗的10% ~80%;一個(gè)已經(jīng)對內部電路優(yōu)化過(guò)的SoC,總線(xiàn)功耗約占50%。隨著(zhù)寬度的增加,總線(xiàn)消耗的功率占SoC總功率的比重越來(lái)越大,因此,總線(xiàn)的低功耗設計很重要。

然而現代的許多高性能DSP芯片在設計過(guò)程中,并沒(méi)有考慮到這一問(wèn)題,隨著(zhù)集成電路工藝的不斷提升,如何降低總線(xiàn)功耗的問(wèn)題已經(jīng)越來(lái)越重要。在文獻[ 1 ]中由Paul P. Sotiriadis和Anantha P. Chandrakasan提出的一個(gè)DSM總線(xiàn)的線(xiàn)間電容的模型下,人們已經(jīng)對于降低總線(xiàn)功耗提出了一些編碼算法和譯碼器,并且通過(guò)在采用RISC體系結構處理器的芯片上試驗取得了較好的效果,其中比較有代表性的有Bus2Invert Code譯碼器、T0 Code譯碼器等。

(1)Bus2Invert Code譯碼器

定義總線(xiàn)的寬度是N, b ( t)為內核MCU計算出來(lái)的t時(shí)刻總線(xiàn)數據(即編碼前的數據) , B ( t)是t時(shí)刻已放到總線(xiàn)上的數據(即編碼后的數據) , J ( t)是解碼器解碼后的數據, H ( t)是指b ( t)和b ( t-1)的Hamming Distance??偩€(xiàn)傳輸數據時(shí),相鄰兩次讀取的數據都是確定的,因此可以確定兩次數據b ( t)和b ( t-1)的Hamming Distance,如果2 ×H ( t) >N ,這說(shuō)明總線(xiàn)上有超過(guò)一半的信號需要翻轉,這時(shí)如果將第二次傳輸的數據逐位取反再傳輸,就可以減少信號翻轉的次數。這種譯碼器適用于數據總線(xiàn),可以在數據總線(xiàn)上傳輸隨機數據時(shí)大幅降低的功耗,但是對于隨機性不強的地址總線(xiàn)的優(yōu)化并不明顯。

(2) T0 Code譯碼器

T0 譯碼器的原理在于盡可能地減少總線(xiàn)的翻轉次數,由于指令總線(xiàn)上的地址在多數情況下都是以相同的增量增加(在沒(méi)有跳轉等情況下PC = PC +N。這里N 是一個(gè)定值) ,因此規定當兩個(gè)相鄰的數據的差為N 時(shí),總線(xiàn)上的數據不變化,只有當不為N 時(shí)才傳輸新的數據。如果在設計中采用T0編碼的譯碼器和解碼器,那么則在下面這種情況下可以達到最低的功耗:如果數據流中的數據都是以同樣的間隔的無(wú)限序列,T0 編碼可以使得在總線(xiàn)上傳輸這些數據時(shí),總線(xiàn)上沒(méi)有出現翻轉。譯碼器則對于有規律性變化的地址總線(xiàn)的優(yōu)化非常顯著(zhù),而對隨機性較大的數據總線(xiàn)的功耗降低沒(méi)有什么幫助。

由于DSP處理器與通用處理器的體系結構的差異,決定了一些適用于通用處理器的方法并不一定適用于DSP處理器,以上的方法還未應用在DSP處理器中。

然而DSP處理器的獨特構造也為DSP處理器的低功耗總線(xiàn)設計提供了條件:DSP處理器執行的程序中需要執行大量的乘加運算來(lái)實(shí)現DSP算法,需要獨立的地址生成器生成大量有相同間隔的連續地址,從而極其利于類(lèi)似T0的編碼算法對其優(yōu)化;而DSP處理器處理的數據大多為隨機性非常強的隨機數列,可以發(fā)揮Bus-Invert Code譯碼器的作用。

2 總線(xiàn)模型

在芯片的制造技術(shù)到達了深亞微米級(DSM)時(shí),總線(xiàn)功耗已經(jīng)成為一個(gè)重要的問(wèn)題,總線(xiàn)功耗的降低對于芯片整體的功耗降低已經(jīng)越來(lái)越重要,因此在DSM下建立一個(gè)合理的總線(xiàn)模型是首先要解決的問(wèn)題。

圖1是在文獻[ 1 ] 中由Paul P. Sotiriadis和Anantha P. Chandrakasan提出的一個(gè)DSM總線(xiàn)的線(xiàn)間電容的模型。從圖1可以看出,當工藝水平達到深亞微米級時(shí),總線(xiàn)模型已經(jīng)與以往的模型發(fā)生了較大的變化,我們必須細致的考慮線(xiàn)間的電感效應,因此,圖1模型具有較好的說(shuō)明性。實(shí)際中,用到的是如圖2所示經(jīng)過(guò)簡(jiǎn)化的模型。

用式(1)和式(2)表示在不同時(shí)刻第i根總線(xiàn)上的電壓:

其中T表示總線(xiàn)上的時(shí)鐘周期,Vinew表示第i根總線(xiàn)上的電壓(0或者是Vdd ) ,Vi ( x, t)表示t時(shí)刻上第i根總線(xiàn)上的電壓值,而當一根總線(xiàn)的電壓發(fā)生變化時(shí),其消耗的能量可以計算出為 Ei=∫T 0VddIi( x)dx,

而全部n根總線(xiàn)上的消耗的功耗為E = ∑Ei ,由此可以用矩陣的寫(xiě)法式(3)和式(4)來(lái)表示

從式(6)可以明顯地發(fā)現, 如果想降低總線(xiàn)上的功耗,主要的方法就是使總線(xiàn)上傳遞數據時(shí),在兩次傳輸的數據過(guò)程中,盡量減少總線(xiàn)的翻轉次數。因此,在降低總線(xiàn)功耗的編碼方法中,就是通過(guò)編碼的方式進(jìn)行優(yōu)化,使得當傳輸相同的數據時(shí),經(jīng)過(guò)優(yōu)化的總線(xiàn)上的翻轉次數減少,從而降低總線(xiàn)上的功耗。

3 最小海明距離編碼的設計思路

現代的高性能DSP芯片中也或多或少采取了一些與通用處理器相同的低功耗設計,如對于DSP芯片的片內存儲器就有通過(guò)設計低功耗的存儲單元, 采用Divided-Word-L ine(DWL)譯碼設計等方法來(lái)降低DSP芯片的存儲器部分的功耗,而由于DSP芯片的特殊性,我們可以采用一些特有的低功耗設計:DSP芯片支持的常用算法有FFT, F IR等,都需要大量乘加運算,因此DSP芯片中有一個(gè)獨特的部件地址生成器來(lái)提高數據的地址生成速度,而生成的地址通常為具有固定步長(cháng)的地址。

在總線(xiàn)上傳輸的數據也經(jīng)常出現具有固定步長(cháng)地址序列,那么可以利用這一特點(diǎn)對其加以?xún)?yōu)化。而乘加運算中的數據是一個(gè)隨機的序列,需要用特殊的譯碼器來(lái)解決。對于超哈佛總線(xiàn)結構的DSP芯片的低功耗總線(xiàn)設計,則要綜合考慮這兩方面的需求。

現在已經(jīng)提出的一些譯碼器和編碼算法都只是從一方面進(jìn)行優(yōu)化,如Bus-Invert Code對于降低隨機序列的功耗比較有效,但是對于順序序列的效果并不明顯; T0 Code由于需要增加一個(gè)信號參加譯碼器的譯碼,因此使譯碼器的硬件設計更為復雜,而且對于時(shí)序的控制比較困難。如果能找到一種合適的方法兼顧到各種不同的需要,就可以應用在DSP芯片的總線(xiàn)設計中并達到降低總線(xiàn)功耗的作用。

首先,我們需要從編碼的角度看,設計出一種新的編碼算法,從而在不增加任何硬件開(kāi)銷(xiāo)的情況下,通過(guò)采用改進(jìn)的編碼器來(lái)降低總線(xiàn)上的功耗;然后,再選取一種低功耗譯碼器,使它能彌補編碼算法的不足,從而進(jìn)一步降低功耗。

需要注意的是,兩種譯碼器不能是基于同一原理,否則兩者的結合無(wú)法互相彌補彼此的不足,其效果與單獨使用一種方法無(wú)本質(zhì)區別。我們不采用T0編碼器的原因在于,它只針對間隔固定的序列有效,由于這個(gè)間隔是一個(gè)確定的值,所以不是很靈活,而最小海明距離編碼算法則比它靈活一些。

4 最小海明距離編碼算法

(1)局部化原理

局部化原理分為時(shí)間局部性原理和空間局部性原理。我們根據計算機的空間局部性原理,也就是說(shuō)由于在相對較短的一段時(shí)間內,處理器會(huì )重復訪(fǎng)問(wèn)相對集中的一部分數據,因此在總線(xiàn)上傳輸的數據有這樣一個(gè)特點(diǎn):總線(xiàn)上傳輸的地址具有一定的連續性,也就是說(shuō),在一段時(shí)間內,總線(xiàn)上的數據具有連續性(如0000, 0001, 0010, 0011, .) 。隨著(zhù)多媒體技術(shù)和DSP技術(shù)的廣泛應用,現代高速處理器更是具有這樣的特點(diǎn),在大部分數字處理算法中,需要進(jìn)行大量的乘加運算,通常這些數據都是存放在連續地址的存儲器內,對此加以利用,就可以找到一些方法來(lái)降低總線(xiàn)的功耗。

(2) 算法目標

通過(guò)一個(gè)合理的編碼方案,盡可能地減少當有相同間隔的連續地址在總線(xiàn)上傳輸時(shí)總線(xiàn)上的翻轉,從而達到降低總線(xiàn)功耗的目的。

(3) 編碼算法數學(xué)模型

由于在前面已經(jīng)確定了算法的目的,因此建立了一個(gè)取得編碼的數學(xué)模型。算法的中心思想在于:將對于連續地址(更廣泛地說(shuō)是指固定步長(cháng))的兩個(gè)碼字的編碼采取變化,使得在總線(xiàn)上傳輸的兩個(gè)相鄰的數據之間的海明距離變小,從而減少總線(xiàn)的翻轉次數。因此,可以將對于任意間隔固定步長(cháng)兩個(gè)碼字的海明距離降到最低,即為1。

定義一個(gè)無(wú)向圖G,定義總線(xiàn)寬度是N,總線(xiàn)上可能出現的所有的數據則有2N個(gè),將其命名為M ( 1 ) , M ( 2 ) ,M(2N )作為圖的2N 個(gè)節點(diǎn),當且僅當兩個(gè)節點(diǎn)M ( s)和M ( t(0 s, t 2N + 1)所對應的編碼的海明距離為1時(shí),存在一條無(wú)向邊連接這兩個(gè)節點(diǎn),這樣就構成了一個(gè)無(wú)向圖,因此,我們的目標就是在這個(gè)無(wú)向圖中找到一個(gè)Hamilton圈,使得所有連續地址的編碼順次在這條軌上出現,從而當總線(xiàn)上順次出現連續地址時(shí),總線(xiàn)翻轉減少。

也就是說(shuō),我們需要在一個(gè)有2個(gè)節點(diǎn)的無(wú)向圖中找到一個(gè)Hamilton圈,然后將地址依次對應到每個(gè)節點(diǎn)上。在一個(gè)有n個(gè)節點(diǎn)的無(wú)向圖中搜索一個(gè)Hamilton圈本來(lái)是一個(gè)NP問(wèn)題但是,由于這里n = 2N ,并且兩個(gè)節點(diǎn)之間的連接關(guān)系有一定的特殊性,因此,在這樣一個(gè)特定條件下在O ( n)的復雜度內完全可以實(shí)現。

5 算法及其證明

(1)構造算法

①首先構造一個(gè)地址為兩位的排列,如圖3所示。兩位地址構造,圓圈代表編碼,只有海明距離為1的點(diǎn)之間才有連線(xiàn)。

②當n = k時(shí)成立,利用n = k的編碼序列作為基礎,構造n = k + 1的編碼序列。
注意:由于當我們構造一個(gè)n = k + 1情況下的編碼時(shí),是利用一個(gè)已經(jīng)完成的n = k的編碼,因此當選用不同的n = k的編碼,所得到的n = k + 1的編碼也是不同的。

(2)證明。在這里,采用歸納的方法來(lái)證明算法的正確性

①在N = 2的情況下,可以很容易找到一個(gè)解(圖4) 。
②當N = K有解時(shí),由于K≥2,因此,在N = K的Hamilton圈中至少有一條邊可以滿(mǎn)足擴展時(shí)的需要。由構造的方法可知,可以將N = K + 1情況下所有的點(diǎn)包含,因此,這樣構造出的Hamilton圈是符合我們要求的。
③同時(shí),我們可以通過(guò)在擴展時(shí)選用不同的邊,可以構造出所有滿(mǎn)足要求的Hamilton圈??梢?jiàn),在總線(xiàn)編碼這種特殊的模型下,在圖中搜索到一條Hamilton圈是可行的。

6 設計的實(shí)現及硬件譯碼器的選擇

(1)設計的實(shí)現方法

在具體的實(shí)現上,我們采用將編碼算法固化的方法來(lái)實(shí)現這一方案。在DSP芯片的地址產(chǎn)生器的輸出端增加一個(gè)譯碼器,通過(guò)譯碼器對程序產(chǎn)生的地址進(jìn)行一次映射,由于這種映射是一一對應的映射,因此對于程序員編寫(xiě)程序沒(méi)有任何影響;存儲器的設計人員也不需要考慮譯碼器的問(wèn)題,只需要采用Bus-Invert Code譯碼器代替通常采用的譯碼器。

這樣就可以兼顧兩者的優(yōu)點(diǎn):當總線(xiàn)上傳輸的地址是連續地址時(shí),地址譯碼器輸出的地址碼是一個(gè)海明距離很小的序列,可以減少總線(xiàn)的翻轉次數;當總線(xiàn)上傳輸的地址不是連續地址時(shí),也就是說(shuō)是一個(gè)較為隨機的序列,如果兩個(gè)數據之間的海明距離比較大時(shí),Bus-Invert Code電路就可以發(fā)揮作用,使海明距離大于總線(xiàn)寬度一半的編碼序列,從而降低總線(xiàn)傳輸的功耗。

(2)舉例

以一個(gè)0~16的序列在總線(xiàn)上傳輸為例,左邊一列是常規方法的譯碼結果,右邊一列為采用新方法的結果。

通過(guò)本例可以很明顯地看出當總線(xiàn)上的數據出現連續序列時(shí),可以大大降低總線(xiàn)上的翻轉次數,從而降低總線(xiàn)功耗。

7 實(shí)驗結果

首先取得總線(xiàn)模型翻轉時(shí)在Hspice上的仿真結果。

圖5中顯示的是總線(xiàn)在翻轉時(shí)電流的變化圖,我們可以清晰地看出當總線(xiàn)翻轉時(shí)電流的變化非常大,而圖6則顯示的是總線(xiàn)在翻轉時(shí)電壓的變化圖,通過(guò)這兩幅圖可以得出結論,總線(xiàn)翻轉時(shí)的功耗遠大于保持原狀態(tài)所需的功耗,因此通過(guò)減少翻轉的方法降低總線(xiàn)功耗是一個(gè)有效的途徑。通過(guò)在公司的ls0201DSP芯片上的仿真測試,得到如表1的結果。

從表1可以看出,對于新的設計方案降低總線(xiàn)的功耗是有效的。其中,編碼算法對于地址譯碼器的數據線(xiàn)的優(yōu)化最為突出,這是由于DSP芯片自身的特點(diǎn)造成的。DSP處理器執行的程序中需要執行大量的乘加運算,需要獨立的地址生成器生成大量的連續地址,從而極利于編碼算法對其優(yōu)化。因此,可以說(shuō)新的設計方案對于全面降低DSP芯片內總線(xiàn)的功耗是有效的。

表1 模擬仿真結果

8 結論

DSP芯片,需要綜合考慮總線(xiàn)上傳輸指令地址和數據兩種情況,新方案兼顧了兩種編碼器的優(yōu)點(diǎn)。針對超哈佛總線(xiàn)結構的DSP芯片的特點(diǎn),利用編碼算法對指令地址的傳輸情況進(jìn)行優(yōu)化,并用硬件上Bus2Invert Code對數據傳輸情況進(jìn)行改良。試驗結果證明新方案對于降低超哈佛總線(xiàn)結構的DSP芯片總線(xiàn)功耗是十分有效的;而在既傳輸數據又傳輸指令的普林斯頓總線(xiàn)上,新方案在傳輸指令和傳輸數據兩種情況下都可以降低總線(xiàn)功耗,達到了試驗的目的,證明通過(guò)多種編碼器來(lái)降低DSM總線(xiàn)上的功耗是一種可行的辦法。



關(guān)鍵詞: DSP 低功耗

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>