資深分析:ARM“進軍”低功耗系統(tǒng)設(shè)計
每一名系統(tǒng)設(shè)計人員都理解功耗和性能的相對關(guān)系:您的應(yīng)用需要的計算性能越高,設(shè)計的功耗也就越高。但是,新一類應(yīng)用對這一規(guī)則發(fā)出了挑戰(zhàn)。智能電話設(shè)計人員希望同時實現(xiàn)PC級峰值應(yīng)用速率以及更長的電池使用壽命。嵌入式系統(tǒng)規(guī)劃采用智能傳感器以滿足嚴格的數(shù)據(jù)分析要求,安全的連接互聯(lián)網(wǎng),但是要求最大限度的降低功耗。在傳統(tǒng)的思路中,這些明顯是無法實現(xiàn)的。但是,ARM工程師在6月份設(shè)計自動化大會(DAC)上的發(fā)言表明,CPU知識產(chǎn)權(quán)(IP)帶頭企業(yè)的發(fā)展方向卻是將這些不可能變?yōu)榭赡堋?/p>
當(dāng)然,ARM從開始出現(xiàn)便一直專用于低功耗計算。在其DAC主題發(fā)言中,ARM創(chuàng)始人之一Mike Muller從小劍橋計算機業(yè)余愛好供應(yīng)商Acorn Computer公司一個芯片設(shè)計人員小組在1980年早期提出的問題開始,追溯了體系結(jié)構(gòu)的發(fā)展:他們能使用RISC原理來開發(fā)16位微處理器,其性能超越個人計算機中的傳統(tǒng)芯片嗎?這一問題的答案是Acorn RISC機——ARM今后發(fā)展壯大的萌芽。
Acorn公司最初的成功源自高效的使用邏輯門和寄存器,主要是在簡潔的RISC體系結(jié)構(gòu)的支撐下實現(xiàn)的。盡量減少每一操作所需的邏輯轉(zhuǎn)換數(shù)也一直是ARM套件的關(guān)鍵工具。但是,隨著公司在研發(fā)預(yù)算上的增長,以及公司影響的擴大,ARM設(shè)計人員開始在降低每一操作所需的功耗上尋求更好的工藝和電路技術(shù)。異步設(shè)計、低功耗工藝技術(shù)、精細粒度時鐘選通、電源選通以及動態(tài)電壓頻率調(diào)整(DVFS)等都成為工具套件的一部分。
Muller說,今天,ARM增加了新工具:超精細粒度電源選通,例如,以非常低的電壓進行工作等。但是,完全不同的發(fā)展方向?qū)a(chǎn)生完全不同的技術(shù):異構(gòu)多核計算和虛擬化的概念——這是來自服務(wù)器領(lǐng)域的理念。
擴展低端
在評估功耗和性能的一張圖(圖1 )上,不同的技術(shù)擴展了這張圖中不同位置的曲線。進一步使曲線向高性能方向擴展的技術(shù)包括,深度流水線、高時鐘頻率以及多核簇等。這些方法完全不同于功耗管理技術(shù),功耗管理技術(shù)將整條曲線向低功耗方向下拉。兩者都具有的不同之處是新出現(xiàn)的一類技術(shù),使曲線向下向左:超低功耗,低速計算。
圖1 將功耗性能曲線向高速方向移動的一些技術(shù),同時通過功耗管理拉低整條曲線
Muller說,這是長壽命電池和低功耗的范圍。這里的問題是,怎樣以很低的能量來完成少量的計算。今天,異步CPU毫無爭議的占據(jù)了這一領(lǐng)域的制高點。只有當(dāng)信號出現(xiàn)變化時才消耗動態(tài)功耗——而不是在每一次時鐘轉(zhuǎn)換時,因此,如果異步電路能夠克服其開銷邏輯的能耗成本,它將大幅度降低動態(tài)功耗。
但是,在高級工藝節(jié)點,特別是在較低時鐘頻率時,靜態(tài)功耗會大于動態(tài)功耗。因此,Muller關(guān)注的重點不是動態(tài)功耗,而是泄漏問題。
在高級工藝節(jié)點唯一降低泄漏真正有效的手段是降低工作電壓。Muller指出,問題是,當(dāng)我們減小了器件尺寸后,很難調(diào)整晶體管閾值電壓Vt。我們目前所處的情景是,無法再進一步調(diào)整Vt以減小供電電壓,晶體管不能工作在傳統(tǒng)的飽和模式下。取決于所采用的傳統(tǒng)CMOS電路,一旦退出飽和模式后,會產(chǎn)生很強的源極漏極電流,還會進行快速開關(guān)。
Muller解釋說,但這并不意味著一點辦法都沒有。我們還是能夠減小工作電壓VDD,使電流足夠快,直至系統(tǒng)滿足性能要求。只要不太靠近Vt,我們可以采用的技術(shù)是DVFS。而Muller則闡述了更激進的一些想法。
第一個是關(guān)斷所有電源,把泄漏降到零。很顯然,粗粒度電源選通是有效的方法——例如,沒有使用的模塊。Muller指出,消耗很大的電能來迅速執(zhí)行一項任務(wù),然后關(guān)斷電源,這樣做通??梢怨?jié)省能量。但還有更有趣的想法。
非常慢的運行
大部分系統(tǒng)都有一些不需要高速運行的任務(wù),只需要完成它們就可以了。一般會由于某一原因而保持這些任務(wù)處于工作狀態(tài),因此,系統(tǒng)不能簡單的接通,讓它們工作,然后,再次關(guān)斷。有針對減小這些任務(wù)的泄漏功耗而采取的節(jié)能方法。
ARM展示了當(dāng)模塊工作在較長的時鐘周期中時,您可以在時鐘轉(zhuǎn)換期間關(guān)掉組合邏輯電源。如果時序正確,保持時間之后關(guān)掉供電,在邏輯需要傳播新狀態(tài)時再恢復(fù)供電,這樣不會改變寄存器中的序列。根據(jù)某些信息來源,這一方法能夠把泄漏減小25倍。由于邏輯電源網(wǎng)絡(luò)實際上成為自己的信號通路,因此,這一“子時鐘電源選通”(圖2 )方法會增加一些晶體管,增大動態(tài)功耗,當(dāng)然也會增加時序收斂的復(fù)雜度。但是,在電路中降低了25倍,這的確是非常重要的方法。
圖2 極低功耗技術(shù),例如,子時鐘電源選通,近/亞閾值工作等,實現(xiàn)了拉低曲線的新方法
這就帶來了怎樣降低寄存器本身泄漏的問題,這涉及到在時鐘轉(zhuǎn)換期間無法進行電源選通的其他電路。Muller說,ARM研究了VDD非??拷踔恋陀赩t。近閾值和亞閾值工作都能夠使電路保持在低速工作,同時有效降低泄漏。但是都帶來了復(fù)雜的問題。
還沒有很好的定義什么是近閾值工作。在傳統(tǒng)的MOSFET模型中,晶體管有三種不同的工作模式。飽和模式,此時,VDD和VSS明顯大于Vt。對于邏輯,這是正常的ON模式。亞閾值模式,此時,VGS低于Vt,這是傳統(tǒng)的OFF模式,簡單模型表示出只有一些很小的泄漏電流從源極流向漏極。在這兩種模式之間是第三種模式,通常稱為線性或者歐姆模式,VGS接近Vt。在這種模式中,假設(shè)MOSFET的行為與柵極壓控電阻相似。
采用目前的短溝道技術(shù),線性和飽和模式之間的區(qū)別并不明顯。IMEC業(yè)務(wù)開發(fā)執(zhí)行副總裁Ludo Deferm評論說:“數(shù)字設(shè)計人員希望能夠精確的把閾值電壓控制在0.3至0.35 V之間,而工作點正好在這之上。在這一點,短溝道MOSFET已經(jīng)處于電子速度飽和,行為表現(xiàn)與其飽和特性非常接近,但是電流明顯降低。較低的電流有可能會使邏輯速度降低幾個數(shù)量級。雖然速度慢了,但是,傳統(tǒng)的邏輯電路能夠繼續(xù)保持工作,與較高電壓時相比,每次操作消耗的能量降低了幾個數(shù)量級??傊?,在這種模式中,可以在很長一段時間周期內(nèi)或者在循環(huán)之間保持寄存器的狀態(tài)不變。這種近閾值工作也可以用于連續(xù)工作系統(tǒng),以節(jié)省能耗。Muller描述了一種自足的堆棧管芯裝配,它包括太陽能電池、普通電池,工作在快速運行和電源關(guān)斷模式下的DSP管芯,以及近閾值CPU管芯,所有這些都在一個有源基底上。
近閾值工作會遇到很多難題。很明顯,應(yīng)用程序必須要容忍性能的大幅度降低。而Deferm提醒說,還有其他引起很大變數(shù)的問題。工藝、供電電壓、溫度變化等都會對晶體管行為產(chǎn)生很大的影響。為減小這些變化的影響,芯片設(shè)計人員不僅要依靠其代工線工程師來保持Vt不變,而且,還需要把管芯使用點電壓穩(wěn)壓器靠近低電壓電路放置,以減小VDD的變化和瞬變。
設(shè)計人員如果希望更接近Vt,則需要采用更極端的方法。很多研究人員都建議邏輯電路設(shè)計使用差分信號和穿通晶體管邏輯,以及用作探測器的傳感放大器,這些都有助于減小各種變化的影響。但是這類技術(shù)的應(yīng)用畢竟是有限的。IMEC首席科學(xué)家Praveen Raghavan指出:“您可以通過定制設(shè)計流程,在隔離模塊中使用低電壓差分技術(shù)。但是,芯片設(shè)計團隊仍然需要傳統(tǒng)的時序分析方法。工具則無法支持這類電路。”
亞閾值工作
Muller說,ARM在低電壓上的興趣并不會止于Vt。在亞閾值區(qū),MOSFET源極至漏極電流繼續(xù)響應(yīng)VGS。但是,這一電流現(xiàn)在非常小——泄漏電流,其響應(yīng)會非常慢。而且,在某些情況下,特別是在必須保持數(shù)據(jù)同時要節(jié)省能耗的系統(tǒng)中,可以讓VDD低于Vt來工作。對于邏輯設(shè)計人員,這是尚未開發(fā)的領(lǐng)域,只有很少的專業(yè)模擬專家有所涉及。
Raghavan說:“對于正常的體晶體管,通過亞閾值工作,可以讓能耗降低十倍。但是性能降低了100到1000倍,工藝變化的影響會非常大。”而finFET的出現(xiàn)會有所改變,Raghavan建議,“我們希望finFET能夠讓我們更好的控制Vt,亞閾值工作對性能造成的影響會小很多,可能只有50倍。”亞閾值工作雖然可能一直需要進行定制設(shè)計,但是至少會有較為廣泛的應(yīng)用。
亞時鐘電源選通和近閾值或者亞閾值工作為CMOS電路超低泄漏工作開辟了新領(lǐng)域,但是極大的降低了速度,對電源供電結(jié)構(gòu)和設(shè)計工具提出了新要求。從這一角度,Muller把話題轉(zhuǎn)向了討論IC設(shè)計方法。但是在DAC的其他討論中,繼續(xù)對擴展性能功耗曲線的討論。
大-?。憾嗪俗鳛楣?jié)能策略
在DAC計劃的異構(gòu)多核系統(tǒng)小組討論中,ARM的Carl Wilton介紹了公司的宏體系結(jié)構(gòu)計劃,降低高性能系統(tǒng)的系統(tǒng)功耗:大-小計算。
大-小方法(圖3 )是一種多核體系結(jié)構(gòu)形式,內(nèi)核有相同的指令集,幾乎相同的狀態(tài)寄存器,但是有完全不同的功耗性能特性。在目前的實現(xiàn)中,這意味著高性能ARM? CortexTM A-15內(nèi)核簇,并配上高效的A-7內(nèi)核簇,都通過ARM連貫的互聯(lián)架構(gòu)進行連接。
圖3 大-小結(jié)合連貫簇中的快速A-15和高效的星形A-7內(nèi)核
A-15具有連續(xù)的三路前端,可無序執(zhí)行,還具有深達24級的流水線,能夠提供服務(wù)器級的執(zhí)行速率。高速緩存結(jié)構(gòu)為其提供支持,用于為不斷出現(xiàn)的新指令提供服務(wù)。因此,運行在A-15上的任務(wù)會執(zhí)行得非???。相比較而言,A-7是雙路、按序,相對簡單的內(nèi)核,具有較淺的8-10級流水線。A-7執(zhí)行速度較慢,但是每次操作的能耗不到一半。
這里的想法是,僅在需求較高時使用A-15內(nèi)核,其他時間對其進行電源選通:Muller的快速運行和關(guān)斷的觀點。不需要A-15速率的任務(wù)可以運行在A-7 CPU上,可以使用DVFS來減小每次任務(wù)時的能耗。結(jié)果是,系統(tǒng)能夠支持性能很高的突發(fā),低功耗工作的時間很長,甚至是SoC采用了高泄漏工藝制造的情況。
管理大-小系統(tǒng)的一種方法是使用靜態(tài)任務(wù)分配,把任務(wù)分成峰值性能和高能效兩部分,相應(yīng)的把任務(wù)分配給CPU。另一方法是通過功耗預(yù)知可視化層來控制系統(tǒng)。這一管理程序會認為所有內(nèi)核功能等價,這些內(nèi)核工作后,完全根據(jù)性能需求,把線程分配給CPU,以滿足線程的性能要求,實現(xiàn)最佳總能耗。這種設(shè)計會在管理程序和移動任務(wù)上消耗額外的能量,但是,能夠動態(tài)響應(yīng)環(huán)境的變化,或者使用模型的變化。
ARM的IP,您的難題
除了電路級極低電壓工作方法,以及系統(tǒng)級降低每次任務(wù)的能耗方法,ARM還建議了一種寬范圍執(zhí)行選擇。但是,CPU并不是系統(tǒng)解決方案。對于系統(tǒng)設(shè)計人員,ARM的IP仍然是難度很大的任務(wù)。
在超低能耗方面,系統(tǒng)設(shè)計人員的難題是規(guī)劃工作,近閾值或者亞閾值工作的khz時鐘應(yīng)能滿足計算的最低要求。在大-小系統(tǒng)中,對系統(tǒng)建模,使用模式就可以知道每一任務(wù)的實際性能,而這是一個主要的問題。而第二個難題是,怎樣找到一種方法將信息隨時傳遞給任務(wù)管理程序。
ARM的方向是同時擴展性能功耗曲線的低端,提供一種方法在更長的曲線上拉伸系統(tǒng)。但是,具體實現(xiàn)仍然是系統(tǒng)設(shè)計人員的任務(wù)。