国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一種降低DSP芯片總線功耗的設計方案

發布時間:2010-11-25 22:39    發布者:designer
關鍵詞: dsp , 功耗 , 總線
1 引言

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

這些使用廣泛的小型移動產品包括蜂窩電話、手持PDA 和GPS導航器等。對于此類微型產品的設計,要求DSP芯片必須具有極低功耗從而最大程度延長電池壽命和減小產品尺寸。

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

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

(1)Bus2Invert Code譯碼器

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

(2) T0 Code譯碼器

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

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

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

2 總線模型

在芯片的制造技術到達了深亞微米級(DSM)時,總線功耗已經成為一個重要的問題,總線功耗的降低對于芯片整體的功耗降低已經越來越重要,因此在DSM下建立一個合理的總線模型是首先要解決的問題。

圖1是在文獻中由Paul P. Sotiriadis和Anantha P. Chandrakasan提出的一個DSM總線的線間電容的模型。從圖1可以看出,當工藝水平達到深亞微米級時,總線模型已經與以往的模型發生了較大的變化,我們必須細致的考慮線間的電感效應,因此,圖1模型具有較好的說明性。實際中,用到的是如圖2所示經過簡化的模型。





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





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

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





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

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

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

在總線上傳輸的數據也經常出現具有固定步長地址序列,那么可以利用這一特點對其加以優化。而乘加運算中的數據是一個隨機的序列,需要用特殊的譯碼器來解決。對于超哈佛總線結構的DSP芯片的低功耗總線設計,則要綜合考慮這兩方面的需求。

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

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

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

4 最小海明距離編碼算法

(1)局部化原理

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

(2) 算法目標

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

(3) 編碼算法數學模型

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

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

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

5 算法及其證明

(1)構造算法

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

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

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

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





6 設計的實現及硬件譯碼器的選擇

(1)設計的實現方法

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

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

(2)舉例

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





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

7 實驗結果

首先取得總線模型翻轉時在Hspice上的仿真結果。

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

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

表1 模擬仿真結果









8 結論

DSP芯片,需要綜合考慮總線上傳輸指令地址和數據兩種情況,新方案兼顧了兩種編碼器的優點。針對超哈佛總線結構的DSP芯片的特點,利用編碼算法對指令地址的傳輸情況進行優化,并用硬件上Bus2Invert Code對數據傳輸情況進行改良。試驗結果證明新方案對于降低超哈佛總線結構的DSP芯片總線功耗是十分有效的;而在既傳輸數據又傳輸指令的普林斯頓總線上,新方案在傳輸指令和傳輸數據兩種情況下都可以降低總線功耗,達到了試驗的目的,證明通過多種編碼器來降低DSM總線上的功耗是一種可行的辦法。
本文地址:http://m.qingdxww.cn/thread-41800-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美va亚洲va国产综合 | 欧美曰韩一区二区三区 | 五月婷婷六月丁香 | 天天操天天插天天干 | 成人伊人亚洲人综合网站222 | 日日噜噜夜夜狠狠va视频 | 在线免费国产视频 | 一级特黄aaa免费 | 欧美日韩精品一区二区在线播放 | 男啪女| h国产在线观看 | 四虎国产精品永久在线 | 亚洲欧美色图片 | 91精品欧美一区二区综合在线 | 国产蝌蚪| 天空之城动漫在线观看完整版免费 | 在线免费黄 | 久草免费新视频 | 免费网站看av片 | 日本在线免费观看 | 九九久久精品国产免费看小说 | 亚洲欧美日韩伦中文 | 古典武侠二区 | 99视频全部免费精品全部四虎 | 黄色片免费在线看 | 亚洲欧美国产中文 | 99热88| 日本一区不卡在线观看 | 日本高清视频在线三级 | 久久国产精品99久久久久久牛牛 | 三级国产精品一区二区 | 国产极品美女在线观看 | 九色视频在线看 | 99色视频在线 | 免费视频色| h网站亚洲 | 国产午夜爽爽窝窝在线观看 | 欧美成人aa久久狼窝动画 | 国产精品东方伊甸园 | 国产成人精品久久二区二区 | 最近中文字幕完先锋资源 |