專利名稱:基于凌動處理器的Android手機(jī)平臺的能耗測量方法
技術(shù)領(lǐng)域:
本發(fā)明屬于手機(jī)平臺能耗測量的技術(shù)領(lǐng)域,具體涉及一種基于凌動處理器的 Android手機(jī)平臺的能耗測量方法。
背景技術(shù):
Android為Google開發(fā)的基于Linux內(nèi)核的開源手機(jī)操作系統(tǒng),2007年11月開放 手機(jī)聯(lián)盟(Open Handset Alliance)的成立正式宣布了 Android的誕生,在2008年10月 正式投入市場。目前中國移動的OPhone及其OMS (Open MobileSystem)就是基于Android 深度定制的實(shí)際產(chǎn)品。Android是一個(gè)開源手機(jī)操作系統(tǒng),它不存在任何以往阻礙移動產(chǎn)業(yè) 創(chuàng)新的專有權(quán)障礙,是首個(gè)為移動終端打造的真正開放和完整的移動操作系統(tǒng)。在全世界 范圍內(nèi),Moto、HTC(多普達(dá))、聯(lián)想、三星等眾多公司都已經(jīng)推出Android手機(jī)產(chǎn)品和上網(wǎng)本 產(chǎn)品,而且有越來越多加速上升的趨勢。Android的完全開源性給每個(gè)開發(fā)者提供了開發(fā)創(chuàng)新軟件的平臺。Google已經(jīng)開 發(fā)好的大量現(xiàn)成的應(yīng)用軟件,同時(shí)可以直接使用Google很多的在線服務(wù)。Google提供了基 于Eclipse的完整開發(fā)環(huán)境,模擬器,文檔,幫助,示例。同時(shí),Android可以緊密的與Gmail、 Google Maps等其他Google服務(wù)結(jié)合,給用戶提供了便捷的同步和網(wǎng)絡(luò)服務(wù),是云計(jì)算模 式的成功模型之一。Android市場是Android應(yīng)用程序下載和發(fā)布的平臺,為用戶和開發(fā)者 提供了便利的發(fā)布和下載方式。凌動是英特爾的一個(gè)處理器系列,處理器采用45納米工藝制造,集成4700萬個(gè)晶 體管。L2緩存為512KB,支援SSE3指令集,和VT虛擬化技術(shù)。與一般的桌面處理器不同, 凌動處理器采用順序執(zhí)行設(shè)計(jì),這樣做可以減少電晶體的數(shù)量。為了彌補(bǔ)性能較差的問題, 凌動處理器的起跳頻率會較高。英特爾正在智能手機(jī)中推廣凌動處理器,并且已經(jīng)成功將Android移植到凌動平 臺,此次將android移植到凌動手機(jī)上是整個(gè)策略中的一部分。智能手機(jī)的每種處理器架 構(gòu)都需要專門的軟件,英特爾凌動采用X86架構(gòu),而ARM芯片則采用RISC架構(gòu)。然而,英特 爾的X86結(jié)構(gòu)指令結(jié)構(gòu)復(fù)雜,因此芯片結(jié)構(gòu)也比較復(fù)雜,能耗過大一直是X86結(jié)構(gòu)難以進(jìn)入 嵌入式領(lǐng)域的關(guān)鍵瓶頸。研究嵌入式平臺的能耗測量方法,對X86架構(gòu)能否順利進(jìn)入嵌入 式平臺,尤其是手機(jī)平臺領(lǐng)域具有極其重要的意義。凌動處理器中的每個(gè)組件都提供了測量能耗的電阻,只需要測量電阻中的電壓, 就可以計(jì)算出該組件的實(shí)際能耗。雖然這種方法理論上可行,但由于實(shí)際操作非常復(fù)雜,需 要使用精確的萬用表人工測量電壓數(shù)據(jù),并且人工對這些數(shù)據(jù)進(jìn)行處理。為解決上述問題,嵌入式微處理器測試基準(zhǔn)協(xié)會(EEMBC)發(fā)明了一種軟件工具, 顯示在運(yùn)行特定應(yīng)用負(fù)載時(shí)處理器的實(shí)際功耗。該軟件名為EnergyBench,設(shè)計(jì)者可以利用 它和協(xié)會其他性能標(biāo)準(zhǔn)共同確定各種處理器在執(zhí)行一系列以應(yīng)用為核心的標(biāo)準(zhǔn)化任務(wù)時(shí) 的功耗。利用與全套性能測試直接相關(guān)的功耗測量標(biāo)準(zhǔn),設(shè)計(jì)者可以比較不同廠家產(chǎn)品的 性能/功耗狀況,并從中挑選出特定應(yīng)用條件和功耗預(yù)算下最切合需要的處理器產(chǎn)品。
3
EnergyBench最重要的啟示之一是根本不存在所謂的“典型功耗”,因?yàn)榍度胧轿?處理器測試基準(zhǔn)協(xié)會在數(shù)字娛樂、聯(lián)網(wǎng)和自動控制等基準(zhǔn)套件的目標(biāo)應(yīng)用領(lǐng)域驅(qū)動內(nèi)核時(shí) 所需的平均功耗數(shù)據(jù)差異極大。EnergyBench并未試圖就某種特定器件達(dá)成放之四海而皆 準(zhǔn)的虛幻的“典型功耗”,而是關(guān)注在特定的性能水平上,某一種算法或者應(yīng)用程序所需的 典型功耗。然而,目前EEMBC還有沒有推出適用于Android系統(tǒng)的軟件,因此推出符合EEMBC 標(biāo)準(zhǔn)的凌動應(yīng)用于Android手機(jī)平臺的能耗測量的軟件是業(yè)界的迫切需求之
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明的目的在于提供一種基于凌動處理器的 Android手機(jī)平臺能耗測量方法的技術(shù)方案,可用于任何提供了處理器和主存頻率調(diào)節(jié)支 持的系統(tǒng)上,具有良好的簡潔性和針對性。所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征在于包括以 下步驟1)在手機(jī)中安裝DAQ信號采集器,并進(jìn)行DAQ測量;2)在應(yīng)用程序中對DAQ進(jìn)行驅(qū)動,進(jìn)行實(shí)時(shí)數(shù)據(jù)采集;3)在LabVIEW程序中對采集的測量值進(jìn)行分析;4)計(jì)算測量結(jié)果的可靠性,并顯示測量結(jié)果。所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征在于安裝 DAQ信號采集器需要首先安裝應(yīng)用程序和驅(qū)動程序,然后根據(jù)DAQ上的引腳和附帶的安裝 說明,對DAQ的外部設(shè)備進(jìn)行安裝,最后運(yùn)行MAX程序,對安裝的設(shè)備和接口進(jìn)行確認(rèn),最后 進(jìn)行自校準(zhǔn)工作,如果提示成功,則DAQ的安裝工作完成。所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征在于DAQ測 量以任務(wù)為計(jì)量單位,即要執(zhí)行的測量或信號生成任務(wù),首先在MAX中新建一個(gè)任務(wù),然后 選擇采集信號或生成信號,選擇1/0類型,便完成了 一個(gè)任務(wù)的創(chuàng)建。所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征在于步驟2) 中所述在應(yīng)用程序中對DAQ進(jìn)行驅(qū)動,采用了調(diào)用動態(tài)鏈接庫函數(shù)(adcard. dll)的方法進(jìn) 行驅(qū)動,并分別在單緩沖區(qū)方式和多緩沖區(qū)方式下進(jìn)行實(shí)時(shí)數(shù)據(jù)采集。所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征在于 LabVIEW程序中對采集的測量量進(jìn)行分析,測量的過程可分為數(shù)據(jù)采集,數(shù)據(jù)分析,和數(shù)據(jù) 顯示三個(gè)主要部分,首先運(yùn)行可執(zhí)行程序benchmark,可以同時(shí)測量一條、兩條或三條功率 軌的功耗狀況,使用數(shù)據(jù)采集卡同時(shí)測量多條功率軌的功耗狀況,所有通道都以相同的速 率進(jìn)行采樣,因此需要降低數(shù)據(jù)采集卡的采樣速率,以匹配主機(jī)的采樣能力;為確保測量結(jié) 果可以重復(fù),分別對功率軌進(jìn)行測量,各功率軌的平均功耗之和即等于累計(jì)總能耗量;基準(zhǔn)程序經(jīng)多次迭代獲取測量樣本后,分析模塊即開始分析,尋找其中的關(guān)鍵細(xì) 節(jié),分析捕獲的樣本,確定基準(zhǔn)程序每次迭代的平均功耗,找到最低和最高功耗樣本;先計(jì) 算基準(zhǔn)程序每次迭代功耗樣本的幾何平均值,并乘以迭代時(shí)間得出最后的結(jié)果。所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征在于步驟4) 中所述計(jì)算測量結(jié)果的可靠性,測試的最終結(jié)果是負(fù)載迭代的平均能耗,可靠性驗(yàn)證須測試下列數(shù)值1.特定采樣頻率區(qū)間內(nèi)的變化(置信區(qū)間須達(dá)到95%) ;2.頻率間報(bào)告能耗 的變化;3.反復(fù)調(diào)用基準(zhǔn)程序時(shí)報(bào)告能耗的變化。所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征在于步驟4) 中所述顯示測量結(jié)果,通過ANSI C的標(biāo)準(zhǔn)輸入輸出,顯示計(jì)算出的最終的負(fù)載迭代的平均 能耗。所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征在于如果特 定采樣頻率區(qū)間內(nèi)變化過大,用戶可以加大頻率和/或基準(zhǔn)程序迭代數(shù),直至采集到足夠 的樣本,以使平均值的置信區(qū)間達(dá)到規(guī)定的95%,如果兩采樣頻率之間變化過大,可以改變 采樣頻率。本發(fā)明通過DAQ讀取能耗測量值,通過軟件命令運(yùn)行驅(qū)動程序,精確的測量板上 的電壓和溫度值。然后通過LabVIEW軟件平臺采樣能耗信息,并將結(jié)果寫入磁盤,最后通過 分析模式分析出最終的能耗值。在動態(tài)調(diào)頻代碼段運(yùn)行過程中,通過動態(tài)調(diào)頻技術(shù)對處理 器和主存的執(zhí)行頻率進(jìn)行相應(yīng)的設(shè)置,綜合考慮兩者的能耗,使動態(tài)調(diào)頻代碼段運(yùn)行在更 有利于系統(tǒng)節(jié)能的目的頻率上。本發(fā)明可以用于任何提供了處理器和主存頻率調(diào)節(jié)支持的 系統(tǒng)上,具有良好的簡潔性和針對性。(1)簡潔性。如果不調(diào)用EEMBC提供的硬件封裝層的能耗測量函數(shù),可通過萬用表 直接測量板子感應(yīng)電阻的電壓,然而這種測量方法測量步驟十分復(fù)雜,并且測量精度很低, 并不適宜推廣。(2)針對性。由于通過測量感應(yīng)電阻電壓的方法過于復(fù)雜,所以EEMBC規(guī)定嵌入式 設(shè)備必須提供硬件抽象層,并提供查詢能耗的系統(tǒng)調(diào)用。不僅如此,EEMBC甚至還未所有的 能耗測量軟件規(guī)定了統(tǒng)一的GUI?;贓EMBC的規(guī)范,提出針對凌動應(yīng)用于android手機(jī)平 臺的能耗測量方法,彌補(bǔ)了 EEMBC工作的空白,具有很好的針對性。
圖1為在LabVIEW程序中對采集的測量量進(jìn)行分析的流程圖。
具體實(shí)施例方式具體的實(shí)施方式是采用通過DAQ (DAQ-模擬量數(shù)據(jù)采集卡)讀取能耗測量值,通過 軟件命令運(yùn)行驅(qū)動程序,精確的測量板上的電壓和溫度值。然后通過LabVIEW軟件平臺采 樣能耗信息,并將結(jié)果寫入磁盤,最后通過分析模式分析出最終的能耗值,下面詳細(xì)說明這 個(gè)過程。安裝DAQ信號采集器。為了確保DAQ設(shè)備正常工作,需要首先安裝應(yīng)用程序和驅(qū) 動程序,然后根據(jù)DAQ上的引腳和附帶的安裝說明,對DAQ的外部設(shè)備進(jìn)行安裝,最后運(yùn)行 MAX程序,對安裝的設(shè)備和接口進(jìn)行確認(rèn),最后進(jìn)行自校準(zhǔn)工作,如果提示成功,則DAQ的安 裝工作完成。進(jìn)行DAQ測量。DAQ中的測量以任務(wù)為計(jì)量單位,理論上,任務(wù)就是要執(zhí)行的測量 或信號生成任務(wù),首先在MAX中新建一個(gè)任務(wù),然后選擇采集信號或生成信號,選擇I/O類 型,比如模擬輸入,和測量類型,比如電壓,便完成了一個(gè)任務(wù)的創(chuàng)建。DAQ可以進(jìn)行精確的 測量工作,通過同步采集4個(gè)差分輸入的AI通道,差分輸入的應(yīng)用可以抑制噪聲;DAQ提供
5具有波形發(fā)生功能的2通道的12位模擬輸出,并可以進(jìn)行自動校準(zhǔn),通過軟件命令運(yùn)行驅(qū) 動程序,可以精確的測量板上的電壓和溫度值。在應(yīng)用程序中對DAQ進(jìn)行驅(qū)動,進(jìn)行實(shí)時(shí)數(shù)據(jù)采集。在虛擬儀器集成環(huán)境 LabVIEff中,對模擬量數(shù)據(jù)采集卡DAQ進(jìn)行驅(qū)動的有三種方法,包括直接用Inport和 Outport圖標(biāo)編程、利用CodeInterfaceNode(CIN)圖標(biāo)調(diào)用C語言編寫的代碼以及利用 CallLibraryFimctions圖標(biāo)調(diào)用數(shù)據(jù)采集卡的動態(tài)鏈接庫函數(shù)。本專利采用了調(diào)用動態(tài)鏈 接庫函數(shù)(adcarcLdll)的方法驅(qū)動,分別在單緩沖區(qū)方式和多緩沖區(qū)方式下進(jìn)行實(shí)時(shí)數(shù) 據(jù)采集。LabVIEW軟件平臺可以創(chuàng)建采樣模塊獲取能耗信息,對定義觸發(fā)方式和預(yù)期電壓范 圍的配置文件進(jìn)行讀取;該采樣模塊連接到數(shù)據(jù)采集卡,在運(yùn)行基準(zhǔn)測試的同時(shí)采集電壓 及電流信息,所采信息在收到開始信號后即行寫入磁盤,收到結(jié)束信號后停止。為減少可能 發(fā)生的用戶錯(cuò)誤,EEMBC為嵌入式能耗測量軟件提供統(tǒng)一的用戶界面,以采集必要的數(shù)據(jù)。在LabVIEW程序中對采集的測量量進(jìn)行分析,其分析過程如圖1所示。測量的過程 可分為數(shù)據(jù)采集,數(shù)據(jù)分析,和數(shù)據(jù)顯示三個(gè)主要部分。首先運(yùn)行可執(zhí)行程序benchmark,可 以同時(shí)測量一條、兩條或三條功率軌的功耗狀況。使用數(shù)據(jù)采集卡同時(shí)測量多條功率軌的 功耗狀況,所有通道都以相同的速率進(jìn)行采樣,因此可能需要降低數(shù)據(jù)采集卡的采樣速率, 以匹配主機(jī)的采樣能力。此外,由于確保測量結(jié)果可以重復(fù),因此可以分別對功率軌進(jìn)行測 量,這種情況下各功率軌的平均功耗之和即等于累計(jì)總能耗量?;鶞?zhǔn)程序經(jīng)多次迭代獲取測量樣本后,分析模塊即開始分析,尋找其中的關(guān)鍵細(xì) 節(jié)。嵌入式微處理器測試基準(zhǔn)協(xié)會功耗分析模塊分析捕獲的樣本,確定基準(zhǔn)程序每次迭代 的平均功耗,找到最低和最高功耗樣本。計(jì)算功耗須先計(jì)算基準(zhǔn)程序每次迭代功耗樣本的 幾何平均值,并乘以迭代時(shí)間得出最后的結(jié)果。某些情況下,可能會出現(xiàn)基準(zhǔn)程序迭代過 速,以致于功耗樣本的出現(xiàn)趕不上基準(zhǔn)程序迭代的速度。在這種情況下,必須先分析至少 100個(gè)樣本,再計(jì)算該段時(shí)間內(nèi)所有迭代的平均能耗。計(jì)算測量結(jié)果的可靠性。測試的最終結(jié)果是負(fù)載迭代的平均能耗。可靠性驗(yàn)證須 測試下列數(shù)值1.特定采樣頻率區(qū)間內(nèi)的變化(置信區(qū)間須達(dá)到95%)2.頻率間報(bào)告能耗 的變化3.反復(fù)調(diào)用基準(zhǔn)程序時(shí)報(bào)告能耗的變化。如果特定采樣頻率區(qū)間內(nèi)變化過大,用戶可以加大頻率和/或基準(zhǔn)程序迭代數(shù), 直至采集到足夠的樣本,以使平均值的置信區(qū)間達(dá)到規(guī)定的95%。如果兩采樣頻率之間變 化過大,可以改變采樣頻率。如果各次調(diào)用結(jié)果相差過大,可能由于線路噪音過大,需要采取減噪措施。另外一 種可能是在基準(zhǔn)程序運(yùn)行時(shí)處理器在大部分時(shí)間內(nèi)還在執(zhí)行除基準(zhǔn)程序以外的其他任務(wù), 否則計(jì)算算數(shù)平均數(shù)作為功耗的最終測量值。顯示測量的結(jié)果。可以通過ANSI C的標(biāo)準(zhǔn)輸入輸出,顯示計(jì)算出的最終的負(fù)載迭 代的平均能耗。
權(quán)利要求
基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征在于包括以下步驟1)在手機(jī)中安裝DAQ信號采集器,并進(jìn)行DAQ測量;2)在應(yīng)用程序中對DAQ進(jìn)行驅(qū)動,進(jìn)行實(shí)時(shí)數(shù)據(jù)采集;3)在LabVIEW程序中對采集的測量值進(jìn)行分析;4)計(jì)算測量結(jié)果的可靠性,并顯示測量結(jié)果。
2.如權(quán)利要求1所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征 在于安裝DAQ信號采集器需要首先安裝應(yīng)用程序和驅(qū)動程序,然后根據(jù)DAQ上的引腳和附 帶的安裝說明,對DAQ的外部設(shè)備進(jìn)行安裝,最后運(yùn)行MAX程序,對安裝的設(shè)備和接口進(jìn)行 確認(rèn),最后進(jìn)行自校準(zhǔn)工作,如果提示成功,則DAQ的安裝工作完成。
3.如權(quán)利要求2所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征 在于DAQ測量以任務(wù)為計(jì)量單位,即要執(zhí)行的測量或信號生成任務(wù),首先在MAX中新建一個(gè) 任務(wù),然后選擇采集信號或生成信號,選擇I/O類型,便完成了一個(gè)任務(wù)的創(chuàng)建。
4.如權(quán)利要求1所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征 在于步驟2)中所述在應(yīng)用程序中對DAQ進(jìn)行驅(qū)動,采用了調(diào)用動態(tài)鏈接庫函數(shù)(adcard. dll)的方法進(jìn)行驅(qū)動,并分別在單緩沖區(qū)方式和多緩沖區(qū)方式下進(jìn)行實(shí)時(shí)數(shù)據(jù)采集。
5.如權(quán)利要求1所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特 征在于LabVIEW程序中對采集的測量量進(jìn)行分析,測量的過程可分為數(shù)據(jù)采集,數(shù)據(jù)分析, 和數(shù)據(jù)顯示三個(gè)主要部分,首先運(yùn)行可執(zhí)行程序benchmark,可以同時(shí)測量一條、兩條或三 條功率軌的功耗狀況,使用數(shù)據(jù)采集卡同時(shí)測量多條功率軌的功耗狀況,所有通道都以相 同的速率進(jìn)行采樣,因此需要降低數(shù)據(jù)采集卡的采樣速率,以匹配主機(jī)的采樣能力;為確保 測量結(jié)果可以重復(fù),分別對功率軌進(jìn)行測量,各功率軌的平均功耗之和即等于累計(jì)總能耗 量;基準(zhǔn)程序經(jīng)多次迭代獲取測量樣本后,分析模塊即開始分析,尋找其中的關(guān)鍵細(xì)節(jié),分 析捕獲的樣本,確定基準(zhǔn)程序每次迭代的平均功耗,找到最低和最高功耗樣本;先計(jì)算基準(zhǔn) 程序每次迭代功耗樣本的幾何平均值,并乘以迭代時(shí)間得出最后的結(jié)果。
6.如權(quán)利要求1所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征 在于步驟4)中所述計(jì)算測量結(jié)果的可靠性,測試的最終結(jié)果是負(fù)載迭代的平均能耗,可靠 性驗(yàn)證須測試下列數(shù)值1.特定采樣頻率區(qū)間內(nèi)的變化(置信區(qū)間須達(dá)到95%) ;2.頻率 間報(bào)告能耗的變化;3.反復(fù)調(diào)用基準(zhǔn)程序時(shí)報(bào)告能耗的變化。
7.如權(quán)利要求1所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征 在于步驟4)中所述顯示測量結(jié)果,通過ANSI C的標(biāo)準(zhǔn)輸入輸出,顯示計(jì)算出的最終的負(fù)載 迭代的平均能耗。
8.如權(quán)利要求6所述的基于凌動處理器的Android手機(jī)平臺的能耗測量方法,其特征 在于如果特定采樣頻率區(qū)間內(nèi)變化過大,用戶可以加大頻率和/或基準(zhǔn)程序迭代數(shù),直至 采集到足夠的樣本,以使平均值的置信區(qū)間達(dá)到規(guī)定的95%,如果兩采樣頻率之間變化過 大,可以改變采樣頻率。
全文摘要
基于凌動處理器的Android手機(jī)平臺的能耗測量方法,屬于手機(jī)平臺能耗測量的技術(shù)領(lǐng)域。包括以下步驟在手機(jī)中安裝DAQ信號采集器,并進(jìn)行DAQ測量;在應(yīng)用程序中對DAQ進(jìn)行驅(qū)動,進(jìn)行實(shí)時(shí)數(shù)據(jù)采集;在LabVIEW程序中對采集的測量值進(jìn)行分析;計(jì)算測量結(jié)果的可靠性,并顯示測量結(jié)果。本發(fā)明通過DAQ讀取能耗測量值,軟件命令運(yùn)行驅(qū)動程序,測量板上的電壓和溫度值。LabVIEW軟件平臺采樣能耗信息,通過分析模式分析出最終的能耗值,在動態(tài)調(diào)頻代碼段運(yùn)行過程中,通過動態(tài)調(diào)頻技術(shù)對處理器和主存的執(zhí)行頻率進(jìn)行相應(yīng)的設(shè)置,使動態(tài)調(diào)頻代碼段運(yùn)行在更有利于系統(tǒng)節(jié)能的目的頻率上。可以用于任何提供了處理器和主存頻率調(diào)節(jié)支持的系統(tǒng)上,具有良好的簡潔性和針對性。
文檔編號H04M1/24GK101984640SQ20101052377
公開日2011年3月9日 申請日期2010年10月28日 優(yōu)先權(quán)日2010年10月28日
發(fā)明者吳明暉, 袁輝, 陳天洲, 顏暉 申請人:浙江大學(xué)