五部門關(guān)于開展2024年新能源汽車下鄉(xiāng)活動的通知
優(yōu)化嵌入式軟件以提高電源效率:第 1 部分 – 測量電源
優(yōu)化嵌入式軟件以提高電源效率:第 1 部分 – 測量電源關(guān)于如何管理嵌入式軟件設(shè)計的電源要求的系列文章的篇。作者提供了有關(guān)在硬件、算法、數(shù)據(jù)流和內(nèi)存級別應(yīng)用優(yōu)化技術(shù)之前所需的功率測
關(guān)于如何管理嵌入式軟件設(shè)計的電源要求的系列文章的篇。作者提供了有關(guān)在硬件、算法、數(shù)據(jù)流和內(nèi)存級別應(yīng)用優(yōu)化技術(shù)之前所需的功率測量的提示。
嵌入式項目的產(chǎn)品生命周期中重要的考慮因素之一是了解和優(yōu)化設(shè)備的功耗。手持設(shè)備的功耗非常明顯,需要電池供電才能保證充電之間的特定使用/空閑時間。其他嵌入式應(yīng)用,如醫(yī)療設(shè)備、測試、測量、媒體和無線基站,也對功耗非常敏感——因為需要管理日益強大的處理器的散熱、電源成本和能源消耗成本——所以功耗是不容忽視的事實。
設(shè)置和保持功率要求的責(zé)任通常落在硬件設(shè)計人員的肩上,但軟件程序員有能力為功率優(yōu)化做出巨大貢獻(xiàn)。通常,軟件工程師對影響設(shè)備功耗的影響被忽視或低估。
本系列文章的目的是討論如何使用軟件來優(yōu)化功耗,從功耗的基礎(chǔ)知識開始,如何正確測量功耗,然后轉(zhuǎn)向化軟件功耗的技術(shù)在算法級別、硬件級別和數(shù)據(jù)流級別。這將包括各種技術(shù)的演示,以及某些方法如何以及為何有效降低功耗的解釋,以便讀者可以立即將這項工作應(yīng)用到他們的應(yīng)用程序中。
功耗基礎(chǔ)
一般而言,當(dāng)討論功耗時,討論一個器件的四個主要因素是應(yīng)用、頻率、電壓和工藝技術(shù),因此我們需要了解為什么這些因素如此重要.
該應(yīng)用非常重要,以至于兩個手持設(shè)備的功率曲線可能不同,以至于使功率優(yōu)化策略完全相反。雖然我們稍后會解釋更多關(guān)于功耗優(yōu)化策略的信息,但基本概念已經(jīng)足夠清晰,可以在本節(jié)中介紹。
以便攜式媒體播放器與手機為例。便攜式媒體播放器需要能夠長時間以 100% 使用率運行以顯示視頻(完整電影)、音頻等。我們稍后會討論這個問題,但此類的一般功耗配置文件設(shè)備的開發(fā)必須更多地關(guān)注算法和數(shù)據(jù)流功率優(yōu)化,而不是低功耗模式的有效使用。
將此與蜂窩電話進行比較,蜂窩電話大部分時間都處于空閑狀態(tài),并且在通話期間用戶僅通話相對較小的時間百分比。對于這一小部分時間,處理器可能負(fù)載很重,執(zhí)行語音編碼/解碼和傳輸/接收數(shù)據(jù)。在剩余的通話時間里,手機的任務(wù)并不繁重,它會執(zhí)行諸如向蜂窩網(wǎng)絡(luò)發(fā)送心跳數(shù)據(jù)包和向用戶提供“舒適噪音”等程序,讓用戶知道手機在靜音期間仍然處于連接狀態(tài)。對于這種配置文件,功率優(yōu)化將首先集中在化處理器睡眠狀態(tài)以盡可能多地節(jié)省功率,然后是數(shù)據(jù)流/算法方法。
就工藝技術(shù)而言,當(dāng)前的嵌入式內(nèi)核基于
45 納米,不久的將來將采用 28 納米技術(shù),其尺寸比其前身 65 納米技術(shù)有所減小。這種更小的工藝技術(shù)提供的是更小的晶體管。更小的晶體管消耗更少的功率并產(chǎn)生更少的熱量,因此與它們的前身相比具有明顯的優(yōu)勢。
較小的工藝技術(shù)通常還可以實現(xiàn)更高的時鐘頻率,這顯然是一個優(yōu)勢,可以提供更多的處理能力,但更高的頻率和更高的電壓是以更高的功耗為代價的。電壓是其中明顯的,正如我們在物理學(xué)(和 EE101)中了解到的那樣,功率是電壓乘以電流的乘積。因此,如果設(shè)備需要大電壓供應(yīng),功耗增加是不可避免的。
在繼續(xù)討論P=V*I的主題時,頻率也是該等式的直接部分,因為電流是時鐘速率的直接結(jié)果。我們在物理和 EE101 中學(xué)到的另一件事:當(dāng)在電容器兩端施加電壓時,電流將從電壓源流向電容器,直到電容器達(dá)到等效電位。
雖然這是一種過度簡化,但我們可以想象內(nèi)核中的時鐘網(wǎng)絡(luò)以這種方式消耗功率。因此,在每個時鐘邊沿,當(dāng)電勢發(fā)生變化時,電流會流過器件,直到達(dá)到下一個穩(wěn)定狀態(tài)。時鐘切換得越快,流過的電流就越多,因此更快的時鐘意味著嵌入式處理器消耗的功率更多。根據(jù)設(shè)備的不同,時鐘電路負(fù)責(zé)消耗 50% 到 90% 的動態(tài)設(shè)備功率,因此控制時鐘是這里將重點討論的主題。
功耗類型
總功耗包括兩種功耗:動態(tài)和靜態(tài)(也稱為靜態(tài)泄漏)功耗,因此總器件功耗計算如下:
正如我們剛才所討論的,時鐘轉(zhuǎn)換是動態(tài)消耗的很大一部分,但是這個“動態(tài)消耗”是什么?基本上,在軟件中我們可以控制動態(tài)消耗,但我們無法控制靜態(tài)消耗。
靜態(tài)功耗 泄漏消耗是設(shè)備消耗的功率,與運行的任何活動或任務(wù)無關(guān),因為即使在穩(wěn)定狀態(tài)下也存在低“泄漏”電流路徑(通過晶體管隧道電流、反向二極管泄漏等)。 ) 從設(shè)備的 Vin 到地。影響漏電消耗的因素只有電源電壓、溫度和工藝。
我們已經(jīng)在介紹中討論了電壓和過程。就溫度而言,理解為什么熱量會增加漏電流是相當(dāng)直觀的。熱量增加了電子載流子的遷移率,這將導(dǎo)致電子流量增加,從而導(dǎo)致更大的靜態(tài)功耗。由于本章的重點是軟件,靜態(tài)功耗理論到此結(jié)束。
動態(tài)功耗 嵌入式處理器的動態(tài)功耗包括設(shè)備主動使用內(nèi)核、內(nèi)核子系統(tǒng)、外設(shè)(如 DMA、I/O(無線電、以太網(wǎng)、PCIe、CMOS 相機)、內(nèi)存以及 PLL 和時鐘)所消耗的功耗. 在低級別,這可以解釋為動態(tài)功率是開關(guān)晶體管對電容充電和放電所消耗的功率。
隨著我們使用更多的系統(tǒng)元素、更多的內(nèi)核、更多的算術(shù)單元、更多的內(nèi)存、更高的時鐘速率或任何可能增加晶體管開關(guān)量或它們開關(guān)速度的任何東西,動態(tài)功耗也會增加。動態(tài)消耗與溫度無關(guān),但仍取決于電壓供應(yīng)水平。
值、平均值、壞情況和典型值。在測量功率或確定系統(tǒng)的功耗時,需要考慮四種主要的功率類型:功率、平均功率、壞情況功耗和典型功耗。
和平均功率是通用術(shù)語,用于描述功率測量本身,而不是軟件或其他變量對設(shè)備功耗的影響。
簡單地說,功率是在一段時間內(nèi)測得的瞬時功率讀數(shù)。這種測量有助于顯示設(shè)備保持適當(dāng)水平的信號完整性(可靠運行所需)所需的去耦電容量。
平均功率在這一點上很直觀:技術(shù)上是一段時間內(nèi)消耗的能量除以該時間(功率讀數(shù)隨時間平均)。工程師通過計算隨時間消耗的平均電流并使用它來計算功率來做到這一點。平均功率讀數(shù)是我們重點優(yōu)化的內(nèi)容,因為這是電池或電源必須能夠為處理器提供多少功率才能隨時間執(zhí)行應(yīng)用程序的決定性因素,并且這也用于了解熱量分布裝置。
壞情況和典型功率值均基于平均功率測量。壞情況功率或壞情況功率曲線描述了設(shè)備在給定時間段內(nèi)以 100% 使用率消耗的平均功率。百分之一百的使用率是指處理器同時利用數(shù)量的可用處理單元(內(nèi)核中的數(shù)據(jù)和地址生成塊、加速器、位掩碼等)、存儲器和外設(shè)。這可以通過將內(nèi)核置于一個無限循環(huán)中來模擬,每個循環(huán)執(zhí)行 6 條或更多指令(取決于內(nèi)核中可用的處理單元),同時具有多個 DMA 通道連續(xù)讀取和寫入內(nèi)存,以及外圍設(shè)備不斷發(fā)送和接收數(shù)據(jù)。
在實際系統(tǒng)中,設(shè)備很少會消耗壞情況下的功率,因為應(yīng)用程序不會長時間使用所有處理元件、內(nèi)存和 I/O,如果有的話。通常,設(shè)備提供許多不同的 I/O 外圍設(shè)備,盡管只需要其中的一部分,并且設(shè)備內(nèi)核可能只需要在一小部分時間內(nèi)執(zhí)行繁重的計算,只訪問一部分內(nèi)存。然后,典型功耗可能基于假設(shè)的“一般用例”示例應(yīng)用程序,該應(yīng)用程序可能使用處理器可用硬件組件的 50% 到 70%。這是軟件應(yīng)用程序的一個主要方面,我們將利用它來優(yōu)化功耗。
測量功耗
測量功率取決于硬件:一些嵌入式處理器提供內(nèi)部測量功能;處理器制造商也可能提供“功率計算器”,提供一些功率信息;有許多電源控制器 IC 提供不同形式的功率測量功能;一些稱為 VRM(穩(wěn)壓器模塊)的電源控制器具有這些內(nèi)部功能,可以通過外圍接口讀??;,還有將電流表串聯(lián)到電源的老式方法。
使用電流表測量功率?!袄鲜健狈椒ㄊ峭ㄟ^使用串聯(lián)連接到電流表正極端子的外部電源來測量功率,電流表通過負(fù)極連接器連接到 DSP 設(shè)備電源輸入,如圖 13.1所示。
請注意,圖 13.1 中顯示了三種不同的設(shè)置,它們都是針對單個處理器的。這是因為處理器電源輸入是隔離的,通常在內(nèi)核(可能有多個電源)、外設(shè)和內(nèi)存之間。這是通過硬件設(shè)計完成的,因為設(shè)備的不同組件具有不同的電壓要求,這有助于隔離(并終優(yōu)化)各個組件的電源配置文件。
為了正確測量功耗,必須正確隔離每個組件的電源,在某些情況下可能需要修改電路板、特定跳線設(shè)置等。理想的情況是能夠?qū)⑼獠侩娫?電流表組合連接為盡可能靠近處理器電源輸入引腳。
或者,可以測量與電源和處理器電源引腳串聯(lián)的(分流)電阻兩端的壓降。通過測量電阻兩端的電壓降,只需計算 I = V/R 即可找到電流。
測量半個傳感器 IC 的功率。為了簡化高效的功率測量,許多嵌入式供應(yīng)商正在構(gòu)建使用基于霍爾效應(yīng)的傳感器的電路板。當(dāng)霍爾傳感器放置在設(shè)備電源電流路徑中的電路板上時,它會產(chǎn)生一個電壓,該電壓等于電流乘以某個具有偏移的系數(shù)。
對于 Freescale 的 MSC8144 DSP 應(yīng)用開發(fā)系統(tǒng)板,板上提供了一個 Allegro ACS0704 霍爾傳感器,可實現(xiàn)此類測量。有了這個板,用戶可以簡單地在板上放置示波器,查看隨時間變化的電壓信號,然后使用 Allegro 的電流電壓圖計算平均功率,如圖 13.2所示。
圖 13.2:霍爾效應(yīng) IC 電壓電流圖 (www.allegromicro.com/en/Products/Part../0704/0704-015.pdf)。
使用圖 13.2,我們可以根據(jù)測量 Vout 兩端的電位來計算設(shè)備的輸入電流:
我 = (V輸出 – 2:5)*10A使用 VRM IC。,一些電壓調(diào)節(jié)器模塊電源 IC (VRM) 用于將大輸入電壓分成多個較小的電壓,以提供不同電位的各個電源,測量電流/功耗并將值存儲在寄存器中以供讀取用戶。通過 VRM 測量電流不需要任何設(shè)備,但這有時會以精度和實時測量為代價。
例如,PowerOne ZM7100 系列 VRM(也用在 MSC8144ADS 上)提供每個電源的電流讀數(shù),但電流讀數(shù)每 0.5 到 1 秒更新,讀數(shù)精度在 ~20% 量級,所以瞬時讀取功率是不可能的,并且使用此類設(shè)備可能無法進行微調(diào)和優(yōu)化。
除了確定一般測量功率的特定方法外,還存在不同的方法來測量動態(tài)功率與靜態(tài)泄漏消耗。靜態(tài)漏電消耗數(shù)據(jù)有助于為我們的低功耗預(yù)期奠定基礎(chǔ),并了解實際應(yīng)用消耗的功率與設(shè)備空閑時消耗的功率。然后我們可以從我們測量的總功耗中減去它,以確定處理器正在拉動的動態(tài)功耗,并努力將其化。行業(yè)中有各種工具可以在這方面提供幫助。靜態(tài)功率測量當(dāng)器件處于低功耗模式時,通??梢詼y量處理器的泄漏消耗,假設(shè)該模式關(guān)閉了所有子系統(tǒng)和外設(shè)的時鐘。如果時鐘在低功耗模式下未關(guān)閉,則應(yīng)旁路 PLL,然后關(guān)閉輸入時鐘,從而關(guān)閉所有時鐘并從靜態(tài)泄漏測量中消除時鐘和 PLL 功耗。
此外,應(yīng)在不同溫度下測量靜態(tài)泄漏,因為泄漏會隨溫度而變化?;跍囟龋ê碗妷海﹦?chuàng)建一組靜態(tài)測量值可以提供有價值的參考點,用于確定應(yīng)用在這些溫度/電壓點實際消耗了多少動態(tài)功率。
動態(tài)功率測量功率測量應(yīng)區(qū)分設(shè)備中每個主要模塊的貢獻(xiàn),以便為工程師提供有關(guān)特定配置對系統(tǒng)功耗有何影響的信息。如上所述,通過測量總功率(在給定溫度下)然后使用上面的初始靜態(tài)測量值減去該給定溫度下的泄漏消耗,可以簡單地找到動態(tài)功率。
初始動態(tài)測量測試包括運行睡眠狀態(tài)測試、調(diào)試狀態(tài)測試和 NOP 測試。睡眠狀態(tài)和調(diào)試狀態(tài)測試將使用戶深入了解在系統(tǒng)中啟用某些時鐘的成本。NOP 測試,就像在 NOP 命令循環(huán)中一樣,主要使用設(shè)備的獲取單元時,將為您的內(nèi)核消耗提供基線動態(tài)讀取,但不使用算術(shù)單元、地址生成、位掩碼、內(nèi)存管理等。
在比較具體的軟件功耗優(yōu)化技術(shù)時,我們比較每種技術(shù)前后的功耗數(shù)字,以確定該技術(shù)的效果。
這種強大的測試用例生成可以通過使用高端分析器分析代碼性能來完成,以獲得對使用的處理元素和內(nèi)存百分比的一些基本了解。我們可以通過在標(biāo)準(zhǔn)工具 IDE 中創(chuàng)建一個新項目來演示這一點(有許多可用的) 啟用探查器,然后編譯并運行項目。該應(yīng)用程序?qū)念^到尾運行,此時用戶可以選擇一個分析器視圖并獲取任意數(shù)量的統(tǒng)計信息。
使用相關(guān)數(shù)據(jù),例如使用的 ALU 百分比、使用的 AGU、代碼熱點和正在訪問的內(nèi)存知識,我們可以大致了解我們的代碼將在哪里花費多的時間(和消耗多的功率)。我們可以使用它來生成一個在無限循環(huán)中運行的基本性能測試,使我們能夠分析重要代碼段的平均“典型”功率。
例如,使用兩個主要函數(shù):func1 和 func2。剖析示例代碼,我們可以從圖 13.3中看出 ,絕大多數(shù)周期都被 func1 例程消耗了。
該例程位于 M2 內(nèi)存中,并從可緩存的 M3 內(nèi)存中讀取數(shù)據(jù)(這意味著可能導(dǎo)致對 L2 和 L1 緩存的寫回訪問)。通過使用分析器(如圖 13.4 所示),可以提取有關(guān)百分比 ALU 和百分比 AGU 的信息。
我們可以通過將代碼變成無限循環(huán)、調(diào)整 I/O 并在相同的優(yōu)化級別編譯,并驗證我們看到相同的性能分解來有效地模擬這一點。另一種選擇是用匯編代碼編寫示例測試,以強制某些 ALU/AGU 使用模型與我們的配置文件相匹配,盡管這不是那么,并且使測試單個優(yōu)化更加困難。
然后我們可以設(shè)置一個斷點,重新運行我們的應(yīng)用程序,并確認(rèn)設(shè)備使用配置文件與我們的原始代碼一致。如果不是,我們可以調(diào)整編譯器優(yōu)化級別或我們的代碼,直到它與原始應(yīng)用程序匹配。
這種方法可以快速有效地測量各種負(fù)載的功耗,如果我們通過正確使用分析器來鏡像原始應(yīng)用程序,這應(yīng)該可以解決停頓和其他管道問題,因為分析器提供了有關(guān)總周期數(shù)以及指令和 VLES 利用率的信息。通過無限循環(huán),測試變得更加容易,因為我們只是比較優(yōu)化和非優(yōu)化代碼的穩(wěn)態(tài)電流讀數(shù),希望獲得更低的數(shù)字。我們可以使用它來測量許多指標(biāo),例如一段時間內(nèi)的平均功率、每條指令的平均功率、每個周期的平均功率以及一段時間 t 內(nèi)以焦耳為單位的能量(功率 * 時間). 為了測量特定算法和節(jié)能技術(shù),我們將使用類似的方法形成小例程,然后優(yōu)化和測量隨時間推移的節(jié)能情況。
使用這些工具將能夠有效地測量和確認(rèn)本文下一節(jié)中共享的知識,其中涵蓋了用于優(yōu)化功耗的軟件技術(shù)。
上一篇:釋放無線模塊的處理能力
-
2016年的功率半導(dǎo)體,SiC用于燃料電池車和新干線2023-11-30
-
ROHM開發(fā)出用于液晶背光的4通道、6通道 LED驅(qū)動器, 助力中大型車載顯示器進一步降低功耗2023-03-15
-
ST - 車規(guī)MOSFET技術(shù)確保功率開關(guān)管的可靠性和強電流處理能力2023-03-09
-
TI - 使用低功耗 60GHz 毫米波雷達(dá)傳感器滿足 Euro NCAP 兒童存在檢測要求2023-03-09
-
將測量與模擬相關(guān)聯(lián)2023-03-06
-
減小紅外熱成像應(yīng)用的尺寸、功耗和成本2023-03-01
-
電機驅(qū)動中如何使用 GaN 功率器件?2023-02-27
-
如何實現(xiàn)隔離電源的低待機功耗2023-02-27
-
特斯拉 2022.40.4.2 軟件版本開始推送:針對充電站功率容量優(yōu)化,提高充電效率2022-11-30
-
面向高功率電動汽車充電應(yīng)用的充電樁拓?fù)浼夹g(shù)2022-11-21
-
該如何應(yīng)對比亞迪低功率漢EV?特斯拉12月可能還得降價2022-11-01
-
華為電動汽車無線充電專利公布 可降低成本提升功率2022-09-20
-
微宏動力高功率電池在商用車市場發(fā)力2022-09-01
-
萬通智控:公司的低功耗藍(lán)牙TPMS是針對新能源汽車開發(fā)的新產(chǎn)品 適用于以藍(lán)牙為通訊方式的系列車輛2022-08-25
-
億華通:自主大功率氫燃料電池發(fā)動機G20+正式裝車 即將亮相2022世界新能源汽車大會2022-08-25