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