另一層設(shè)計(jì)考量――混合技術(shù)降低動(dòng)態(tài)功耗
隨著行動(dòng)裝置成為市場(chǎng)主流,以及不斷攀升的能源成本和環(huán)保意識(shí)的提高,功耗(power consumption)已成為設(shè)計(jì)人員最關(guān)心的議題。功耗大抵可分為兩部分,其一是靜態(tài)(static)或漏電(leakage)功耗,當(dāng)元件處于待機(jī)狀態(tài)時(shí)該情況自然會(huì)產(chǎn)生;其二是動(dòng)態(tài)功耗(dynamic power),指的是元件切換過程中所產(chǎn)生的功率消耗。就降低功耗而言,兩者都是設(shè)計(jì)上重要的議題;而這份報(bào)告主要是探討動(dòng)態(tài)功耗及如何改善其相關(guān)的度量(metric)。
本文引用地址:http://m.butianyuan.cn/article/177255.htm傳統(tǒng)設(shè)計(jì)中的另一層考量
過去數(shù)十年來(lái),設(shè)計(jì)人員運(yùn)用合成(synthesis)設(shè)計(jì)塬則進(jìn)行設(shè)計(jì),如此可產(chǎn)生同步時(shí)脈(synchronous clock-based)的架構(gòu)。在這樣的設(shè)計(jì)方法下,所有的邏輯電路轉(zhuǎn)換由透過時(shí)脈網(wǎng)路分配的主時(shí)脈所支配。若最長(zhǎng)的邏輯路徑(logic path)超過主時(shí)脈的L期時(shí)間,則設(shè)計(jì)人員必須設(shè)法減緩時(shí)脈,或者加快長(zhǎng)路徑的速度。為了最有效地權(quán)衡兩者,設(shè)計(jì)人員會(huì)使用靜態(tài)時(shí)序分析工具,進(jìn)行最長(zhǎng)路徑的運(yùn)算及邏輯電路的最佳化,直到他們達(dá)成所預(yù)定的時(shí)序頻率。
以上所述是當(dāng)今設(shè)計(jì)所運(yùn)用的基本方法論,它的效果不錯(cuò)、能達(dá)成每個(gè)技術(shù)節(jié)點(diǎn)的速度優(yōu)化,而且極為可靠。然而就當(dāng)今的設(shè)計(jì)環(huán)境來(lái)說(shuō),其主要的缺點(diǎn)是它把面積(area)和功率列為第二和第叁考量順位,但以目前消費(fèi)者對(duì)于更小、更快速且強(qiáng)調(diào)功能特色裝置的迫切需求而言,設(shè)計(jì)人員不能再把面積與功率視作次要的設(shè)計(jì)目標(biāo),而是必須審慎評(píng)估及改善這兩項(xiàng)度量,以滿足當(dāng)今的設(shè)計(jì)要求。
當(dāng)我們?cè)谶M(jìn)行同步設(shè)計(jì)分析并將動(dòng)態(tài)功耗納入考慮時(shí),可以辨識(shí)出兩種造成過度功率耗損的塬因。其中之一是時(shí)脈分配(clock distribution),它能確保所有的邏輯電路與主時(shí)脈同步。整個(gè)時(shí)脈結(jié)構(gòu)上的時(shí)脈偏移對(duì)于晶片的效能有直接的影響,因此必須設(shè)法將時(shí)脈延遲及偏移的發(fā)生降至最低。管上述架構(gòu)允許設(shè)計(jì)人員提高時(shí)脈頻率(及效能),但它也會(huì)消耗掉20%到60%的晶片功率,且需要大量的半導(dǎo)體空間。換句話說(shuō),這種設(shè)計(jì)方法雖然效率高但成本也高,特別是在功率方面。
同步設(shè)計(jì)也意味著電路中的所有轉(zhuǎn)換會(huì)「聚集(bunch up)」在時(shí)脈邊緣。舉例來(lái)說(shuō),在每個(gè)有效時(shí)脈邊緣上,所有發(fā)生在邏輯路徑的轉(zhuǎn)換會(huì)同時(shí)被執(zhí)行,而當(dāng)條件順著組合邏輯鏈(combinatorial logic chain)被滿足后,這些轉(zhuǎn)換就會(huì)逐漸停止。若以圖示表示,該現(xiàn)象可用鋸齒波形來(lái)呈現(xiàn)。而大多數(shù)的動(dòng)態(tài)功率就是在這樣的執(zhí)行過程中被消耗掉的,直到路徑末端幾乎沒有功率被消耗為止。若是在最佳時(shí)序的狀態(tài)下,則最后的轉(zhuǎn)換應(yīng)當(dāng)在下一個(gè)時(shí)脈進(jìn)行前就減弱。
就時(shí)序(timing)而言,該方法論的效果不錯(cuò),若能妥善分配L期中的轉(zhuǎn)換以及消除鋸齒波形,則在任何時(shí)間點(diǎn)所需的最大功率將會(huì)大幅降低,幅度約30%到50%左右。這是因?yàn)殡娫垂?yīng)線不需要處理每個(gè)時(shí)脈周期(clock cycle)一開始產(chǎn)生的眾多元件切換所帶來(lái)的電流突波(power surge),也因此可以減少面積并降低功率的浪費(fèi)。
有一個(gè)簡(jiǎn)單但不切實(shí)際的解決方式是,建立一個(gè)帶有適當(dāng)延遲的客u邏輯電路(custom logic)去達(dá)成每個(gè)輸出點(diǎn)所欲達(dá)到的功能,藉此妥善調(diào)整功率的分派。這個(gè)做法可以讓速度變得很快,有點(diǎn)類似讓單一印表機(jī)對(duì)上單一電腦,而不是透過區(qū)域網(wǎng)路讓多個(gè)使用者共享一臺(tái)印表機(jī)的資源。然而這樣的架構(gòu)需要大量的面積、邏輯電路及功率才能恰當(dāng)?shù)倪\(yùn)作。我們相信一定有其他更好的方式能達(dá)成時(shí)序、效能、功率及面積的目標(biāo),同時(shí)又能符合經(jīng)測(cè)試且有效率的合成設(shè)計(jì)方法(methodology of synthesis-based design)。
提升省電效率的方法
時(shí)脈閘控(clock gating)是用來(lái)在同步設(shè)計(jì)環(huán)境中,達(dá)成較佳動(dòng)態(tài)功耗效能的最常見技術(shù)。時(shí)脈閘控本身即是違反傳統(tǒng)的同步設(shè)計(jì)規(guī)則,而當(dāng)今很多工具便是利用這樣的「漏洞(loophole)」成功地改善功耗的問題。利用時(shí)脈閘控技術(shù),除非輸入至正反器(flip-flop)的資料遭到改變,否則正反器將不會(huì)接收到時(shí)脈訊號(hào), 如此一來(lái)可以避免把功率浪費(fèi)在正反器單元中,以及避免把功率用在受到閘控的任何時(shí)脈樹部分。因此,當(dāng)前的設(shè)計(jì)工具大量利用時(shí)脈閘控達(dá)成大幅降低動(dòng)態(tài)功耗的目的。
在任何復(fù)雜的邏輯錐(cone of logic)中,當(dāng)路徑進(jìn)一步到達(dá)邏輯錐區(qū)時(shí),很多轉(zhuǎn)換便會(huì)被封鎖住,而無(wú)法透過時(shí)脈閘控來(lái)抑制。其中有些轉(zhuǎn)換可作為「資料閘控(data gating)」用,而這個(gè)時(shí)候便能識(shí)別出,那些在不影響電路輸出情況下進(jìn)行轉(zhuǎn)換的邏輯電路。常見的例子像是在某些時(shí)間點(diǎn)未被使用的操作輸入,或是在L期中進(jìn)行改變的記憶體讀取地址。平息這類型的轉(zhuǎn)換將大幅降低電路中耗費(fèi)功率的轉(zhuǎn)換,同時(shí)對(duì)時(shí)序造成的影響也最小。進(jìn)而使得該電路變得更省電。
將功耗降至最低的工具
為了進(jìn)一步提升效率,設(shè)計(jì)人員必須在架構(gòu)層級(jí)(architectural level)進(jìn)行最新技術(shù)的運(yùn)用。新思科技DesignWare minPower Components在各式環(huán)境中,都能盡可能地以耗用最低功率的方式運(yùn)作。架構(gòu)上來(lái)說(shuō),這些元件是在最省電的配置下被執(zhí)行,它們用來(lái)執(zhí)行各自的功能,同時(shí)將耗用功率但無(wú)產(chǎn)出的假性轉(zhuǎn)換的數(shù)量降至最低。而透過Design Compiler Ultra (DC Ultra)改善實(shí)作過程中的架構(gòu)性選擇(區(qū)域時(shí)序及交換動(dòng)作都可被納入考量),minPower Components可為所有運(yùn)算環(huán)境提供最佳架構(gòu)性解決方案。
此外,分析顯示,由于其大型的電路尺寸及頻繁的交換活動(dòng),資料路徑電路(datapath circuits )經(jīng)常耗用大量的動(dòng)態(tài)功率。而對(duì)于必須維持電源開啟一段時(shí)間的電路而言,這類的影響也就越顯著。為了降低這些電路的功耗,DesignWare minPower Components包含了一系列具有轉(zhuǎn)換機(jī)率成本的資料路徑架構(gòu)。當(dāng)使用DesignWare minPower Components IP及DC Ultra流程,它能讓資料路徑產(chǎn)生器計(jì)算每個(gè)架構(gòu)及編碼決策的功率,進(jìn)而讓DC Ultra產(chǎn)生可以平息交換活動(dòng)的路徑資料架構(gòu)、限制錯(cuò)誤的產(chǎn)生及傳遞,以及利用較高比例的低漏元件資源。
DesignWare minPower Components亦附有利用轉(zhuǎn)換機(jī)率(transition probabilities)的功率模型,不論所提供的實(shí)際交換動(dòng)作是使用者定義或是來(lái)自交換動(dòng)作互換格式(Switching Activity Interchange Format,SAIF)中的模擬向量,DesignWare minPower Components都可根據(jù)交換的內(nèi)容,進(jìn)行資料路徑架構(gòu)的最佳配置。它可以以最佳的方式重新排列資料路徑樹(datapath tree)及改變運(yùn)算編碼,以便停止交換動(dòng)作及錯(cuò)誤的產(chǎn)生,進(jìn)而減少功耗。
該高層級(jí)優(yōu)化技術(shù)還可以協(xié)助設(shè)計(jì)人員根據(jù)個(gè)別設(shè)計(jì)的特性達(dá)到功率的節(jié)省。資料路徑架構(gòu)可以讓設(shè)計(jì)達(dá)成友善的資料路徑閘控,且當(dāng)資料無(wú)效時(shí)可讓設(shè)計(jì)人員關(guān)閉整個(gè)路徑資料區(qū)塊的交換。該路徑資料架構(gòu)是依照可利用嵌入閘控邏輯進(jìn)行配置的結(jié)構(gòu)所設(shè)計(jì),如此可以排除對(duì)于外部隔絕閘的需求,因?yàn)檫@類的需求經(jīng)常會(huì)降低時(shí)序的特性。
另外,在現(xiàn)有的低功耗設(shè)計(jì)流程中如果裼DesignWare minPower Components也相當(dāng)?shù)睾?jiǎn)明易懂。例如時(shí)脈閘道技術(shù)、低功率合成以及利用多層臨界電壓降低漏電等方式仍然可以搭配使用,以生產(chǎn)更省電的設(shè)計(jì)。
結(jié)論
在設(shè)計(jì)技術(shù)持續(xù)演進(jìn)的過程中,動(dòng)態(tài)功耗仍是低功耗設(shè)計(jì)的重要議題。任何晶片的功能都是透過邏輯電路的轉(zhuǎn)換來(lái)達(dá)成,而這些轉(zhuǎn)換會(huì)耗用掉功率。省電效率對(duì)當(dāng)今復(fù)雜的晶片來(lái)說(shuō)是如此重要,以致于設(shè)計(jì)人員必須不斷尋找新的方式,在耗費(fèi)最小功耗的前提下達(dá)成最大的效益。傳統(tǒng)的同步設(shè)計(jì)方法論仍有運(yùn)用的空間,但結(jié)合非同步設(shè)計(jì)、資料敏感度,及較高層級(jí)方式的混合式解決方案,也不失為一個(gè)好的折衷方式,而這類的解決方案有仍待設(shè)計(jì)人員的持續(xù)探索。
評(píng)論