【導讀】通過(guò)簡(jiǎn)單地降低電壓或頻率來(lái)實(shí)現低功耗不可取——試問(wèn)有誰(shuí)會(huì )去買(mǎi)性能打過(guò)折的產(chǎn)品呢?那么,低功耗CPU到底又是怎么實(shí)現的?
隨著(zhù)智能手機等移動(dòng)應用的興起,目前的處理器設計不僅要提供高性能,還必須要符合另一個(gè)重要指標,那就是低功耗。通過(guò)簡(jiǎn)單地降低電壓或頻率來(lái)實(shí)現低功耗不可取——試問(wèn)有誰(shuí)會(huì )去買(mǎi)性能打過(guò)折的產(chǎn)品呢?那么,低功耗CPU到底又是怎么實(shí)現的?EDN小編今天來(lái)和大家理一理,簡(jiǎn)單來(lái)說(shuō),我們可以從微架構設計和制造工藝這兩個(gè)方面來(lái)看。
低功耗設計的基礎:處理器功耗分析的經(jīng)典公式
要想實(shí)現低功耗,就必須了解電路中功耗的來(lái)源[1]。對于CMOS電路功耗主要分為三部分,分別是:電路在對負載電容充電放電引起的跳變功耗;由CMOS
晶體管在跳變過(guò)程中,短暫的電源和地導通帶來(lái)的短路功耗;以及由漏電流引起的漏電功耗。其中跳變功耗和短路功耗為動(dòng)態(tài)功耗,漏電功耗為靜態(tài)功耗。以下是SoC(即CPU)功耗分析的經(jīng)典公式:
其中:ƒ是系統的頻率;A是跳變因子,即整個(gè)電路的平均反轉比例;C是門(mén)電路的總電容;V是供電電壓;τ是電平信號從開(kāi)始變化到穩定的時(shí)間。
在深亞微米工藝下,電路的功耗主要是跳變功耗,短路功耗和漏電功耗可以忽略不計。但隨著(zhù)工藝發(fā)展到納米級,漏電功耗在整個(gè)功耗中的比例將顯著(zhù)提高(如下圖所示)。

