欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于arm處理器的嵌入式軟件能耗統(tǒng)計模型的制作方法

文檔序號:6603577閱讀:139來源:國知局
專利名稱:一種基于arm處理器的嵌入式軟件能耗統(tǒng)計模型的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式軟件能耗優(yōu)化技術(shù)領(lǐng)域,尤其是涉及建立一種基于ARM處理器 的嵌入式軟件能耗統(tǒng)計模型。
背景技術(shù)
嵌入式系統(tǒng)由嵌入式硬件和嵌入式軟件組成,是典型的軟件驅(qū)動執(zhí)行的系統(tǒng)。硬 件的電路活動“直接”導(dǎo)致了系統(tǒng)能耗的產(chǎn)生,軟件的指令執(zhí)行和數(shù)據(jù)存取等操作驅(qū)動了底 層硬件的電路活動,“間接”導(dǎo)致了系統(tǒng)能耗的產(chǎn)生,這也是嵌入式軟件能耗的本質(zhì)含義。先 前的許多研究表明,不同的匯編指令、源程序結(jié)構(gòu)、軟件算法和軟件體系結(jié)構(gòu)造成硬件不同 的工作方式,從而進(jìn)一步影響系統(tǒng)能耗。嵌入式系統(tǒng)能耗可分為硬件能耗和軟件能耗,軟件 能耗是指在軟件運行期間,軟件驅(qū)動直接相關(guān)硬件(包括處理器、存儲器和I/O控制器等) 活動產(chǎn)生的能耗總和,其它的系統(tǒng)能耗一般歸為硬件能耗,如處理器在進(jìn)入空閑狀態(tài)前無 軟件指令執(zhí)行的一段間隔期和在空閑狀態(tài)下某些硬件單元保持上電狀態(tài)而產(chǎn)生的能耗以 及I/O控制器無軟件訪問時產(chǎn)生的能耗等。因此,將系統(tǒng)能耗明確劃分為軟件能耗和硬件 能耗,更便于直接觀察軟件實現(xiàn)方式(如數(shù)據(jù)結(jié)構(gòu)和算法)對系統(tǒng)能耗的影響程度。嵌入式軟件能耗的度量是開展嵌入式軟件能耗分析與優(yōu)化的基礎(chǔ)性工作。度量軟件能 耗最直接的方法是使用電子儀器(如功率計)進(jìn)行測量,由于需要將軟件運行在硬件平臺上進(jìn)行 測量,所以在硬件開發(fā)完成之前無法測量軟件能耗,使得軟件開發(fā)和硬件開發(fā)相互牽制。另一種 方法是采用能耗模擬器測量軟件能耗,通過計算機(jī)軟件模擬某一特定嵌入式硬件系統(tǒng),并采用能 耗統(tǒng)計模型,在軟件運行的同時統(tǒng)計軟件能耗,可靈活、方便地獲得嵌入式軟件的能耗值。國際上對于嵌入式軟件能耗統(tǒng)計模型的研究歷史并不長,1994年Tiwari等人在 文中首先提出了對軟件能耗進(jìn)行分析的基本概念,建立了基本的指令級能耗模型,并提出 了指令電流的測試方法;Sinha測量了基于StrongARM SA-1100處理器的ARM指令集電 流值,提出了軟件能耗的統(tǒng)計方法;T. K. Tan在Sinha測得的指令電流值基礎(chǔ)上,構(gòu)建了 基于 StrongARMSA-IlOO 處理器的指令級能耗模擬器 EMSIM (Embedded StrongARM Energy Simulator),并采用EMSIM對嵌入式軟件能耗進(jìn)行了分析工作;Li Tao等提出了對操作系 統(tǒng)采用服務(wù)例程級功耗建模的思想,并具體分析了 Embedded Linux操作系統(tǒng)50種服務(wù)例 程的功耗-IPC關(guān)聯(lián)模型;趙霞等通過模擬運行嵌入式操作系統(tǒng)和應(yīng)用軟件,利用微體系結(jié) 構(gòu)能耗模型估算單時鐘周期指令能耗,提出基于軟件功能結(jié)構(gòu)的操作系統(tǒng)內(nèi)核能耗估算模 型。在上述能耗統(tǒng)計模型中,主要統(tǒng)計了軟件執(zhí)行時在處理器上產(chǎn)生的單條指令能耗,不足 之處在于并未計算指令對、存儲器、I/O控制器等能耗。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供了一種基于ARM處理器的嵌入式軟件能耗統(tǒng)計模型。本發(fā)明解決其技術(shù)難題所采用的技術(shù)方案的步驟如下1)根據(jù)嵌入式系統(tǒng)的硬件組成,嵌入式軟件能耗可分為處理器(MPU)能耗、存儲器能耗、I/O控制器能耗(如數(shù)據(jù)總線、UART控制器、IXD控制器、網(wǎng)卡控制器等)和其它硬 件單元產(chǎn)生的能耗,即 其中,Esoftware表示嵌入式軟件能耗,Empu表示處理器能耗,Effleffl表示存儲器能耗,Eio 表示I/O控制器能耗,E。thCT表示嵌入式系統(tǒng)主板上其它硬件單元的能耗,此部分能耗在軟 件執(zhí)行時能耗值一般較小,可忽略不計;2)在步驟1)公式中的Empu按照如下公式進(jìn)行計算 其中,Einste為指令能耗(Instruction Energy Consumption),表示軟件 執(zhí)行時單條二進(jìn)制指令在MPU上產(chǎn)生的能耗,Einte為指令對能耗(或指令間能耗, Inter-Instruction EnergyConsumption),表示軟件執(zhí)行時相鄰指令間相互影響在MPU上 產(chǎn)生的額外能耗,Ii表示指令i執(zhí)行時MPU平均電流,Ni為執(zhí)行指令i所需的時鐘周期數(shù), Vmpu為MPU的工作電壓,fmpu為MPU的時鐘頻率,η為軟件的指令總條數(shù),Δ I^1表示指令i 和前一條指令i_l形成的平均指令對電流;3)在步驟2)公式中Δ I^1按照如下公式進(jìn)行計算Ai,η = Imeas-Iever = Imeas-(Ii X NJIH X NH)/(NJNH)其中,Imeas表示循環(huán)執(zhí)行一對指令時測得的MPU平均電流值,Iever表示一對指令的 電流分權(quán)平均值,Ii和Ih分別是指令i和i-Ι的電流值,Ni和Np1分別是指令i和i_l在 考慮流水線情況下運行所需的MPU時鐘周期數(shù);4)在步驟1)公式中的Em按照如下公式進(jìn)行計算 其中,Iffleffl表示存儲器在有數(shù)據(jù)訪問時的平均電流值,Vm表示存儲器的工作電壓, fffleffl表示存儲器的時鐘頻率,Nffleffl表示MPU訪問存儲器總的時鐘周期數(shù);5)在步驟1)公式中的Eitj按照如下公式進(jìn)行計算Eio = Ebus+Euart+Elcd+Enet 其中,Ebus表示總線能耗,表示UART控制器能耗,Eled表示IXD控制器能耗,Enet 表示網(wǎng)卡控制器能耗。本發(fā)明與背景技術(shù)相比,具有的有益效果是1)精確性使用本發(fā)明中基于ARM處理器的嵌入式軟件能耗統(tǒng)計模型建立的軟件 能耗模擬器計算的能耗,與儀器實際測量結(jié)果相比,誤差在10%以內(nèi)。2)實用性可用于快速預(yù)測(或估算)嵌入式軟件在ARM處理器平臺上運行時的 能耗值,為開展相應(yīng)的功耗優(yōu)化研究和開發(fā)工作打下堅實的數(shù)據(jù)基礎(chǔ)。


