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