引言:隨著單個芯片上集成的晶體管數(shù)量超過10億數(shù)量級,,能量消耗已經(jīng)逐漸成為芯片設(shè)計的首要限制因素。集成電路的設(shè)計重點也從芯片的功能需求轉(zhuǎn)變?yōu)?a class="innerlink" href="http://forexkbc.com/tags/功耗" title="功耗" target="_blank">功耗需求,。NoC作為未來芯片設(shè)計的發(fā)展方向,,研究其功耗問題意義重大。
1功耗模型
1.1CMOS邏輯電路的功耗模型
集成電路的功耗主要由動態(tài)功耗,、短路功耗,、靜態(tài)功耗和漏電流功耗4個方面組成。
?。?)動態(tài)功耗是電路中的節(jié)點電容充放電行為產(chǎn)生的,,可以由以下表達式表述:
式中:Vdd為電源電壓,;Ci為被充放電的節(jié)點電容;i為節(jié)點活性因子(表示節(jié)點電容充放電的平均次數(shù)與開關(guān)頻率的比值);f為開關(guān)頻率,。
?。?)短路功耗是在一定條件下電源到地產(chǎn)生的短路電流形成的,其表達式為:
式中:k由工藝和電壓決定,;W為晶體管的寬度,;τ為輸入信號的上升/下降時間;f為開關(guān)頻率,。
?。?)靜態(tài)功耗是電路在穩(wěn)定時所形成的功耗。
?。?)漏電流功耗是指由亞閥值電流和反向偏壓電流造成的功耗,。
以靜態(tài)CMOS電路為主的集成電路中,動態(tài)功耗是整個電路功耗的主要組成部分,,其次為短路功耗,,而靜態(tài)功耗和漏電流功耗在大多數(shù)情況下可以忽略不計[23]。
分析動態(tài)功耗的構(gòu)成公式可以得出降低電源電壓,、減小電路節(jié)點電容和節(jié)點開關(guān)活性等方法,,從而降低集成電路的功耗。
集成電路的動態(tài)功耗與電源電壓的平方成正比關(guān)系,,因此,,降低電源電壓可以大幅度減少功耗。但一般電源電壓Vdd應(yīng)不小于閥值電壓Vt的2~3倍,,如果電源電壓小到接近閥值電壓,,電路的延遲會明顯加大,因此,,為了保證電路的性能,,可以采用適當?shù)偷拈y值電壓Vt。但Vt也不能無限制的降低,,必須保持一定的噪聲裕度,,而且當Vt下降時,漏電流造成的功耗也會相應(yīng)增加,。
從另一方面考慮動態(tài)功耗是電路中節(jié)點電容的充放電行為產(chǎn)生的,,節(jié)點充放電的頻率是一個重要的參數(shù),而節(jié)點活性因子正是反映節(jié)點充放電的頻率的參數(shù),,電路的有效電容是節(jié)點活性因子與節(jié)點電容的乘積,。避免無用的充放電行為,,采用各種低活性的電路結(jié)構(gòu)可以降低功耗,。
1.2片上網(wǎng)絡(luò)通訊功耗模型:
Orion提出的功耗模型(PowerModel),,是首次提出的運用在網(wǎng)絡(luò)中的功耗模型。片上網(wǎng)絡(luò)(NoC)將網(wǎng)絡(luò)通信的原理引入到片上系統(tǒng)的設(shè)計中,,適用PowerModel功耗模型,。片上網(wǎng)絡(luò)通訊功耗是指片上網(wǎng)絡(luò)的任意資源節(jié)點間的數(shù)據(jù)通訊所產(chǎn)生的功耗,在PowerModel功耗模型中傳輸一個數(shù)據(jù)片(flit)的功耗用Eflit表示,。
式中:Ebuf表示緩沖器的功耗,;Earb表示仲裁的功耗;Exb表示交叉開關(guān)(Crossbar)的功耗,;Ecn=Ebuf+Earb+Exb表示通訊節(jié)點內(nèi)部的功耗,;Elnk表示通道(link)的功耗。假設(shè)H表示數(shù)據(jù)片經(jīng)過的網(wǎng)絡(luò)跳數(shù),,數(shù)據(jù)片(flit)從資源節(jié)點Ri傳輸?shù)劫Y源節(jié)點Rj的功耗:
當H=D時,,此時的功耗為最低,即:
這里的D是源節(jié)點到目的節(jié)點采用最短路由算法所得的曼哈頓距離(ManhattanDistance),。
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)整(Retiming)方法通過插入新的寄存器或重新安排寄存器的位置,,達到減少門的翻轉(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),通道上的位能量Elnk可以通過以下公式計算:
其中:Cwire為通道的線電容,,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.1Crossbar開關(guān)結(jié)構(gòu)[10]
Crossbar拓撲對輸入輸出之間的連接使用空間劃分多路選擇器,。如圖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]:
與Crossbar網(wǎng)絡(luò)相似,全連接網(wǎng)絡(luò)中也沒有互連競爭,,在它們的功耗模型中沒有使用內(nèi)部緩沖器,。每個全連接開關(guān)網(wǎng)絡(luò)的位能量消耗在互連線和多路選擇器上,多路選擇器的復雜度伴隨著輸入端數(shù)量的增加而更為復雜,,其功耗也隨之增大,。
2.2.3.3Banyan網(wǎng)絡(luò)[10]:
n維Banyan網(wǎng)絡(luò)有N=2n個輸入和N=2n個輸出,,在n個階段開關(guān)的總數(shù)是1/2N!log2N,每個階段用i表示(0?i?n),。Banyan網(wǎng)絡(luò)中同一互連可能被不同的數(shù)據(jù)路徑共享,從而存在互連競爭問題,,在每個內(nèi)部節(jié)點開關(guān)中需要設(shè)置一個緩沖器,。
Banyan網(wǎng)絡(luò)中的二進制開關(guān)比Crossbar中的交叉節(jié)點開關(guān)更復雜,當位數(shù)據(jù)從輸入端口交換到輸出端口,,二進制開關(guān)消耗的能量更多,。
2.2.3.4BatcherBanyan網(wǎng)絡(luò)[10]:
該結(jié)構(gòu)由Batcher排序網(wǎng)絡(luò)和Banyan網(wǎng)絡(luò)組合構(gòu)成,其中,,競爭問題由Batcher排序網(wǎng)絡(luò)解決,,后面跟著Banyan網(wǎng)絡(luò)。在排序網(wǎng)絡(luò)中,,每個輸入輸出競爭都有自己的專用路徑,,從而不存在互連競爭問題。
盡管BatcherBanyan網(wǎng)絡(luò)解決了互連競爭問題,,但它是以增加輸入和輸出之間階段數(shù)為代價的,,它共有1/2(log2N)(log2N+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.3NoC映射問題:
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ā)展的方向,而功耗問題是Noc設(shè)計的一個關(guān)鍵問題,。本研究從不同的功耗模型出發(fā),,從集成電路不同的設(shè)計層次、片上網(wǎng)絡(luò)通訊功方面以及NoC映射問題來討論NoC的低功耗設(shè)計,,綜合現(xiàn)有功耗解決的最新方案,,對NoC的功耗研究做了一個比較全面的歸類分析。