具體實施例方式下面結(jié)合實例對本發(fā)明作進(jìn)一步的說明。
4
1)根據(jù)嵌入式系統(tǒng)的硬件組成,嵌入式軟件能耗可分為處理器(MPU)能耗、存儲 器能耗、I/O控制器能耗(如數(shù)據(jù)總線、UART控制器、IXD控制器、網(wǎng)卡控制器等)和其它硬 件單元產(chǎn)生的能耗,即
「0027 其中,Esoftware表示嵌入式軟件能耗,Empu表示處理器能耗,Effleffl表示存儲器能耗,Eio 表示I/O控制器能耗,E。thCT表示嵌入式系統(tǒng)主板上其它硬件單元的能耗,此部分能耗在軟 件執(zhí)行時能耗值一般較小,可忽略不計;2)在步驟1)公式中的Empu按照如下公式進(jìn)行計算
其中,以當(dāng)前指令STR R0, [R1],上一條指令MOV Rl,RO為例,Einste為指令能耗 (Instruction Energy Consumption),表示軟件執(zhí)行時STR指令在MPU上產(chǎn)生的能耗,Einte 為指令對能耗(或指令間能耗,Inter-Instruction Energy Consumption),表示軟件執(zhí)行 時受上一條指令的執(zhí)行狀態(tài)影響當(dāng)前指令在MPU上執(zhí)行產(chǎn)生的額外能耗,Ii表示STR指令 執(zhí)行時MPU平均電流為43. 55mA, Ni為STR指令執(zhí)行所需的時鐘周期數(shù)為4個,Vmpu為MPU 的工作電壓1. 788V,fmpu為MPU的時鐘頻率80MHz,η為軟件的指令總條數(shù),Δ Ii, 表示當(dāng) 前STRR0,[R1]指令和前一條指令MOV Rl, RO形成的平均指令對電流2. 568mA ;3)在步驟2)公式中Δ I^1的值按照如下公式進(jìn)行計算Ai, η = Imeas-Iever = Imeas-(Ii X NJIH X NH)/(NJNH)其中,Imeas表示循環(huán)執(zhí)行由MOV Rl, RO和STR R0, [R1]組成的執(zhí)行對測得的MPU 平均電流值44. 51mA, Ii和Ih分別是指令MOV和STR的電流值43. 55mA和41. 54mA, Iever 表示這對指令的電流分權(quán)平均值(43. 55*1+41. 54*4)/(1+4) = 41. 942mA, Ni和Ni^1分別是 指令MOV和STR在考慮流水線情況下運行1個和4個MPU時鐘周期數(shù);4)在步驟1)公式中的Em按照如下公式進(jìn)行計算 其中,Im表示存儲器在有數(shù)據(jù)訪問時的平均電流值,Vm表示存儲器的工作電壓, fffleffl表示存儲器的時鐘頻率,Nffleffl表示MPU訪問存儲器總的時鐘周期數(shù);5)在步驟1)公式中的Eitj按照如下公式進(jìn)行計算Eio = Ebus+Euart+Elcd+Enet其中,Ebus表示總線能耗,表示UART控制器能耗,Eled表示IXD控制器能耗,Enet 表示網(wǎng)卡控制器能耗。1/0的能耗按照下面的通用公式進(jìn)行計算
權(quán)利要求
一種基于ARM處理器的嵌入式軟件能耗統(tǒng)計模型,其特征在于建立該模型的步驟如下1)根據(jù)嵌入式系統(tǒng)的硬件組成,嵌入式軟件能耗可分為處理器(MPU)能耗、存儲器能耗、I/O控制器能耗(如數(shù)據(jù)總線、UART控制器、LCD控制器、網(wǎng)卡控制器等)和其它硬件單元產(chǎn)生的能耗,即Esoftware=Empu+Emem+Eio+Eother其中,Esoftware表示嵌入式軟件能耗,Empu表示處理器能耗,Emem表示存儲器能耗,Eio表示I/O控制器能耗,Eother表示嵌入式系統(tǒng)主板上其它硬件單元的能耗,此部分能耗在軟件執(zhí)行時能耗值一般較小,可忽略不計;2)在步驟1)公式中的Empu按照如下公式進(jìn)行計算 <mrow><msub> <mi>E</mi> <mi>mpu</mi></msub><mo>=</mo><msub> <mi>E</mi> <mi>instr</mi></msub><mo>+</mo><msub> <mi>E</mi> <mi>inter</mi></msub><mo>=</mo><munderover> <mi>&Sigma;</mi> <mrow><mi>i</mi><mo>=</mo><mn>1</mn> </mrow> <mrow><mi>i</mi><mo>=</mo><mi>n</mi> </mrow></munderover><mfrac> <mrow><msub> <mi>I</mi> <mi>i</mi></msub><mo>&times;</mo><msub> <mi>N</mi> <mi>i</mi></msub><mo>&times;</mo><msub> <mi>V</mi> <mi>mpu</mi></msub> </mrow> <msub><mi>f</mi><mi>mpu</mi> </msub></mfrac><mo>+</mo><munderover> <mi>&Sigma;</mi> <mrow><mi>i</mi><mo>=</mo><mn>2</mn> </mrow> <mrow><mi>i</mi><mo>=</mo><mi>n</mi> </mrow></munderover><mfrac> <mrow><mi>&Delta;</mi><msub> <mi>I</mi> <mrow><mi>i</mi><mo>,</mo><mi>i</mi><mo>-</mo><mn>1</mn> </mrow></msub><mo>&times;</mo><msub> <mi>N</mi> <mi>i</mi></msub><mo>&times;</mo><msub> <mi>V</mi> <mi>mpu</mi></msub> </mrow> <msub><mi>f</mi><mi>mpu</mi> </msub></mfrac> </mrow>其中,Einstr為指令能耗(Instruction Energy Consumption),表示軟件執(zhí)行時單條二進(jìn)制指令在MPU上產(chǎn)生的能耗,Einter為指令對能耗(或指令間能耗,Inter Instruction EnergyConsumption),表示軟件執(zhí)行時相鄰指令間相互影響在MPU上產(chǎn)生的額外能耗,Ii表示指令i執(zhí)行時MPU平均電流,Ni為執(zhí)行指令i所需的時鐘周期數(shù),Vmpu為MPU的工作電壓,fmpu為MPU的時鐘頻率,n為軟件的指令總條數(shù),ΔIi,i 1表示指令i和前一條指令i 1形成的平均指令對電流;3)在步驟2)公式中ΔIi,i 1按照如下公式進(jìn)行計算Δi,i 1=Imeas Iever=Imeas (Ii×Ni+Ii 1×Ni 1)/(Ni+Ni 1)其中,Imeas表示循環(huán)執(zhí)行一對指令時測得的MPU平均電流值,Iever表示一對指令的電流分權(quán)平均值,Ii和Ii 1分別是指令i和i 1的電流值,Ni和Ni 1分別是指令i和i 1在考慮流水線情況下運行所需的MPU時鐘周期數(shù);4)在步驟1)公式中的Emem按照如下公式進(jìn)行計算 <mrow><msub> <mi>E</mi> <mi>mem</mi></msub><mo>=</mo><mfrac> <mrow><msub> <mi>I</mi> <mi>mem</mi></msub><mo>&times;</mo><msub> <mi>V</mi> <mi>mem</mi></msub><mo>&times;</mo><msub> <mi>N</mi> <mi>mem</mi></msub> </mrow> <msub><mi>f</mi><mi>mem</mi> </msub></mfrac> </mrow>其中,Imem表示存儲器在有數(shù)據(jù)訪問時的平均電流值,Vmem表示存儲器的工作電壓,fmem表示存儲器的時鐘頻率,Nmem表示MPU訪問存儲器總的時鐘周期數(shù);5)在步驟1)公式中的Eio按照如下公式進(jìn)行計算Eio=Ebus+Euart+Elcd+Enet其中,Ebus表示總線能耗,Euart表示UART控制器能耗,Elcd表示LCD控制器能耗,Enet表示網(wǎng)卡控制器能耗。
全文摘要
本發(fā)明公布了一種基于ARM處理器的嵌入式軟件能耗統(tǒng)計模型。提供了一種新的模型和技術(shù)用于測量軟件功耗,為相應(yīng)的功耗優(yōu)化研究和開發(fā)工作提供數(shù)據(jù)基礎(chǔ)。本發(fā)明提出的嵌入式軟件能耗統(tǒng)計模型包括處理器、存儲器和I/O控制器等硬件單元的能耗,并根據(jù)ARM指令集指令周期的規(guī)律設(shè)計了相應(yīng)指令周期數(shù)的計算方案。將本發(fā)明應(yīng)用到高精度指令級嵌入式軟件能耗模擬器HMSim中后,實驗結(jié)果表明,該模型的能耗計算結(jié)果與實際儀器測量結(jié)果的誤差在10%以內(nèi),可準(zhǔn)確地反映軟件實現(xiàn)方式對系統(tǒng)能耗的影響程度。
文檔編號G06F11/36GK101894067SQ201010191808
公開日2010年11月24日 申請日期2010年6月4日 優(yōu)先權(quán)日2010年6月4日
發(fā)明者任磊, 伍元勝, 朱建, 沈艷, 王繼禾, 鄧勤林, 郭兵 申請人:四川大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
蓝田县| 五常市| 张家口市| 罗城| 通山县| 剑阁县| 方正县| 榆中县| 无为县| 霍城县| 文山县| 德安县| 营山县| 伊金霍洛旗| 三原县| 会泽县| 南川市| 康定县| 响水县| 沁阳市| 峨边| 梨树县| 昌乐县| 台北县| 洛扎县| 涟源市| 河间市| 昭平县| 定边县| 华坪县| 建平县| 莱西市| 兴仁县| 班玛县| 咸丰县| 商南县| 偃师市| 肇源县| 长武县| 巴彦淖尔市| 逊克县|