微處理器的低功耗芯片設(shè)計技術(shù)
關(guān)鍵詞 微處理器功耗低功耗芯片設(shè)計
隨著半導(dǎo)體工藝的飛速發(fā)展和芯片工作頻率的提高,芯片的功耗迅速增加,而功耗增加又將導(dǎo)致芯片發(fā)熱量的增大和可靠性的下降。因此,功耗已經(jīng)成為深亞微米集成電路設(shè)計中的一個重要考慮因素。為了使產(chǎn)品更具競爭力,工業(yè)界對芯片設(shè)計的要求已從單純追求高性能、小面積轉(zhuǎn)為對性能、面積、功耗的綜合要求。而微處理器作為數(shù)字系統(tǒng)的核心部件,其低功耗設(shè)計對降低整個系統(tǒng)的功耗具有重要的意義。
2000年年初,Transmeta公司推出了 Crusoe處理器,以其獨特的低功耗設(shè)計技術(shù)和非凡的超低功耗表現(xiàn),在業(yè)界引起巨大轟動,引發(fā)了低功耗處理器設(shè)計的激烈競爭。
在2006年的英特爾開發(fā)者論壇大會(Intel DeveloperForum)上,英特爾展示了多款基于下一代技術(shù)的微處理器。其中,Metom主要用于筆記本電腦,最大功耗僅有5W,而將于2006年底上市的超低電壓版Merom的功耗則只有0.5W;Conroe主要面向臺式機,其最大功耗為65W,遠遠低于現(xiàn)有Pentium 4處理器的95W;服務(wù)器處理器Woodcrest的最大功耗為80W,而現(xiàn)有的Xeon處理器的功耗為110W。
本文首先介紹了微處理器的功耗來源,重點介紹了常用的低功耗設(shè)計技術(shù),并對今后低功耗微處理器設(shè)計的研究方向進行了展望。
1 微處理器的功耗來源
研究微處理器的低功耗設(shè)計技術(shù),首先必須了解它的功耗來源。高層次仿真得出的結(jié)論如圖1所示。
從圖1中可以看出,時鐘單元(Clock)功耗最高,因為時鐘單元有時鐘發(fā)生器、時鐘驅(qū)動、時鐘樹和鐘控單元的時鐘負載;數(shù)據(jù)通路(Datapath)是僅次于時鐘單元的部分,其功耗主要來自運算單元、總線和寄存器堆。除了上述兩部分,還有存儲單元(Memory),控制部分和輸入/輸出(Control,I/O)。存儲單元的功耗與容量相關(guān)。
如圖2所示,CMOS電路功耗主要由3部分組成:電路電容充放電引起的動態(tài)功耗,結(jié)反偏時漏電流引起的功耗和短路電流引起的功耗。其中,動態(tài)功耗是最主要的,占了總功耗的90%以上,表達式如下:
式中:f為時鐘頻率,C1為節(jié)點電容,α為節(jié)點的翻轉(zhuǎn)概率,Vdd為工作電壓。
2 常用的低功耗設(shè)計技術(shù)
低功耗設(shè)計足一個復(fù)雜的綜合性課題。就流程而言,包括功耗建模、評估以及優(yōu)化等;就設(shè)計抽象層次而言,包括自系統(tǒng)級至版圖級的所有抽象層次。同時,功耗優(yōu)化與系統(tǒng)速度和面積等指標的優(yōu)化密切相關(guān),需要折中考慮。下面討論常用的低功耗設(shè)計技術(shù)。
2.1 動態(tài)電壓調(diào)節(jié)
由式(1)可知,動態(tài)功耗與工作電壓的平方成正比,功耗將隨著工作電壓的降低以二次方的速度降低,因此降低工作電壓是降低功耗的有力措施。但是,僅僅降低工作電壓會導(dǎo)致傳播延遲加大,執(zhí)行時間變長。然而,系統(tǒng)負載是隨時間變化的,因此并不需要微處理器所有時刻都保持高性能。動態(tài)電壓調(diào)節(jié)DVS(Dynarnic Voltage Scaling)技術(shù)降低功耗的主要思路是根據(jù)芯片工作狀態(tài)改變功耗管理模式,從而在保證性能的基礎(chǔ)上降低功耗。在不同模式下,工作電壓可以進行調(diào)整。為了精確地控制DVS,需要采用電壓調(diào)度模塊來實時改變工作電壓,電壓調(diào)度模塊通過分析當前和過去狀態(tài)下系統(tǒng)工作情況的不同來預(yù)測電路的工作負荷。
2.2 門控時鐘和可變頻率時鐘
如圖1所示,在微處理器中,很大一部分功耗來自時鐘。時鐘是惟一在所有時間都充放電的信號,而且很多情況下引起不必要的門的翻轉(zhuǎn),因此降低時鐘的開關(guān)活動性將對降低整個系統(tǒng)的功耗產(chǎn)牛很大的影響。門控時鐘包括門控邏輯模塊時鐘和門控寄存器時鐘。門控邏輯模塊時鐘對時鐘網(wǎng)絡(luò)進行劃分,如果在當前的時鐘周期內(nèi),系統(tǒng)沒有用到某些邏輯模塊,則暫時切斷這些模塊的時鐘信號,從而明顯地降低開關(guān)功耗。圖3為采用“與”門實現(xiàn)的時鐘控制電路。門控寄存器時鐘的原理是當寄存器保持數(shù)據(jù)時,關(guān)閉寄存器時鐘,以降低功耗。然而,門控時鐘易引起毛刺,必須對信號的時序加以嚴格限制,并對其進行仔細的時序驗證。
另一種常用的時鐘技術(shù)就是可變頻率時鐘。它根據(jù)系統(tǒng)性能要求,配置適當?shù)臅r鐘頻率以避免不必要的功耗。門控時鐘實際上是可變頻率時鐘的一種極限情況(即只有零和最高頻率兩種值),因此,可變頻率時鐘比門控時鐘技術(shù)更加有效,但需要系統(tǒng)內(nèi)嵌時鐘產(chǎn)生模塊PLL,增加了設(shè)計復(fù)雜度。去年Intel公司推出的采用先進動態(tài)功耗控制技術(shù)的Montecito處理器,就利用了變頻時鐘系統(tǒng)。該芯片內(nèi)嵌一個高精度數(shù)字電流表,利用封裝上的微小電壓降計算總電流;通過內(nèi)嵌的一個32位微處理器來調(diào)整主頻,達到64級動態(tài)功耗調(diào)整的目的,大大降低了功耗。
2.3 并行結(jié)構(gòu)與流水線技術(shù)
并行結(jié)構(gòu)的原理是通過犧牲面積來降低功耗。將一個功能模塊復(fù)制為n(n≥2)個相同的模塊,這些模塊并行計算后通過數(shù)據(jù)選擇器選擇輸出,采用二分頻的并行結(jié)構(gòu),如圖4所示。
并行設(shè)計后,由于有多個模塊同時工作,提高了吞吐能力,可以把每個模塊的速度降低為原來的l/n。根據(jù)延時和工作電壓的線性關(guān)系,工作電壓可以相應(yīng)降低為原來的l/n,電容增大為原來的n倍,工作頻率降低為原來的l/n,根據(jù)式(1)功耗降低為原來的1/n2。并行設(shè)計的關(guān)鍵是算法設(shè)計,一般算法中并行計算的并行度往往比較低,并行度高的算法比較難開發(fā)。例如:若原模塊的功耗為P=aCLV2ddf,采用二分頻結(jié)構(gòu),由于增加了一個模塊和數(shù)據(jù)選擇器,整個電容負載為2.2CL,工作頻率為f/2,工作電壓可以降為O.6 V,則其功耗為:
由此可見,二分頻并行結(jié)構(gòu)在保持原有電路性能的同時降低了60%的功耗。
流水線技術(shù)本質(zhì)上也是一種并行。把某一功能模塊分成n個階段進行流水作業(yè),每個階段由一個子模塊來完成,在子模塊之間插入寄存器,如圖5所示。若工作頻率不變,對某個模塊的速度要求僅為原來的1/n,則工作電壓可以降低為原來的1/n,電容的變化不大(寄存器面積占的比例很小),功耗可降低為原來的1/n2,面積基本不變,但增加了控制的復(fù)雜度。例如,若原模塊的功耗為P=αC1V2ddf,采用流水線技術(shù),由于增加了寄存器,整個電容負載為1.2CL,工作頻率不變,工作電壓降為0.6 V,則其功耗為
:
由此可見,流水線技術(shù)能顯著降低系統(tǒng)功耗。
通過流水線技術(shù)和并行結(jié)構(gòu)降低功耗的前提是電路工作電壓可變。如果工作電壓固定,則這兩種方法只能提高電路的工作速度,并相應(yīng)地增加了電路的功耗。在深亞微米工藝下,工作電壓已經(jīng)比較接近閾值電壓,為了使工作電壓有足夠的下降空間,應(yīng)該降低闊值電壓;但是隨著閾值電壓的降低,亞閾值電流將呈指數(shù)增長,靜態(tài)功耗迅速增加。因此,電壓的下降空間有限。
2.4 低功耗單元庫
設(shè)計低功耗單元庫是降低功耗的一個重要方法,包括調(diào)整單元尺寸、改進電路結(jié)構(gòu)和版圖設(shè)計。用戶可以根據(jù)負載電容和電路延時的需要選擇不同尺寸的電路來實現(xiàn),這樣會導(dǎo)致不同的功耗,因此可以根據(jù)需要設(shè)計不同尺寸的單元。同時,為常用的單元選擇低功耗的實現(xiàn)結(jié)構(gòu),如觸發(fā)器、鎖存器和數(shù)據(jù)選擇器等。
2.5 低功耗狀態(tài)機編碼
狀態(tài)機編碼對信號的活動性具有重要影響,通過合理選擇狀態(tài)機狀態(tài)的編碼方法,減少狀態(tài)切換時電路的翻轉(zhuǎn),可以降低狀態(tài)機的功耗。其原則是:對于頻繁切換的相鄰狀態(tài),盡量采用相鄰編碼。例如:Gray碼在任何兩個連續(xù)的編碼之間只有一位的數(shù)值不同,在設(shè)計計數(shù)器時,使用Gray碼取代二進制碼,則計數(shù)器的改變次數(shù)幾乎減少一半,顯著降低了功耗;在訪問相鄰的地址空間時,其跳變次數(shù)顯著減少,有效地降低了總線功耗。
2.6 Cache的低功耗設(shè)計
作為現(xiàn)代微處理器中的重要部件,Cache的功耗約占整個芯片功耗的30%~60%,因此設(shè)計高性能、低功耗的Cach結(jié)構(gòu),對降低微處理器的功耗有明顯作用。Cache低功耗設(shè)計的關(guān)鍵在于降低失效率,減少不必要的操作。通常用來降低Cache功耗的方法有以下兩種:一種是從存儲器的結(jié)構(gòu)出發(fā),設(shè)計低功耗的存儲器,例如采用基于CAM的Cache結(jié)構(gòu);另一種是通過減少對Cache的訪問次數(shù)來降低功耗。
以上主要是從硬件的角度來實現(xiàn)功耗的降低。除了硬件方法,通過軟件方面的優(yōu)化,也能顯著地降低功耗。例如:在Crusoe處理器中,采用高效的超長指令(VLIW)、代碼融合(Code Morphing)技術(shù)、LongRun電源管理技術(shù)和RunCooler工作溫度自動調(diào)節(jié)等創(chuàng)新技術(shù),獲得了良好的低功耗效果。
3 微處理器的低功耗設(shè)計研究展望
功耗是微處理器設(shè)計長期面臨的問題,分析當前的研究狀況,未來的低功耗微處理器設(shè)計研究有如下發(fā)展趨勢:
首先,系統(tǒng)級的低功耗設(shè)計研究。抽象層次越高,采用低功耗技術(shù)功耗可降低的比例越大。
其次,面向功耗的軟硬件協(xié)同設(shè)計。而向功耗的軟硬件協(xié)同設(shè)計可以獲得功耗優(yōu)化的系統(tǒng)架構(gòu),再配合有效的功耗管理,可以大大降低最終的功耗。
再次,異步電路的研究。同步電路的時鐘功耗在整個系統(tǒng)的功耗中占了相當大的比例。異步邏輯無需全局時鐘,而是采用握手信號協(xié)調(diào)模塊問的工作,減少了時鐘驅(qū)動和同步電路中很多不必要的翻轉(zhuǎn),從而有效地降低了功耗。然而,異步電路實現(xiàn)困難,且缺乏EDA軟件的支持,因而還有待于進一步的研究。
4 結(jié)論
本文介紹了低功耗微處理器的研究現(xiàn)狀,討論了幾種常用的微處理器低功耗設(shè)計技術(shù),展望了低功耗微處理器設(shè)計研究的發(fā)展趨勢。隨著對高性能和移動計算需求的進一步增長,微處理器的低功耗設(shè)計研究已經(jīng)成為處理器設(shè)計的一個重要研究方向。開展微處理器的低功耗研究,對我國集成電路產(chǎn)業(yè)的發(fā)展具有重要意義。
評論