摘要
現(xiàn)代高頻器件所消耗的電量大約有一半是靜態(tài)電量-漏電與頻率無關(guān),但與電壓水平相關(guān),另一半則是動態(tài)電量-基于系統(tǒng)負(fù)載,從而與頻率相關(guān)。由于頻率與電壓水平密切相關(guān),因此需要較高的電壓水平來驅(qū)動頻率;一般的概念是利用 DVFS-動態(tài)電壓和頻率調(diào)節(jié)。也就是說,當(dāng)系統(tǒng)負(fù)載較低時,頻率被降低,從而可降低電壓。然而,這種方法只能節(jié)省一定的電量,對負(fù)載變化的反應(yīng)速度較慢,因此也需要更復(fù)雜的系統(tǒng)/板卡解決方案,以不斷適應(yīng)功率和頻率。
片上系統(tǒng)尤其是多核器件的優(yōu)勢在于能夠完全打開和關(guān)閉器件的組成部件,以匹配系統(tǒng)負(fù)載。由于在器件內(nèi)部便可完成上述操作,因此不需要如此復(fù)雜的外部電路。然而,在器件內(nèi)打開和關(guān)閉部件過去是一個緩慢的過程,因此不可行,現(xiàn)在這種情況正在發(fā)生改變。
通過新一代高端多核器件,飛思卡爾推出了 SRPG(狀態(tài)保持電源門控)概念。這種技術(shù)在掉電時不把模塊狀態(tài)存儲到外部存儲器,而是允許每個觸發(fā)器保存自己的狀態(tài)。因此,整個內(nèi)核、內(nèi)核子集或其他功能塊可即時打開和關(guān)閉。 這推出了一個新的非常有效的執(zhí)行概念,內(nèi)核只在需要時才運行,然后只在可能需要時執(zhí)行單元。
本文簡要介紹了現(xiàn)代高端電源管理,以及這種技術(shù)如何與工藝技術(shù)和設(shè)備設(shè)計相關(guān)。然后展示了如何通過利用 SRPG 進一步改進新一代多核器件,以及設(shè)備負(fù)載水平感知等其他 SoC 技術(shù)自動打開和關(guān)閉內(nèi)核。
引言
隨著半導(dǎo)體器件變得更加強大,因此可能消耗大量的電力,電源管理已經(jīng)成為一個越來越重要的主題。與十年前相比,頻率的競賽已經(jīng)導(dǎo)致事實上的電源上限和通用的高頻。此外,多核和集成度的提高產(chǎn)生了功能非常強大的器件,使功耗管理變得至關(guān)重要。在手機等手持設(shè)備領(lǐng)域也如此,此類設(shè)備應(yīng)在高性能激活狀態(tài)和低功耗的待機狀態(tài)之間進行切換。但在服務(wù)器中心也如此,在服務(wù)器中心每個區(qū)域和/或瓦的性能的重要性日益增加。散熱和功耗以及空間等成本比單個器件的最大性能更加重要。多核如今已成為現(xiàn)實,在兩個中等性能的器件之間分割應(yīng)用與在高性能器件之間分割的難易程度相當(dāng)?;疚锢硗ǔ閮蓚€中等性能的器件比高端器件提供更高的每瓦和每面積匯聚性能,假定應(yīng)用可正確地在內(nèi)核/器件之間進行分割。
在這里,我們將展示現(xiàn)代半導(dǎo)體器件的功耗的基本屬性,然后介紹了可包含在設(shè)備設(shè)計中用于降低功耗的被動節(jié)電功能,這些都很容易理解,但通常不要求軟件具體使用它們。然后,我們將討論需要軟件與硬件合作以充分利用的主動節(jié)電功能。最后將介紹飛思卡爾 QorIQ 器件提供的功耗模式以及它們所利用的功能。
電源基礎(chǔ)知識
動態(tài)功耗的主要公式為: P = C V2 f
其中 P 代表功耗,單位為瓦,C 代表所切換的設(shè)備的電容,V 代表電壓,f 代表切換頻率。如公式所示,功耗隨著頻率呈線性增長,但與電壓呈平方增長。然而,采用特定工藝技術(shù)的器件的最大頻率取決于電壓有多高,信號被驅(qū)動的程度。增加電壓可允許更高的頻率,但同時也會大大增加功耗。這也是停止大多數(shù)增加頻率的做法的根本原因之一。
功耗的直接影響是明顯發(fā)熱。雖然功耗本身是有成本的,但主要問題是熱效應(yīng),因為根據(jù)使用情況需要散熱片、風(fēng)扇、空調(diào)等冷卻設(shè)備。而熱度增加也影響額定電容,增加功耗。這種相關(guān)性是不穩(wěn)定的,可能導(dǎo)致功率快速增加/熱增加,除非熱被轉(zhuǎn)移,或功耗降低(通過抑制性能)。重要的是需要了解器件功耗隨溫度變化有何差異,低結(jié)溫 Tj 25C 和高結(jié)溫 105C 之間的差異可能導(dǎo)致功耗顯著增加,如圖 1 所示。重要的是,如果需要的話板卡電源和熱設(shè)計可以應(yīng)對溫度升高,但同樣重要的是需要了解低溫下的功耗將大大低于器件設(shè)為最大功率時的功耗。因此,在確保低溫的情況下使用器件可降低功耗。例如,許多環(huán)保標(biāo)準(zhǔn)允許縮減功能,即如果環(huán)境溫度高于正常狀況或風(fēng)扇破裂,風(fēng)速降低,則降低頻率或減少活動內(nèi)核的數(shù)量。借助新的縮減式冷卻方式來降低器件的功耗可使系統(tǒng)回到熱/功率穩(wěn)定狀態(tài)。
(圖字)功率
圖1:功耗如何隨溫度變化而改變。
現(xiàn)代高頻器件所消耗的電量大約有一半是靜態(tài)功率- 漏電與頻率無關(guān),但與電壓水平有關(guān),而另一半則是動態(tài)功率 – 基于系統(tǒng)負(fù)荷,因此與頻率及電壓有關(guān)。靜態(tài)和動態(tài)功率之間的合適比率取決于器件的設(shè)計選擇數(shù)量,如工藝技術(shù)、晶體管的選擇和布局。但在包含芯片的各個器件之間和芯片之間也存在自然的工藝差異。漏電較多的晶體管功耗一般也更高,以允許更高的最大頻率。因此,把器件設(shè)置為高速、高功率,或低速、低功率比較常見。然而,器件之間依然存在差異,當(dāng)設(shè)計系統(tǒng)特性時,確保它足夠強大以處理最大功率器件非常重要。同樣重要的是需要了解芯片供應(yīng)商提供的功率數(shù)通常指那些功率最大的器件,而一個典型器件擁有較低的功耗。典型功率器件和最大功率器件之間的功耗可能相差兩倍或更多。
?。▓D字)內(nèi)核靜態(tài);內(nèi)核動態(tài);系統(tǒng)動態(tài);系統(tǒng)靜態(tài)
圖2:多核器件不同子部件的靜態(tài)功耗和動態(tài)功耗差異。
板卡和系統(tǒng)設(shè)計人員通常關(guān)注兩種情況:功率最大時- 電源設(shè)計應(yīng)考慮瞬時(子時鐘周期時標(biāo))最高水平。熱最大值時 - 熱設(shè)計應(yīng)考慮較長時間間隔(從數(shù)秒到數(shù)分鐘)內(nèi)的平均功耗。決定器件功耗的基本參數(shù)是電壓和頻率,其中重要的是觀察最大抖動,電源設(shè)計可能有最大抖動,熱設(shè)計可能有短期平均值。但高端器件通常具有自動節(jié)電功能,我們將在后面討論這個功能,這樣由于器件利用率降低而達到節(jié)電的目的。例如,內(nèi)核功耗往往與利用率成正比,帶靜態(tài)補償,而且DDR內(nèi)存在利用率為零時,幾乎不消耗功率。低利用率還可以在動態(tài)電平和較低的電壓電平時關(guān)閉各個模塊,以降低靜態(tài)功耗。
看功率數(shù)時,需要考慮以下參數(shù):結(jié)溫、器件利用率水平(包括高速緩存的使用率)以了解內(nèi)核效率、電壓 - 平均值或平均值加最大抖動、內(nèi)核和子系統(tǒng)頻率、I/O配置以及群體器件的使用功率- 典型功率還是最大功率。
被動節(jié)電
降低功耗是設(shè)計半導(dǎo)體裝置的一個重要組成部分。可使用許多先進技術(shù)來降低功耗,而無需任何或僅需非常有限的活動系統(tǒng)和軟件感知。在本節(jié),我們將討論時鐘門控、打盹模塊和電壓 ID。
時鐘門控
由于一個模塊的動態(tài)功耗取決于頻率,因此我們通過降低頻率或在不使用時將其完全關(guān)閉就可以大大減少動態(tài)功耗。時鐘門控技術(shù)是一種常用技術(shù),在這個技術(shù)中,一個模塊的啟用信號關(guān)聯(lián)到本地時鐘信號。當(dāng)模塊被禁用時,時鐘也將被停止,從而消除了動態(tài)功率。時鐘門控技術(shù)也可用于減少芯片尺寸,從而降低功耗,因為時鐘停止則無需在模塊內(nèi)啟用信號傳播。
時鐘門控技術(shù)多用于較大的模塊,如內(nèi)核、DDR 控制器、接口、加密單元等,但它也可在模塊內(nèi)使用。例如,通常內(nèi)核運行的頻率比系統(tǒng)內(nèi)其他部件的頻率高,因而對動態(tài)功耗更敏感。因此,可以對內(nèi)核中的組件,如浮點單元、矢量處理引擎或單個執(zhí)行塊實行門控。子組件時鐘的啟用和禁用取決于管道中的指令。
飛思卡爾已將廣泛的時鐘門控應(yīng)用于幾代器件,而且將繼續(xù)將其作為產(chǎn)品設(shè)計工藝的一個重要組成部分。
打盹模塊
電壓水平對于靜態(tài)和動態(tài)功耗都至關(guān)重要,,但降低電壓就不能以給定的頻率正確執(zhí)行。然而,正如時鐘門控技術(shù)可短期節(jié)省模塊的功率一樣,電壓水平也可以臨時改變。這一理念利用了狀態(tài)保持需要的電壓比狀態(tài)變化需要的電壓更少這一事實。把模塊置于這種低電壓模式被稱為 “打盹”狀態(tài)。然而,實施打盹功能比時鐘門控技術(shù)更復(fù)雜,它還需要盡早指示狀態(tài)變化,這樣電壓水平可以即時調(diào)回,而不影響性能。
打盹狀態(tài)的典型實施方法不是為了降低 Vdd,而是為了提高接地電平。最終的效果是相同的,降低電壓差和減少漏電。飛思卡爾在 45nm P50x0 器件的高速緩存中推出打盹功能,而且 28nm e6500 內(nèi)核支持打盹功能。
?。▓D字)正常;打盹
圖3:提高接地以降低相對于 Vdd 的電壓差,從而降低靜態(tài)和動態(tài)功耗。
電壓 ID
電壓識別 - VID,監(jiān)控半導(dǎo)體器件制造的工藝變化。假定漏晶體管能提供快速器件 - 即更易驅(qū)動,以及高功耗器件,那么通??梢酝ㄟ^采用較低的電壓來降低速度和功耗。這可以使器件群更緊密地聯(lián)系在一起,從而產(chǎn)生更統(tǒng)一的系統(tǒng),同時實現(xiàn)更大的產(chǎn)出。
帶VID的器件在生產(chǎn)測試階段會獲得標(biāo)識,這個標(biāo)識會通過熔斷或其它永久機械手段印在器件上。然而,需要電源能夠慢慢調(diào)節(jié)電壓才能讓 VID 起作用。在啟動過程中會讀取 ID,并相應(yīng)地調(diào)整電壓。
?。▓D字)功率;頻率;頻率過低;功率過高
圖4:通過這個示例可以看到器件群如何傳播以及 VID 如何能允許電源規(guī)格之外的器件移入,或者看到推動群聚集以便使功率和頻率更統(tǒng)一。
主動節(jié)電
感知所需的性能/吞吐量可以進一步節(jié)電。這通常通過讓軟件指定性能需求(如操作系統(tǒng)觀察空閑狀態(tài),盡可能降低性能)來實現(xiàn)。正如下文所述,它也可以通過硬件感應(yīng)硬件塊上的系統(tǒng)負(fù)荷,特別是使用硬件排隊機制來實現(xiàn)。在復(fù)雜系統(tǒng)中,對于優(yōu)化功耗來說,來自空調(diào)、風(fēng)扇和其它熱設(shè)備的功耗比單個器件更重要。由于功耗隨著溫度升高而大大增加,因此熱感應(yīng)是一個重要方面。
動態(tài)電壓和頻率調(diào)節(jié)
器件利用率低可以減少其計算吞吐量,一般來說,最簡單方法是通過降低內(nèi)核的時鐘頻率來實現(xiàn),從而節(jié)省動態(tài)功耗。降低頻率通常容易實現(xiàn):使用來自同一個系統(tǒng)定時器但帶有不同頻率輸出的多個 PLL。也可以使用一個 PLL 并擁有時鐘分頻器將頻率減半,或減少四分之一等來實現(xiàn)同樣目的。多核器件經(jīng)常把幾個 PLL 融合在一起,用于這些內(nèi)核,而且每個內(nèi)核有數(shù)個分頻器。這樣可允許每個內(nèi)核根據(jù)其負(fù)載 以獨立的頻率范圍運行。這種技術(shù)稱為動態(tài)頻率調(diào)節(jié)(Dynamic Frequency Scaling) - DFS,常用于飛思卡爾的 QorIQ 產(chǎn)品中,請參見圖 5 的實施示例。
?。▓D字)系統(tǒng)時鐘;時鐘選擇(每 CPU);e500 內(nèi)核;I-緩存;D-緩存;128KB L2 緩存
圖5:使用 PLL 和分頻器組合的多核器件的頻率選擇實施示例。
如果降低頻率,則不再需要努力驅(qū)動器件,也同樣可以減少電壓。這將影響動態(tài)和靜態(tài)功耗,并且其增益比單獨的 DFS 更大。動態(tài)電壓調(diào)節(jié) – DVS 本身是不可能實現(xiàn)的,因此,它通常被稱為 DVFS。雖然電壓調(diào)節(jié)的好處更多,但也更為復(fù)雜。正如 VID 要求電源能夠慢慢改變電壓水平, DVS 也是如此。有了 DVS,操作時也需要實現(xiàn)動態(tài)化,并面臨一些挑戰(zhàn)。多核器件的每個內(nèi)核通常有不同的電壓需求,以實現(xiàn)節(jié)能,同時內(nèi)核可能處于不同的負(fù)載下,而且隨著內(nèi)核數(shù)量的增加,需要的電源平面數(shù)量相當(dāng)大,這對于直接成本和板卡面積來說是不切實際的,而且非常昂貴。其次,改變電壓水平的過程相對較慢,從低負(fù)載情況調(diào)整到突發(fā)情況會增加過程延遲,會導(dǎo)致不均衡的過程時間,甚至導(dǎo)致數(shù)據(jù)丟失。在實時系統(tǒng)中,這往往是不可取的。飛思卡爾的 QorIQ 器件不支持 DVS,但推出了不同的技術(shù)–SRPG,更好地發(fā)揮了現(xiàn)代器件有多個內(nèi)核的優(yōu)勢,接下來我們將討論這個方面。
狀態(tài)保持功率門控
最高能效的節(jié)電是完全關(guān)閉所有不需要的部件,節(jié)省所有動態(tài)和靜態(tài)功耗,采用多核器件已使其成為了現(xiàn)實,因為增加的內(nèi)核數(shù)量改進了功率/性能粒度。然而,這還不是非常切合實際,因為它需要大量的時間和精力來恢復(fù)執(zhí)行狀態(tài)。對于內(nèi)核而言,這是一個部分啟動程序,需要重新初始化內(nèi)核寄存器、堆棧和堆配置、MMU 等,此外,還要將內(nèi)核添加到操作系統(tǒng)調(diào)度程序。關(guān)閉部分器件也難以有效地實施,因為啟用和禁用部分之間的電壓差很容易導(dǎo)致不穩(wěn)定、漏電、甚至損壞組件。模塊之間的隔離也會影響塊本身的性能。此外,還需要有不同的電源平面,這會增加芯片尺寸或外部組件的數(shù)量。
飛思卡爾應(yīng)對這一挑戰(zhàn)的解決方案是在高端 QorIQ 器件中推出了 SRPG –狀態(tài)保持功率門控(SRPG)。其思路是將模塊狀態(tài)保持門控與非狀態(tài)保持邏輯分開供電,非狀態(tài)保持邏輯通常是較大的集。SRPG允許在低功耗和活動狀態(tài)之間非??焖俚剡M行轉(zhuǎn)換,本質(zhì)上說是VDD回調(diào),并且必須重新達到一個穩(wěn)定水平 - 這通??赡苁且粋€亞微秒事件。與完全關(guān)閉的概念類似,SRPG理念節(jié)省了全部動態(tài)功耗和幾乎所有靜態(tài)功耗。該技術(shù)的高速功能允許不同的執(zhí)行方式,其中模塊始終處于關(guān)閉狀態(tài),直到被主動請求要執(zhí)行一些任務(wù),隨后它們被喚醒,執(zhí)行任務(wù),然后又返回到低功耗狀態(tài)。這一概念經(jīng)常用于超低功耗 MCU 解決方案中。然而,根據(jù)應(yīng)用使用情況可能需要修改軟件。
?。▓D字)邏輯;flip flop:觸發(fā)器
圖6:將狀態(tài)保持觸發(fā)器和邏輯分開供電,可使邏輯掉電,并在空閑和激活模式之間快速切換。
熱傳感
器件的性能、功耗和結(jié)溫之間有緊密的聯(lián)系,這樣能夠感應(yīng)到它們并能夠在系統(tǒng)開始出現(xiàn)不穩(wěn)定的功率狀態(tài)時做出反應(yīng),就變得很重要。在許多位置都可以感應(yīng)到溫度,但最重要、最準(zhǔn)確的溫度感應(yīng)直接在芯片本身上。集成式溫度傳感器長期以來一直是高性能器件的標(biāo)準(zhǔn),但后來一般只采用一個模擬輸出,這需要一個外部 ADC 將溫度進行數(shù)字化處理并進行反饋,通常通過一些標(biāo)準(zhǔn)的接口,如 I2C,來執(zhí)行。
由于半導(dǎo)體器件的功耗隨著溫度的增加而增加,因此當(dāng) Tj 較高時,以更高的速率運行外部冷卻設(shè)備是典型的節(jié)電做法。然而,最佳溫度取決于器件和系統(tǒng)的功能、位置等綜合因素,并且最有效點(sweet spot)會變化。因此,更精確的溫度傳感器、快速反饋和更寬的芯片溫度設(shè)置可節(jié)省電力,因為它可以提供更嚴(yán)格的控制回路,以平衡內(nèi)部負(fù)載、控制外部溫度,如風(fēng)扇和 AC。因此,飛思卡爾在努力為 QorIQ 器件開發(fā)一個完整的集成式溫度單元。該溫度單元將包含多個高精度溫度傳感器(針對芯片的不同部件)以及集??成的 ADC、統(tǒng)計和看門狗/中斷功能。
負(fù)載傳感
與溫度傳感同樣重要的是要了解系統(tǒng)負(fù)載,過去通過內(nèi)核負(fù)載檢查實現(xiàn)。然而,內(nèi)核負(fù)載只告訴我們瞬時工作和突發(fā)情況,而空閑系統(tǒng)可能提供一個錯誤的視圖?,F(xiàn)代多核器件還擁有與內(nèi)核分隔開的高度自主的加速器。因此,系統(tǒng)負(fù)載不一定與內(nèi)核負(fù)載相同。
飛思卡爾的DPAA(數(shù)據(jù)路徑加速架構(gòu))技術(shù)表達了這樣一個概念:傳統(tǒng)的低端器件驅(qū)動器被推到硬件中以降低緩沖器和隊列管理等負(fù)載。硬件了解隊列情況,這可以提供一個新的硬件負(fù)載傳感功能,從而有助于電源管理。飛思卡爾將這一概念稱之為級聯(lián)電源管理(Cascaded power management)。該技術(shù)可根據(jù)隊列情況通知內(nèi)核進入睡眠模式或被喚醒。還可以檢測處于低功耗模式時的突發(fā)狀況時,并可根據(jù)配置采取適當(dāng)?shù)男袆?;可以是保持低功耗模式并用活動?nèi)核來進行處理,或喚醒其他內(nèi)核。
結(jié)論
電源管理變得越來越重要,多核器件為平衡功耗和性能提供了許多新方法。本文開頭部分描述了影響功耗的一些基本要素,然后介紹了解決這些問題的新概念和技術(shù)。被動和主動節(jié)電技術(shù)發(fā)揮了重要作用,這些技術(shù)使功耗始終保持在最低限度,還可以根據(jù)系統(tǒng)負(fù)載情況最大限度地降低功耗。
Freescale和Freescale標(biāo)識是飛思卡爾半導(dǎo)體公司在美國專利商標(biāo)局注冊的商標(biāo)。CoreNet 和 QorIQ是飛思卡爾半導(dǎo)體公司的商標(biāo)。所有其他產(chǎn)品和服務(wù)名稱是其各自所有者的財產(chǎn)。Power Architecture和Power .org文字標(biāo)識及Power和Power.org標(biāo)識及相關(guān)標(biāo)識是Power.org的許可商標(biāo)和服務(wù)標(biāo)識。
評論