?摘要: 片上系統(tǒng)(SoC) 發(fā)展到片上網(wǎng)絡(luò)(NoC) , 能量消耗逐漸成為芯片設(shè)計的首要限制因素。通過建立CMOS 電路和網(wǎng)絡(luò)通訊2 個層面不同的功耗模型, 從集成電路不同的設(shè)計層次、片上網(wǎng)絡(luò)通訊功耗以及NoC 映射問題等方面進行NoC 的低功耗設(shè)計, 綜合分析NoC 的低功耗設(shè)計方法。
引言:隨著單個芯片上集成的晶體管數(shù)量超過10 億數(shù)量級, 能量消耗已經(jīng)逐漸成為芯片設(shè)計的首要限制因素。集成電路的設(shè)計重點也從芯片的功能需求轉(zhuǎn)變?yōu)楣男枨?。NoC作為未來芯片設(shè)計的發(fā)展方向, 研究其功耗問題意義重大。
????? 1? 功耗模型
1. 1? CMOS 邏輯電路的功耗模型
集成電路的功耗主要由動態(tài)功耗、短路功耗、靜態(tài)功耗和漏電流功耗4 個方面組成 。
?。?1) 動態(tài)功耗是電路中的節(jié)點電容充放電行為產(chǎn)生的, 可以由以下表達式表述:
?
式中: Vdd為電源電壓; Ci 為被充放電的節(jié)點電容; i為節(jié)點活性因子( 表示節(jié)點電容充放電的平均次數(shù)與開關(guān)頻率的比值) ; f 為開關(guān)頻率。
?。?2) 短路功耗是在一定條件下電源到地產(chǎn)生的短路電流形成的, 其表達式為:
式中: k 由工藝和電壓決定; W 為晶體管的寬度; τ為輸入信號的上升/ 下降時間; f 為開關(guān)頻率。
?。?3) 靜態(tài)功耗是電路在穩(wěn)定時所形成的功耗。
( 4) 漏電流功耗是指由亞閥值電流和反向偏壓電流造成的功耗。
以靜態(tài)CMOS 電路為主的集成電路中, 動態(tài)功耗是整個電路功耗的主要組成部分, 其次為短路功耗, 而靜態(tài)功耗和漏電流功耗在大多數(shù)情況下可以忽略不計[ 23] 。
分析動態(tài)功耗的構(gòu)成公式可以得出降低電源電壓、減小電路節(jié)點電容和節(jié)點開關(guān)活性等方法, 從而降低集成電路的功耗。
集成電路的動態(tài)功耗與電源電壓的平方成正比關(guān)系, 因此, 降低電源電壓可以大幅度減少功耗。但一般電源電壓Vdd應(yīng)不小于閥值電壓V t 的2~ 3 倍,如果電源電壓小到接近閥值電壓, 電路的延遲會明顯加大, 因此, 為了保證電路的性能, 可以采用適當?shù)偷拈y值電壓V t 。但V t 也不能無限制的降低, 必須保持一定的噪聲裕度, 而且當V t 下降時, 漏電流造成的功耗也會相應(yīng)增加。
從另一方面考慮動態(tài)功耗是電路中節(jié)點電容的充放電行為產(chǎn)生的, 節(jié)點充放電的頻率是一個重要的參數(shù), 而節(jié)點活性因子正是反映節(jié)點充放電的頻率的參數(shù), 電路的有效電容是節(jié)點活性因子與節(jié)點電容的乘積。避免無用的充放電行為, 采用各種低活性的電路結(jié)構(gòu)可以降低功耗。
1. 2? 片上網(wǎng)絡(luò)通訊功耗模型:
Or io n 提出的功耗模型( Pow er Model ),是首次提出的運用在網(wǎng)絡(luò)中的功耗模型。片上網(wǎng)絡(luò)( NoC) 將網(wǎng)絡(luò)通信的原理引入到片上系統(tǒng)的設(shè)計中, 適用Pow er Model 功耗模型。片上網(wǎng)絡(luò)通訊功耗是指片上網(wǎng)絡(luò)的任意資源節(jié)點間的數(shù)據(jù)通訊所產(chǎn)生的功耗, 在Pow er Model 功耗模型中傳輸一個數(shù)據(jù)片( f lit ) 的功耗用Eflit 表示。
式中: Ebuf 表示緩沖器的功耗; E ar b表示仲裁的功耗;E xb表示交叉開關(guān)( Crossbar) 的功耗; Ecn = Ebuf+ Earb+ Exb表示通訊節(jié)點內(nèi)部的功耗; Elnk 表示通道( link )的功耗。假設(shè)H 表示數(shù)據(jù)片經(jīng)過的網(wǎng)絡(luò)跳數(shù), 數(shù)據(jù)片( f lit) 從資源節(jié)點Ri 傳輸?shù)劫Y源節(jié)點R j 的功耗:
當H = D 時, 此時的功耗為最低, 即:
這里的D 是源節(jié)點到目的節(jié)點采用最短路由算法所得的曼哈頓距離( Manhattan Distance) 。
2? 降低功耗的辦法:
2. 1? 集成電路不同的設(shè)計層次:
文獻[ 5] 介紹了工藝級低功耗設(shè)計和優(yōu)化技術(shù)這一設(shè)計層次的低功耗方法。版圖級低功耗設(shè)計和優(yōu)化技術(shù)基于Elmore 模型, 優(yōu)化電路的主要功耗是互連線的功耗。布局布線技術(shù)從只考慮面積和延時的因素, 發(fā)展到通過加入來自設(shè)計前端的信號活動信息以實現(xiàn)對功耗的優(yōu)化。門級低功耗設(shè)計和優(yōu)化技術(shù)包括時序調(diào)整、公因子提取、工藝映射、門尺寸優(yōu)化和路徑平衡等方法[ 67] 。文獻[ 6 ] 介紹的時序調(diào)整( Ret iming) 方法通過插入新的寄存器或重新安排寄存器的位置, 達到減少門的翻轉(zhuǎn)頻率或減少通過流水線的最長段延遲, 以此減少功耗。文獻[ 7] 利用公因子提取方法實現(xiàn)了多級電路的低功耗。工藝映射方法把翻轉(zhuǎn)率高的節(jié)點隱藏到負載電容小的門單元的內(nèi)部, 從而降低功耗。門尺寸優(yōu)化方法是對非關(guān)鍵路徑的門縮小尺寸從而減小面積和功耗。路徑平衡方法通過避免多余的偽跳變從而節(jié)省功耗。RTL 結(jié)構(gòu)級低功耗設(shè)計及優(yōu)化技術(shù)這一層次的低功耗方法包括邏輯綜合和優(yōu)化技術(shù)及并行設(shè)計( Parallelism) 和流水線設(shè)計( Pipeline) 技術(shù)。并行設(shè)計和流水線設(shè)計是通過增大面積來提升性能和減低功耗, 采用并行設(shè)計后, 電路面積每增長n 倍, 電容增大n 倍, 對應(yīng)的頻率和電壓下降n 倍, 因為功耗與電壓的平方成正比,所以功耗可以降低n2 倍。系統(tǒng)級低功耗設(shè)計和優(yōu)化技術(shù)這一層次的低功耗技術(shù)包括軟硬件劃分、存儲器優(yōu)化[ 8] 、指令級優(yōu)化、動態(tài)功耗管理[ 9] 和總線低功耗設(shè)計等。
2. 2? 片上網(wǎng)絡(luò)通訊方面:
2. 2. 1? 內(nèi)部緩沖器功耗:
發(fā)生競爭時, 需要內(nèi)部緩存臨時儲存低優(yōu)先級的分組。在開關(guān)結(jié)構(gòu)電路中, 緩存通常用共享的靜態(tài)RAM 或者動態(tài)RAM 儲存器實現(xiàn)。存儲器訪問消耗的能量由輸入分組之間的競爭決定。目的地競爭是獨立于應(yīng)用的, 不管是用何種開關(guān)結(jié)構(gòu)體系?;ミB線競爭依賴于開關(guān)結(jié)構(gòu)體系, 不同的體系拓撲會產(chǎn)生不同的競爭, 因此, 可以通過優(yōu)化拓撲結(jié)構(gòu)設(shè)計改善儲存器訪問的功耗。
2. 2. 2? 通道的功耗:
假設(shè)有一個基于RailtoRail 結(jié)構(gòu)的撥動開關(guān),通道上的位能量Eln k可以通過以下公式計算:
其中: Cw ire 為通道的線電容, Cinput 為連接到互連線上的輸入門的總電容。Cw = Cwire+ Cinput 為位傳播的總負載電容。
互連線電容的充放電行為決定了通道互連線的功耗。因此, 兩方面的技術(shù)可以采用, 一是盡可能減小開關(guān)活性, 二是采用基于漢明距離的低功耗編碼技術(shù)。
2. 2. 3? 開關(guān)功耗:
不同的開關(guān)結(jié)構(gòu)對網(wǎng)絡(luò)性能( 如延遲、吞吐量、功耗等) 的影響不同。下面分析交換結(jié)構(gòu)中功耗問題和對具有不同數(shù)目出口和入口的交換結(jié)構(gòu)體系的功耗估計方法。
2. 2. 3. 1? Crossbar 開關(guān)結(jié)構(gòu)[ 10]
Cr ossbar 拓撲對輸入輸出之間的連接使用空間劃分多路選擇器。如圖2 所示, 每個輸入輸出連接有自己的專用數(shù)據(jù)路徑, 因此, Crossbar 結(jié)構(gòu)沒有互連競爭。隨著輸入和輸出端口數(shù)的增加, 開關(guān)功耗將呈現(xiàn)線性增加, 對端口數(shù)多的開關(guān)結(jié)構(gòu), 功耗將非常高。
2. 2. 3. 2? 全連接網(wǎng)絡(luò)[ 10]:
與Cro ssbar 網(wǎng)絡(luò)相似, 全連接網(wǎng)絡(luò)中也沒有互連競爭, 在它們的功耗模型中沒有使用內(nèi)部緩沖器。每個全連接開關(guān)網(wǎng)絡(luò)的位能量消耗在互連線和多路選擇器上, 多路選擇器的復(fù)雜度伴隨著輸入端數(shù)量的增加而更為復(fù)雜, 其功耗也隨之增大。
2. 2. 3. 3? Bany an 網(wǎng)絡(luò)[ 10]:
n 維Bany an 網(wǎng)絡(luò)有N = 2n個輸入和N = 2n個輸出, 在n 個階段開關(guān)的總數(shù)是1/ 2 N ! log2 N , 每個階段用i 表示( 0 ? i ? n) 。Banyan 網(wǎng)絡(luò)中同一互連可能被不同的數(shù)據(jù)路徑共享, 從而存在互連競爭問題, 在每個內(nèi)部節(jié)點開關(guān)中需要設(shè)置一個緩沖器。
Bany an 網(wǎng)絡(luò)中的二進制開關(guān)比Cro ssbar 中的交叉節(jié)點開關(guān)更復(fù)雜, 當位數(shù)據(jù)從輸入端口交換到輸出端口, 二進制開關(guān)消耗的能量更多。
2. 2. 3. 4? BatcherBanyan 網(wǎng)絡(luò)[ 10]:
該結(jié)構(gòu)由Batcher 排序網(wǎng)絡(luò)和Bany an 網(wǎng)絡(luò)組合構(gòu)成, 其中, 競爭問題由Batcher 排序網(wǎng)絡(luò)解決, 后面跟著Banyan 網(wǎng)絡(luò)。在排序網(wǎng)絡(luò)中, 每個輸入輸出競爭都有自己的專用路徑, 從而不存在互連競爭問題。
盡管BatcherBany an 網(wǎng)絡(luò)解決了互連競爭問題, 但它是以增加輸入和輸出之間階段數(shù)為代價的, 它共有1/ 2( log2 N) ( log2 N + 1) 階段, 這將增加位能量在開關(guān)和互連上的消耗。
互連競爭在內(nèi)部緩沖器中引起大量的能量消耗,隨著吞吐量的增加, 緩沖器中的功耗將急劇增加。對端口數(shù)少的開關(guān)結(jié)構(gòu), 內(nèi)部節(jié)點開關(guān)功耗是主要的,對于端口數(shù)非常大的開關(guān)結(jié)構(gòu), 互連線功耗將占支配地位。
不同的開關(guān)交換結(jié)構(gòu)體系其各自的功耗消耗主體不同, 可以根據(jù)不同的應(yīng)用要求, 將芯片從整體上分成幾大部分, 各部分采用不同的拓撲結(jié)構(gòu), 以期實現(xiàn)芯片性能、面積和功耗的有機統(tǒng)一。
2. 3? NoC 映射問題:
NoC 映射是在給定IP 核庫和任務(wù)圖的基礎(chǔ)上,以某些設(shè)計約束( 如延遲和功耗等) 為限制條件, 將每個任務(wù)分配到合適的IP 核上以及安排各個IP 核上任務(wù)的執(zhí)行順序, 然后再決定每個IP 核在NoC 拓撲結(jié)構(gòu)中的位置。在映射時, 搜索空間隨著網(wǎng)絡(luò)尺寸的增長呈現(xiàn)階乘遞增, 對于一個包含N 個IP 核的NoC, 映射有N ! 種可能結(jié)果, 因此, 映射問題是一個NPcomplete問題。
功耗優(yōu)先的映射問題就是在給定應(yīng)用特征圖和NoC 拓撲結(jié)構(gòu)圖的基礎(chǔ)上, 將應(yīng)用特征圖中的每個處理單元分配到NoC 的資源節(jié)點上, 并且使整個系統(tǒng)的通訊功耗最小。以蟻群算法為典型的生物仿生算法在解決NoC 映射問題方面應(yīng)用比較廣泛 。
3? 結(jié)束語:
NoC 是未來芯片發(fā)展的方向, 而功耗問題是No c 設(shè)計的一個關(guān)鍵問題。本研究從不同的功耗模型出發(fā), 從集成電路不同的設(shè)計層次、片上網(wǎng)絡(luò)通訊功方面以及NoC 映射問題來討論NoC 的低功耗設(shè)計, 綜合現(xiàn)有功耗解決的最新方案, 對NoC 的功耗研究做了一個比較全面的歸類分析。
評論
查看更多