ARM處理器的節(jié)能優(yōu)勢
許多嵌入式ARM處理器的系統(tǒng)都是基于電池供電的能量供應(yīng)方式,而處理器的功耗對于整個SoC芯片至關(guān)重要,因此ARM處理器的低功耗優(yōu)勢可以充分節(jié)省能量消耗??傊?,當(dāng)前的典型功耗的電流圖并不依賴于標(biāo)準(zhǔn)過程、標(biāo)準(zhǔn)集或工作負(fù)載。
EnergyBench提供若干工具,這些工具可容易低與經(jīng)濟(jì)實用的硬件結(jié)合使用,以便使用E EM B C開發(fā)的標(biāo)準(zhǔn)方法測量典型功耗。不過,除了處理器之外,具體芯片設(shè)計和集成到芯片內(nèi)部的外圍模塊也是影響芯片功耗的重要因素。雖然許多芯片供應(yīng)商都會在產(chǎn)品的datasheet中提供功耗參數(shù),但是這些參數(shù)往往是不具可比性的。當(dāng)設(shè)計者試圖對集成到SoC中的不同處理器進(jìn)行對比時,如果想要弄清楚處理器的真實功耗是怎樣的,將會變得非常困難。這是因為,供應(yīng)商經(jīng)常使用典型功耗參數(shù)來描述他們的處理器,卻很少表明進(jìn)行這些測量時處理器的工作負(fù)載,而這將是決定能量和功率參數(shù)的關(guān)鍵因素。
許多嵌入式ARM 處理器的系統(tǒng)都是采用電池供電的方式。因此,ARM 被公認(rèn)為是處理器領(lǐng)域的“低功率領(lǐng)導(dǎo)者”。
然而系統(tǒng)的功耗不僅僅取決于處理器,此外,具體芯片設(shè)計和集成到芯片內(nèi)部的外圍模塊也將影
響片上能量的消耗。
雖然許多芯片供應(yīng)商都會在產(chǎn)品的datasheet中提供功耗參數(shù),但是這些參數(shù)往往是不具可比性的。這是因為,供應(yīng)商經(jīng)常使用典型功耗參數(shù)來描述他們的處理器,卻很少表明進(jìn)行這些測量時處理器的工作負(fù)載。
以前業(yè)界通常將關(guān)注的焦點放在處理器的性能方面,但是隨著E EM B C等組織開發(fā)出各種測試基準(zhǔn)(諸如面向汽車、消費電子和網(wǎng)絡(luò)等應(yīng)用領(lǐng)域的基準(zhǔn)測試),我們可以更清楚的了解處理器內(nèi)部的真實情況。隨著功耗問題正逐漸嵌入式應(yīng)用中的關(guān)注焦點,因此在評價處理器時,必須將功耗作為與性能參數(shù)同等重要的指標(biāo)。其最終目標(biāo)是幫助系統(tǒng)設(shè)計人員在便攜式應(yīng)用中得到性能和功率間的最佳平衡。
EEMBC實現(xiàn)此目標(biāo)的方法是開發(fā)基準(zhǔn)軟件實用工具Energy B ench,它可以在處理器實際工作負(fù)載時提供有關(guān)能量消耗的真實數(shù)據(jù)。設(shè)計人員可同時使用EnergyBench和EEMBC性能基準(zhǔn),以比較不同處理器在執(zhí)行一系列標(biāo)準(zhǔn)化應(yīng)用任務(wù)時的能量消耗效率。在使用EnergyBench查看單個設(shè)備的功耗時,顯然不存在所謂的“典型功率”,因為運行不同的E EM B C基準(zhǔn)時,其平均功率有很大的變化。EnergyBench不能反映處理器的典型功率,但通過它可以在特定性能級別上得到某些特定算法或應(yīng)用的典型功耗值。
使用美國國家儀器公司(National Instruments)的LabVIEW平臺和數(shù)據(jù)采集(DAQ)卡,EEMBC已成功實現(xiàn) EnergyBench。DAQ卡可提供多個差分測量通道,它們允許同時對多個電源輸入進(jìn)行功耗測量(每次測量都需要捕獲電壓和電流)和一個觸發(fā)器通道。任何A R M處理器或使用評估板或自己硬件平臺的供應(yīng)商,只需修改其板級電路以實現(xiàn)電源輸入線的可測量和添加分流電阻器。
EnergyBench就可以使用DAQ卡對電壓和觸發(fā)器通道進(jìn)行采樣并將所有采樣結(jié)果寫入文件。靈活的觸發(fā)機(jī)制可實現(xiàn)性能基準(zhǔn)測試與功率測量的同步進(jìn)行。這確保了測量所得的代表的是基準(zhǔn)代碼運行時的功耗,而不包括基準(zhǔn)初始化或保留記錄階段中的功耗。
在運行基準(zhǔn)測試和功耗采樣時,必須確保結(jié)果的可靠性、可重復(fù)性和一致性,這對該標(biāo)準(zhǔn)的普及顯得尤其重要。EnergyBench通過多種方法來確保這些目標(biāo)的實現(xiàn):
1. 可靠性:
通常情況下,為獲得精確的統(tǒng)計結(jié)果,必須以2 X N y q u i s t頻率或更高頻率進(jìn)行采樣,或者在隨機(jī)點上采樣。
EnergyBench采樣模塊接受將采樣頻率作為輸入,然后必須使用不同的采樣頻率多次調(diào)用模塊?;鶞?zhǔn)運行期間使用未混淆頻率進(jìn)行多次采樣所生成的采樣點可避免與基準(zhǔn)執(zhí)行產(chǎn)生任何共振。換句話說,假設(shè)每個基準(zhǔn)的重復(fù)測試大致上都發(fā)生在周期性的間隔內(nèi),使用未與周期混淆的頻率可確保在每次重復(fù)中進(jìn)行偽隨機(jī)點采樣。該方法易于實現(xiàn),并可保證統(tǒng)計結(jié)果的精確性。使用這種靈活的方法可輕松檢測與基準(zhǔn)周期混淆的頻率,因為這將在其中一個采樣頻率中導(dǎo)致不同的結(jié)果。如果檢測到這種情況,會選擇一組新的未混淆頻率并進(jìn)行測試,直至得到有效結(jié)果。
2. 一致性:
因為我們可以根據(jù)需要多次重復(fù)測試和任意提高采樣頻率,所以EnergyBench會進(jìn)行多次采樣,直到可以通過精確的統(tǒng)計數(shù)據(jù)得到平均功耗。如果每次重復(fù)的值偏差太大,則可以通過提高采樣頻率以增加精確性并降低偏差。
3. 可重復(fù)性:
測量過程重復(fù)多次以保證測量準(zhǔn)確性,并計算最終結(jié)果的標(biāo)準(zhǔn)偏差。還可以很容易得到任何的檢測偏差,因為每次運行每個基準(zhǔn)都產(chǎn)生基準(zhǔn)每次重復(fù)的平均耗電量。當(dāng)然,如果假定供應(yīng)商提供的目標(biāo)器件是具有普遍性的,那么對該器件進(jìn)行測試而得到結(jié)果就認(rèn)為是可信的。同時EEMB一直都有非常嚴(yán)格的認(rèn)證程序,以保證所選中的被測芯片具有代表性。
基于同樣的原因,針對生產(chǎn)制造過程中出現(xiàn)任何細(xì)小偏差的潛在可能性,所有半導(dǎo)體制造商都應(yīng)該事先有所考慮,而EnergyBench面向眾多潛在應(yīng)用的測試,恰恰可以幫助制造商深入了解如何選擇測試芯片和測試,因為這些都會最終影響功耗測試結(jié)果。
在某個基準(zhǔn)運行完多次重復(fù)測試,并捕獲所有測量采樣數(shù)據(jù)后,分析模塊會根據(jù)這些數(shù)據(jù)計算出進(jìn)行該基準(zhǔn)測試的平均功耗。根據(jù)平均功耗值,EEMBC功率分析模塊通過分析每次測試捕獲的樣本,尋找數(shù)據(jù)樣本中的最小值和最大值。
如果特定采樣頻率的變動太大,用戶可提高頻率和/或基準(zhǔn)重復(fù)次數(shù),直至上述采樣數(shù)據(jù)足夠穩(wěn)定,這樣平均值的置信區(qū)間在落在指定公差(95%)范圍內(nèi),從而保證所得數(shù)據(jù)的準(zhǔn)確性。
EnergyBench測試的最終結(jié)果是芯片在運行某個基準(zhǔn)測試時的平均功耗值。
EEMBC 認(rèn)證的 EnergymarkTM測試結(jié)果作為一個可選參數(shù),芯片制造商可選擇將它與芯片性能參數(shù)一起提供給客戶,
作為表明處理器電量消耗的參考。
EnergyBench規(guī)范規(guī)定器件的準(zhǔn)備時間至少30分鐘,環(huán)境溫度為70°F+/-5°F。
這些基本條件對于確保結(jié)果的一致性非常重要。因為有證據(jù)表明隨著器件溫度的升高,其功耗也會隨之升高。
DAQ卡允許且EnergyBench規(guī)范也要求測量處理器上的所有power rail。顯然地,對于那些引腳數(shù)量有限的低端A R M b a s e d器件而言,能測量的power rail很少。具有多電源輸入的高端ARM based器件則必須進(jìn)行多次運行基準(zhǔn),以便捕獲完整的處理器功耗數(shù)據(jù)。EnergyBench的Test Harness中包括多個可執(zhí)行文件,可同時測量一個、兩個或三個power rail。對于使用多個power rail(即內(nèi)核電源和I/O電源)實現(xiàn)的處理器,可通過兩種方法計算基準(zhǔn)每次重復(fù)測試的功耗。在第一種方法中,EnergyBench使用DAQ卡最多可同時測量三個p owerrail。但使用此方法時,因為所有通道都必須使用相同的采樣率,所以可能需要降低D A Q卡的采樣率,以便主機(jī)能夠跟得上采樣過程(這是因為同時輸入數(shù)據(jù)過多)。另外,也可以單獨測量power rail,每個power rail功耗值的總和即為累積功耗總值。
究竟選用哪種方法呢?
首先,有些處理器的power rail數(shù)量超過三個。即使同時測量了三個power rail,但仍然有必要對某個power rail進(jìn)行單獨測量,或考慮在更多輸入通道上使用DAQ卡。
此外,采樣頻率應(yīng)該與處理器的操作頻率成比例,以確保每個基準(zhǔn)在重復(fù)測試時采樣到數(shù)據(jù)足夠充足。為了容納G H z級處理器,可能需要較高的采樣率,以便主機(jī)一次只測試一個power rail。
為深入了解該方法,我們考慮到許多替代方案。如指定功耗測量時的連接溫度以及使用高頻示波器和高可控測試環(huán)境。但是,由于我們并非為了描述芯片特征本身,而是為了確定典型功耗,所以我們決定使用可用硬件和控制環(huán)境溫度,而不是連接或某個案例的溫度。另一個問題是功耗測量需要面向從低至5MHz微控制器到高至當(dāng)今市場上速度最快的處理器等目標(biāo)器件。因此還必需考慮能夠在多處重復(fù)該測量而不是在某種特定環(huán)境下,并對結(jié)果進(jìn)行獨立驗證。使用可編程DAQ,我們可以輕松指定參數(shù)(如采樣頻率),然后永久保留捕獲的所有數(shù)據(jù)。
總之,當(dāng)前的典型功耗的電流圖并不依賴于標(biāo)準(zhǔn)過程、標(biāo)準(zhǔn)集或工作負(fù)載。
EnergyBench提供若干工具,這些工具可容易低與經(jīng)濟(jì)實用的硬件結(jié)合使用,以便使用E EM B C開發(fā)的標(biāo)準(zhǔn)方法測量典型功耗。