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