EnergyBench C 評估嵌入式處理器功耗的工具
各類內(nèi)置嵌入式處理器的電子產(chǎn)品的功耗目前已經(jīng)成為系統(tǒng)設(shè)計領(lǐng)域的前沿問題。手持式電子產(chǎn)品需要在實現(xiàn)低功耗的同時,最大限度地發(fā)揮產(chǎn)品的性能和特色。隨著電價的不斷提高,高性能系統(tǒng)的設(shè)計者不得不面對的挑戰(zhàn)是降低能耗,以滿足空間限制、散熱和能源之星計劃所提出的具體要求。但目前尚缺乏一種標(biāo)準的方法來量化嵌入式器件的實際功耗。
本文引用地址:http://m.butianyuan.cn/article/193578.htm許多處理器廠家在產(chǎn)品參數(shù)表中標(biāo)明了產(chǎn)品功耗,但這些數(shù)據(jù)卻很難相互進行比較。廠家也提供處理器的標(biāo)準功率,但卻很少標(biāo)示出在測量功率時負載狀況。
為解決上述問題,嵌入式微處理器測試基準協(xié)會(EEMBC)發(fā)明了一種軟件工具,顯示在運行特定應(yīng)用負載時處理器的實際功耗。該軟件名為EnergyBench,設(shè)計者可以利用它和協(xié)會其他性能標(biāo)準共同確定各種處理器在執(zhí)行一系列以應(yīng)用為核心的標(biāo)準化任務(wù)時的功耗。利用與全套性能測試直接相關(guān)的功耗測量標(biāo)準,設(shè)計者可以比較不同廠家產(chǎn)品的性能/功耗狀況,并從中挑選出特定應(yīng)用條件和功耗預(yù)算下最切合需要的處理器產(chǎn)品。
EnergyBench最重要的啟示之一是根本不存在所謂的“典型功耗”,因為嵌入式微處理器測試基準協(xié)會在數(shù)字娛樂、聯(lián)網(wǎng)和自動控制等基準套件的目標(biāo)應(yīng)用領(lǐng)域驅(qū)動內(nèi)核時所需的平均功耗數(shù)據(jù)差異極大。EnergyBench并未試圖就某種特定器件達成放之四海而皆準的虛幻的“典型功耗”,而是關(guān)注在特定的性能水平上,某一種算法或者應(yīng)用程序所需的典型功耗。
EnergyBench的測試方法
嵌入式微處理器測試基準協(xié)會采用美國國家儀器有限公司數(shù)據(jù)采集(DAQ)卡和LabVIEW軟件平臺進行EnergyBench功耗測量。該數(shù)據(jù)采集卡支持多測量通道,可以在多功率軌上同時進行功耗測量(所有測量均需獲取電壓和電流數(shù)據(jù)),并同時進行觸發(fā)通道采樣。EnergyBench利用數(shù)據(jù)采集卡對電壓進行采樣,并為實現(xiàn)性能基準和功耗測試同步提供一條觸發(fā)通道。這樣可以保證在基準代碼的同步部分測量功耗,從而避免計入基準初始化或記錄保存階段的功耗狀況。
EnergyBench采樣模塊接受配置文件,該文件可以通過為觸發(fā)探測和電壓電流通道指定電壓水平來定義觸發(fā)機制。
若企業(yè)希望公開其EnergyBench測量得分,則須先獲得嵌入式微處理器測試基準協(xié)會技術(shù)中心的認證資格。協(xié)會明確規(guī)定了一整套認證必須滿足的測量條件,從而確保得出一致、可靠并可以重復(fù)的測量結(jié)果。為得出統(tǒng)計學(xué)意義上的準確結(jié)果,采樣頻率必須是2倍以上尼奎斯特頻率或者是一些隨機數(shù)。EnergyBench采樣模塊接受采樣頻率輸入,且該采樣模塊必須以不同的采樣頻率數(shù)次調(diào)用。在基準測試中以非偽頻率多次采樣所得到的采樣點可以避免與基準執(zhí)行頻率發(fā)生共振現(xiàn)象。此法執(zhí)行便利,且能確保得到統(tǒng)計學(xué)意義上的準確結(jié)果。
由于可以輕易重復(fù)測量過程并加大采樣頻率,EnergyBench能耗基準可以盡可能多地搜集樣本,直至能確定統(tǒng)計意義上精確的平均能耗為止。為獲得認證資格,并協(xié)助器件和工具設(shè)計者更好地完成設(shè)計,EnergyBench測試過程一般會重復(fù)多次,并計算最終結(jié)果的標(biāo)準誤差。任何誤差都可以輕易被發(fā)現(xiàn),因為每項基準測試的每次運行均可得出一個基準每次迭代功耗的平均值。
當(dāng)然,以針對特定器件的任何測試為基礎(chǔ)進行歸納的前提是該目標(biāo)器件能代表廠家的生產(chǎn)水平,嵌入式微處理器測試基準協(xié)會一直定有嚴格的規(guī)則,防止廠家選擇最好的產(chǎn)品送交認證檢測。出于同樣原因,過程變化是所有半導(dǎo)體廠家必須經(jīng)常面對的一個問題,而EnergyBench眾多目標(biāo)中的一個是幫助廠商更深入地理解特定部件和過程變化的結(jié)果與能耗之間的關(guān)系。
EnergyBench規(guī)定器件運行的環(huán)境溫度為70°F +/- 5°F,并須至少進行30分鐘預(yù)熱。設(shè)定這樣的基準條件非常重要,可以確保測試得出一致的結(jié)果。此外,事實表明能耗可隨器件溫度的升高而顯著增加。由于我們量化評估的是基準測試情況下的一般功耗狀況,因此可以對室內(nèi)溫度進行人為的控制。這樣做還可以避免配備昂貴的器件來對處理器溫度進行控制。
EnergyBench與性能基準的融合
要理解EnergyBench為何如此高效,就必須理解嵌入式微處理器基準協(xié)會的相關(guān)規(guī)則。協(xié)會規(guī)則遵循ANSI C標(biāo)準,并由基準控制程序負責(zé)運行管理。調(diào)用所有系統(tǒng)時均需通過控制程序內(nèi)置的一個抽象層,而不可直接調(diào)用??刂瞥绦蜻€負責(zé)初始化系統(tǒng)、準備必要的基準數(shù)據(jù)和設(shè)定基準運行的迭代數(shù)值。將協(xié)會基準移植到新的器件或操作系統(tǒng)上時,只需改變抽象層,即可運行所有嵌入式微處理器基準協(xié)會標(biāo)準。為兼容EnergyBench基準,測試控制程序調(diào)用抽象層內(nèi)置的特別觸發(fā)機制,對功耗基準的定時部分進行顯示。觸發(fā)開關(guān)的問題是從軟件發(fā)出觸發(fā)信號到測量設(shè)備實際收到信號當(dāng)中存在著一定的時滯。某些系統(tǒng)在觸發(fā)時
通過操作系統(tǒng)驅(qū)動器將信號發(fā)送至通用異步收發(fā)傳輸器(UART)。為解決觸發(fā)時滯問題,控制程序內(nèi)置的抽象層允許在發(fā)出觸發(fā)信號后及功耗基準開始執(zhí)行前設(shè)置一定的延遲??紤]到結(jié)束基準測試的時滯,分析模塊允許在特定的迭代數(shù)中進行限制分析。
EnergyBench的采樣、分析和數(shù)據(jù)搜集方式
EnergyBench采用由LabVIEW軟件平臺創(chuàng)建的采樣模塊獲取功耗信息,對定義觸發(fā)方式和預(yù)期電壓范圍的配置文件進行讀取。該采樣模塊連接到數(shù)據(jù)采集卡,在運行基準測試的同時采集電壓及電流信息。所采信息在收到開始信號后即行寫入磁盤,收到結(jié)束信號后停止。為減少可能發(fā)生的用戶錯誤,該程序提供統(tǒng)一的用戶界面,如圖1所示。而數(shù)據(jù)采集卡(DAQ)也提供了經(jīng)濟實用的HW平臺,以采集必要的數(shù)據(jù)。
圖1 EnergyBench采樣模塊通過友好的圖形用戶界面(GUI)或配置文件進行設(shè)置。所有相關(guān)參數(shù)如電壓、電阻和采樣頻率均可進行設(shè)置。通過采集信號的可選圖形對電流、電壓和觸發(fā)通道進行顯示。
美國國家儀器有限公司與DAQMx驅(qū)動兼容的數(shù)據(jù)采集卡均可使用。數(shù)據(jù)采集卡缺省要求,同時EnergyBench規(guī)則也規(guī)定須測量微處理器所有功率軌的功耗狀況。EnergyBench含有可執(zhí)行程序,可以同時測量一條、兩條或三條功率軌的功耗狀況。對于有不止一條功率軌(即堆芯功率和輸入/輸出功率)的微處理器來講,可以采用兩種方法計算出基準程序每次迭代的功耗。第一種方法,EnergyBench使用數(shù)據(jù)采集卡同時測量三條功率軌的功耗狀況,也就是說所有通道都以相同的速率進行采樣,因此可能需要降低數(shù)據(jù)采集卡的采樣速率,以匹配主機的采樣能力。此外,由于確保測量結(jié)果可以重復(fù),因此可以分別對功率軌進行測量,這種情況下各功率軌的平均功耗之和即等于累計總能耗量。
對捕獲數(shù)據(jù)進行分析是EnergyBench的最后一步。用于數(shù)據(jù)分析的微軟程序名叫功耗分析模塊。分析過程中需要計算以下數(shù)值:
1. 各功率軌的最低、最高、平均功率及標(biāo)準誤差狀況。
2. 總功率的幾何平均數(shù)
3. 基準程序每次迭代功耗的最低、最高、平均功率及標(biāo)準誤差大小。
基準程序經(jīng)多次迭代獲取測量樣本后,分析模塊即開始分析,尋找其中的關(guān)鍵細節(jié)。嵌入式微處理器測試基準協(xié)會功耗分析模塊分析捕獲的樣本,確定基準程序每次迭代的平均功耗,找到最低和最高功耗樣本。計算功耗須先計算基準程序每次迭代功耗樣本的幾何平均值,并乘以迭代時間得出最后的結(jié)果。某些情況下,可能會出現(xiàn)基準程序迭代過速,以致于功耗樣本的出現(xiàn)趕不上基準程序迭代的速度。在這種情況下,必須先分析至少100個樣本,再計算該段時間內(nèi)所有迭代的平均能耗。
功耗分析模塊的能耗/迭代表以圖表形式顯示結(jié)果。用戶也可利用協(xié)會設(shè)置在基準程序運行時查看最低和最高功耗,了解所獲樣本的變化狀況。
EnergyBench測試的最終結(jié)果是負載迭代的平均功耗。經(jīng)嵌入式微處理器測試基準協(xié)會認證的Energymark分數(shù)是供制造廠商選擇的一種衡量標(biāo)準,廠家可以與認證的性能得分一道向客戶提供,以顯示處理器功耗效率的大小。
可靠性驗證須測試下列數(shù)值:
1. 特定采樣頻率區(qū)間內(nèi)的變化(置信區(qū)間須達到95%)
2. 頻率間報告能耗的變化
3. 反復(fù)調(diào)用基準程序時報告能耗的變化
如果特定采樣頻率區(qū)間內(nèi)變化過大,用戶可以加大頻率和/或基準程序迭代數(shù),直至采集到足夠的樣本,以使平均值的置信區(qū)間達到規(guī)定的95%。
如果兩采樣頻率之間變化過大,可以改變采樣頻率。
如果各次調(diào)用結(jié)果相差過大,可能由于線路噪音過大,需要采取減噪措施。另外一種可能是在基準程序運行時處理器在大部分時間內(nèi)還在執(zhí)行除基準程序以外的其他任務(wù),在這種情況下則需要更好地實現(xiàn)基準程序與其他任務(wù)的分離。本過程原理如圖2所示。
圖2 本過程在特定基準及該基準的特定負載與典型能耗之間建立了聯(lián)系
可編程數(shù)據(jù)采集卡能輕易地確定采樣頻率等參數(shù),同時將獲取數(shù)據(jù)永久保留。圖3是此方法幕后運行的代碼樣本。此代碼以LabVIEW軟件編寫,可以持續(xù)將獲取的樣本寫入文件,直至從觸發(fā)通道收到配置信號。代碼還配備了顯示所有捕獲信號選項,實際上是驅(qū)動圖1圖形用戶界面的部分代碼。電壓、電阻和采樣頻率等所有相關(guān)參數(shù)均可進行配置。具體地講,圖1顯示的是當(dāng)該循環(huán)收到觸發(fā)信號、并準備退出時的圖形用戶界面狀態(tài)。
圖3 采樣循環(huán)的數(shù)據(jù)采集卡代碼
EnergyBench背后的選擇為加深對測試方法的理解,嵌入式微處理器基準協(xié)會也考慮過許多替代選項,包括:
規(guī)定能耗測量的結(jié)溫度。
采用高頻范圍并對環(huán)境嚴格控制。
指定探測和校驗技術(shù)。
但由于目的不是定性部件,而是要確定一種推導(dǎo)典型能耗的標(biāo)準方法,因此找到一種采用現(xiàn)有經(jīng)濟實用硬件的方法更為重要。EnergyBench通過統(tǒng)計分析和規(guī)則進行驗證,無需昂貴設(shè)備和工廠化流程。驗證過程只需控制室溫而無需測量結(jié)溫和外殼溫度, 而控制室溫在任何實驗室或大學(xué)均可做到。驗證過程只需用到簡單的數(shù)據(jù)采集卡而非昂貴的分析軟件,在規(guī)定結(jié)果誤差的情況下以不同頻率多次運行能夠確保驗證結(jié)果可靠且可以重復(fù)。
另外一個問題是驗證過程需要從5MHZ微控制器推導(dǎo)出目前市場上速度最快的處理器狀況。同樣需要關(guān)注的還有確保能在不同測試地點重復(fù)驗證過程以獨立認證結(jié)果。
采樣結(jié)果
上表所示的是對外公開的認證信息。以上兩個硬件平臺上兩套基準程序的采樣信息顯示,若運行不同的平臺和基準程序,即便平均功耗的浮動幅度也可以高達8%(相對于這些基準程序)而完成某項特定任務(wù)時測定的功耗效率在平均功耗相似(即便AMD和IBM平臺的平均功率均為2.3W上下,但AMD平臺的RGB 到Y(jié)IQ為2.8e-2,而IBM平臺則為1.6e-2)的情況下也可以出現(xiàn)很大變化。
同樣有趣的是研究在不同性能點運行軟件平臺及開啟或關(guān)閉不同功能時處理器的能耗情況。圖4顯示的在開啟或關(guān)閉緩存和浮點硬件的情況下,在NXP 3180的不同性能點運行特定基準程序(基本浮點控制)的能耗結(jié)果。該表明確顯示開啟浮點硬件并以208MHz頻率運行比以13MHz頻率運行能效更高。
圖4 不同配置下NXP 3180的能耗結(jié)果
結(jié)論
EnergyBench利用嵌入式微處理器測試基準協(xié)會開發(fā)的標(biāo)準方法,提供了可與價格合理的現(xiàn)有硬件配套使用的測量典型能耗的若干工具。EnergyBench是該領(lǐng)域首個行業(yè)標(biāo)準,雖然標(biāo)準性能評估公司(SPEC)等其他機構(gòu)也在制定政策解決上述問題??梢缘顷懬度胧轿⑻幚砥鳒y試基準協(xié)會網(wǎng)站(www.eembc.org),免費查詢經(jīng)過認證的EnergyBench測試結(jié)果。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論