圖:不同工藝下動(dòng)態(tài)功耗和靜態(tài)功耗對比圖
低功耗的微架構設計
基于上面這個(gè)功耗分析的公式,我們要設法降低的主要就是其中的第一項和第三項功耗,即跳變功耗和漏電功耗。我們首先來(lái)看微架構設計,基本思路如下圖:
因此,我們可以衍生出很多的低功耗微架構設計方法。里面比較重要的一些如下[1][2]:
•時(shí)鐘門(mén)控:給每個(gè)模塊的時(shí)鐘加上門(mén)控,不需要時(shí)將它關(guān)閉,從而盡可能降低功耗。
•電源門(mén)控:原理同上,盡可能降低動(dòng)態(tài)功耗和漏電功耗。
•異步電路:對于異步電路,大家第一反應好像可以提高系統處理速度。但是因為異步電路需要進(jìn)行多次握手,處理速度未必比時(shí)序電路快多少。異步電路的另一個(gè)重要作用就是降低功耗,超過(guò)一半的功耗都是消耗在時(shí)鐘樹(shù)及其連接的觸發(fā)器上,采用異步電路能取消時(shí)鐘,從而消除時(shí)鐘樹(shù)而降低功耗。
•并行技術(shù):并行技術(shù)是將一條數據通路的工作分解到兩條通路上完成。并行結構可以在不降低計算速度的前提下,將工作頻率降低為原來(lái)的一般,同時(shí)電源電壓也可降低,可以明顯的降低功耗。但這種結構是以犧牲面積為代價(jià)的。
•流水線(xiàn)技術(shù):采用流水線(xiàn)技術(shù),在較長(cháng)的運算路徑分成多個(gè)較短的運算。這樣工作頻率雖然沒(méi)有改變,但每一級運算的路徑卻變短了,是電源電壓可以降低,所以流水線(xiàn)技術(shù)也可以降低功耗。
•降低頻率:利用并行處理增加電路來(lái)降頻,犧牲面積來(lái)降低功耗。
•降低電壓:電壓受頻率影響,可以通過(guò)降低頻率來(lái)降低所需電壓。當頻率降低,電路開(kāi)關(guān)速度降低,就能有更多時(shí)間去進(jìn)行充電,因此所需充電電壓就能降低(電壓越大充電速度越快)。同時(shí),可通過(guò)流水線(xiàn)分割組合邏輯。若同時(shí)保持頻率不變,電路能有更多時(shí)間去進(jìn)行充電,從而降低所需充電電壓。
•動(dòng)態(tài)電壓頻率調整(DVFS):動(dòng)態(tài)調整頻率電壓到需要的值,避免浪費,從而降低功耗。
•全局異步局部同步(GALS):將系統劃分成不同的時(shí)鐘域,每個(gè)域使用合適的時(shí)鐘頻率,避免頻率浪費,同時(shí)提高系統速度,也方便進(jìn)行時(shí)鐘門(mén)控。
•編碼優(yōu)化:SoC內部的總線(xiàn)的電容在對于整個(gè)芯片還是占有很大比重,所以降低不同數據間轉換時(shí)的總線(xiàn)平均翻轉次數,就可以降低設計的功耗,這也是各種那個(gè)編碼優(yōu)化所要達到的目的。常用的編碼方式有獨熱碼(One-Hot)、格雷碼,還有一些更加復雜的低功耗編碼,如窄總線(xiàn)編碼、部分總線(xiàn)反轉編碼和自適應編碼等。使用編碼優(yōu)化來(lái)降低芯片功耗的同時(shí)要注意由它帶來(lái)的面積增加的問(wèn)題。
•多電壓域多電源(Multi-Voltage/Multi-Supply):需要高性能的部件供給高電壓,不需要高性能的部件供給低電壓)。
•系統設計時(shí)考慮優(yōu)化,如減少電路開(kāi)關(guān),用RAM代替寄存器文件,減少存儲器讀寫(xiě)。
除了上述這些方法,高效的低功耗技術(shù)還有許多,比如襯底反偏(加反向電壓降低襯底漏電),多閾值單元(Multi-Vth cell)等等設計方法。下圖是一些比較熱門(mén)的RTL級低功耗技術(shù)。
此外,對于CPU而言,PPA(性能、功耗和面積)也總是在互相權衡的。通過(guò)增加CPU內核數和采用ARM的big.LITTLE架構等,也是近年來(lái)常用的低功耗設計方法。
先進(jìn)的低功耗制造工藝
芯片的制造工藝在不斷向前發(fā)展。一個(gè)常識是,工藝越先進(jìn)(納米數越低),功耗和性能都會(huì )提升。但是其原因又是為何?此外,FinFET工藝又是什么,為什么會(huì )更進(jìn)一步實(shí)現二者的提升?這要從晶體管說(shuō)起了:
這里,我們盡量把事情說(shuō)簡(jiǎn)單。上面這副示意圖中就是一個(gè)典型的半導體晶體管。其中兩個(gè)綠色的部分(源極Source和漏極Drain)分別是晶體管的兩級,類(lèi)似電池的兩級。紅色的部分就是用來(lái)控制這兩個(gè)電極的通斷的,而通斷分別對應數字化時(shí)間的1和0。所謂數字化世界其實(shí)也就是非常非常多的晶體管的通斷變化組合出來(lái)的。紅色柵極(Gate)的寬度就是我們通常所說(shuō)的溝槽寬度或者線(xiàn)寬——我們通常說(shuō)的多少多少nm就是指的這個(gè)寬度。
這個(gè)柵極的寬窄決定了性能和功耗。晶體管的開(kāi)關(guān)速度(每次0/1變化)對應處理器的運算速度。紅色的柵極越寬,兩個(gè)綠色電極就越遠,導致它們直接連通一次的時(shí)間就越長(cháng)。所以柵極越小,晶體管一次狀態(tài)變化所需的時(shí)間就越短,單位時(shí)間的工作次數就越多。這樣一堆晶體管單位時(shí)間可做的運算自然就更多,所以性能更好。
再來(lái)看功耗。柵極是通過(guò)加電壓幫助兩個(gè)綠色電極通電的。而柵極越寬,就需要更高的電壓才能導通兩極;柵極越窄,導通就更容易,所需的電壓也就越低。功耗的大小與電壓的平方成正比,所以導通電壓的下降是新工藝能夠降低功耗的主要因素。還有一個(gè)因素,即便是電壓相同,通過(guò)導體的面積和長(cháng)度越小,電流也會(huì )越小。更小的柵極等于是縮小的導體,因此也會(huì )減少功耗。
那么,FinFET又是什么?
如前面所說(shuō),柵極越窄,即納米數越低,功耗和性能都有明顯收益。但是凡事都有兩面,有收益就會(huì )有代價(jià)。上圖左圖(即前面那張圖的結構)中的紅色柵極越窄,則柵極接觸下面的面積就越小。前面說(shuō)了,綠色源漏(SD)兩極的通斷是靠柵極通電壓控制的,但是面積越小這個(gè)柵極的控制力越弱,這就會(huì )導致出現兩極之間的漏電越來(lái)越大。這個(gè)問(wèn)題在20nm時(shí)達到了一個(gè)很大的值,對功耗影響很大。所以早在10年前,就有人提出了右圖中的3D晶體管的新結構。由于這個(gè)結構看上去像張開(kāi)的魚(yú)鰭,所以被叫做FinFET技術(shù)。FinFET技術(shù)最主要的好處是紅色的柵極變成三面環(huán)繞綠色SD兩極之間的通道了,這樣柵極就又重新具備了對這個(gè)通道的強力控制力,原先通過(guò)減小柵極寬度的方法就可以繼續了。有人可能會(huì )有疑問(wèn),十年前就提出為什么現在才用,其實(shí)概念到實(shí)施不是那么容易的。大家腦補一下這個(gè)結構是在20nm的范圍里做的,導致工藝要多出十幾二十層來(lái),這不僅是難度,也是成本。
推薦閱讀:
詳細解析電源電路中變壓、整流、濾波電路
聯(lián)網(wǎng)無(wú)線(xiàn)技術(shù)藍牙和WiFi的區別有哪些?
一種X波段非接觸式C形微帶探針設計
如何解決為濾波器選擇正確的放大器的困擾?
談?wù)劶す鈱τ谑謾C到底是怎樣的絕密殺器