日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于復(fù)雜度的嵌入式軟件功耗模型
[1] [2]  下一頁
基于復(fù)雜度的嵌入式軟件功耗模型
 更新時(shí)間:2008-8-18 10:08:29  點(diǎn)擊數(shù):16
【字體: 字體顏色

摘要 系統(tǒng)功耗是嵌入式系統(tǒng)的一個(gè)重要方面,功耗很大程度上取決于執(zhí)行的軟件。傳統(tǒng)的底層指令級(jí)模型功耗分析方法雖然能比較準(zhǔn)確地估算出嵌入式系統(tǒng)的功耗,但是這種方法所需要的時(shí)間過長(zhǎng)。本文介紹一種高層嵌入式軟件功耗分析估測(cè)方法,以對(duì)象函數(shù)所使用的算法的復(fù)雜度來對(duì)該函數(shù)構(gòu)建功耗模型,從而根據(jù)此功耗模型能快速估算出該函數(shù)在各種輸入情形下的功耗情況。

關(guān)鍵詞 算法復(fù)雜度 嵌入式系統(tǒng) 軟件功耗模型

1  嵌入式軟件功耗

  嵌入式系統(tǒng)的功耗主要來自微處理器的功耗與外圍部件的功耗。雖然能量的消耗最終發(fā)生在底層硬件,但是微處理器的功耗很大程度上取決于其所執(zhí)行的軟件。因此,對(duì)嵌入式系統(tǒng)的功耗分析越來越多地轉(zhuǎn)移到軟件的角度上來,將能量的消耗過程視作軟件執(zhí)行過程。

  目前的嵌入式軟件功耗分析大多數(shù)都是基于指令級(jí)功耗模型的分析方法。在這種模型中,嵌入式軟件程序的功耗由單條指令的基本功耗開銷、連續(xù)執(zhí)行不同類型的指令造成的功耗開銷以及額外的功耗開銷(如流水線斷流、Cache不命中)等構(gòu)成[1]。雖然這種底層的嵌入式軟件功耗的分析方法的準(zhǔn)確性較高,但是其分析過程需要在特定微處理器平臺(tái)上將程序翻譯成匯編指令,然后通過逐條指令功耗分析和綜合因素考慮,最后才能估算出該程序在某種微處理器上執(zhí)行的系統(tǒng)功耗,需要相當(dāng)長(zhǎng)的分析時(shí)間。

2  基于復(fù)雜度的嵌入式軟件功耗模型

  針對(duì)指令級(jí)功耗模型的瓶頸,本文介紹一種基于復(fù)雜度的嵌入式軟件功耗模型[2],利用現(xiàn)有條件能快速估算出某函數(shù)的功耗情況。

  在嵌入式軟件應(yīng)用中大量使用的多媒體計(jì)算和其它數(shù)據(jù)密集型計(jì)算中,經(jīng)常用到諸如查找、排序、矩陣運(yùn)算等算法。由于這些算法的平均復(fù)雜度都是已知的,因此復(fù)雜度成為這些嵌入式軟件程序的一個(gè)重要特征,同樣也能夠成為分析和估測(cè)嵌入式軟件功耗的一種重要依據(jù);趶(fù)雜度的嵌入式軟件功耗模型以具體函數(shù)所使用的算法的復(fù)雜度為建模的參數(shù),選取該函數(shù)的典型輸入,并利用現(xiàn)有指令級(jí)模型分析方法獲得該函數(shù)在這些典型輸入情況下的功耗,利用回歸法算出該函數(shù)軟件功耗模型的系數(shù),從而獲得完整的該函數(shù)軟件功耗模型,并可以用于快速估算該函數(shù)在任何輸入情況下的軟件功耗。

  在某函數(shù)的算法復(fù)雜度是已知的或較容易獲得的情況下,假設(shè)該函數(shù)的執(zhí)行所需功耗與其復(fù)雜度有關(guān),則可以使用一個(gè)線性公式[2]來描述該函數(shù)的軟件功耗:

  其中Pj為模型的參數(shù),與函數(shù)的算法復(fù)雜度與函數(shù)的輸入相關(guān);cj為相應(yīng)的系數(shù);p是參數(shù)個(gè)數(shù)。

  構(gòu)建模型的第一步是決定描述功耗模型的參數(shù)Pj。參數(shù)的選擇與具體的函數(shù)所使用的算法密切相關(guān)。幾種比較常見的算法的功耗模型可以表1中的線性公式來描述。

表1  基于復(fù)雜的軟件功耗模型

  參數(shù)確定之后,必須找到相應(yīng)的系數(shù)cj,這是整個(gè)算法中最重要的步驟。一旦獲得系數(shù)cj后,就可以利用這些系數(shù)估算出該函數(shù)在任何輸入情況下的功耗。

  要算出系數(shù),首先要確定該函數(shù)的典型輸入集合S={I1,I2,…,In},S中的每個(gè)Ii都與該函數(shù)一組模型參數(shù)Pj相對(duì)應(yīng)。n個(gè)Ii對(duì)應(yīng)形成一個(gè)該函數(shù)的模型參數(shù)矩陣。

  通過底層指令級(jí)模型分析得到該函數(shù)在每組參數(shù)Ii情況下的功耗E=(E1,E2,…,En)T。

E = PC

  其中C=(c1,c2,…,cp)T。然后通過矩陣運(yùn)算即可回歸出參數(shù)向量C。

3  基于復(fù)雜度的插入排序函數(shù)軟件功耗建模

  以下將以Integrator/CM7TDMI評(píng)估板的ARM7TDMI微處理器為基礎(chǔ),對(duì)插入排序函數(shù)來構(gòu)建基于復(fù)雜度的嵌入式軟件功耗模型。

  假設(shè)某運(yùn)行在ARM7TDMI處理器上的函數(shù),對(duì)一長(zhǎng)度為n的整形數(shù)組a[n]使用簡(jiǎn)單插入排序算法進(jìn)行排序。算法的C語言代碼與其經(jīng)過ARMCC編譯器編譯后的匯編代碼如下。

  void ins_sort(int a[],int n){
    int x,i,j;
    for(i=1; i<n; i++)
      for(j=0; j<i; j++){
        if(a[i]<a[j]){
          x=a[j];
          a[j]=a[i];
          a[i]=x;
        }
      }
  }

ins_sort PROC
    STR lr, [sp,#-4]!
    MOV r3, #1
    B L1.56
L1.12 MOV r2, #0
    B L1.44
L1.20 LDR r12, [r0,r3,LSL #2]
    LDR lr, [r0,r2,LSL #2]
    CMP r12, lr
    STRLT r12, [r0,r2,LSL #2]
    STRLT lr, [r0,r3,LSL #2]
    ADD r2, r2, #1
L1.44 CMP r2, r3
    BLT L1.20
    ADD r3, r3, #1
L1.56 CMP r3, r1
    BLT L1.12
    LDR pc, [sp], #4

3.1  基于復(fù)雜度的功耗模型

  簡(jiǎn)單插入排序算法平均復(fù)雜度為O(n2)。該函數(shù)的軟件功耗模型可用如下線性公式描述:

  其中,n為數(shù)組的長(zhǎng)度,E為在輸入數(shù)組長(zhǎng)度為n的情況下函數(shù)的功耗。

3.2  獲得系數(shù)cj

  在這一步驟中,主要以Integrator/CM7TDMI評(píng)估板的三段流水線、不設(shè)cache的ARM7TDMI處理器的指令級(jí)功耗模型[3]為基礎(chǔ),分析該插入排序函數(shù)分別在輸入數(shù)組長(zhǎng)度n=10、20、40情況下的功耗情況,并通過回歸法獲得系數(shù)cj。

  在該指令級(jí)功耗模型中,指令執(zhí)行的功耗主要來自兩個(gè)部分:執(zhí)行單條指令引起的功耗(base cost)與連續(xù)執(zhí)行不同類型的指令導(dǎo)致處理器狀態(tài)改變所引起的額外功耗(inter-instruction cost)[3]。其公式如下:

  其中,Ei為執(zhí)行第i條指令的基本指令功耗(表2),Oij為連續(xù)執(zhí)行第i條和第j條指令引起的額外功耗(表3),ε為流水線斷流引起的功耗(表4)[3]。

表2  Integrator/CM7TDMI ARM7TDMI基本指令功耗

表3  執(zhí)行連續(xù)兩條源操作數(shù)類型不同指令的功耗

表4  流水線斷流引起的功耗

  根據(jù)以上表中的數(shù)據(jù)結(jié)合該函數(shù)匯編指令,得出該插入排序函數(shù)的指令級(jí)功耗分析情況(表5)。

表5  簡(jiǎn)單插入排序指令級(jí)功耗分析

  至此,可以得出完整的簡(jiǎn)單插入排序函數(shù)的基于復(fù)雜度的嵌入式軟件功耗模型

E = 93.51-5.38n+10.67n2

3.3  基于復(fù)雜度的嵌入式軟件功耗模型估算功耗 

  當(dāng)輸入數(shù)組長(zhǎng)度為n=80的情況下,通過該模型可快速估算出插入排序函數(shù)的功耗

E=93.51-5.38×80+10.67×1600=67924.85(nJ)

  與指令級(jí)功耗模型的估測(cè)值誤差小于1%(表6),而利用基于復(fù)雜度的功耗模型估測(cè)該函數(shù)執(zhí)行所需的功耗的速度則大大提高。

表6  各種數(shù)組長(zhǎng)度下簡(jiǎn)單插入排序指令級(jí)功耗

4  總結(jié)

  本文介紹了一種基于復(fù)雜度的嵌入式軟件功耗模型,以對(duì)象函數(shù)的算法平均復(fù)雜度為建模參數(shù),利用現(xiàn)有底層指令級(jí)功耗模型對(duì)該函數(shù)進(jìn)行分析,回歸出必需的系數(shù),得到該函數(shù)完整的基于復(fù)雜度的嵌入式軟件功耗模型,從而可快速估算出該函數(shù)在不同輸入情況下的軟件功耗。這種分析方法的缺點(diǎn)在于只適用于算法復(fù)雜度明顯的一些函數(shù),從而較容易構(gòu)建基于復(fù)雜度的模型。另外在建模過程中,仍然需要指令級(jí)功耗模型的分析法的協(xié)助。

參考文獻(xiàn)

1  Tiwari V, et al. Power analysis of embedded software: A first step towards software power minimization. IEEE Trans. VLSI Systems, 1994
2  Tan T K, et al. High-level energy macro-model of embedded software. IEEE Trans. Computer-Aided Design, 2002
3  Nikolaidis S. Instruction-level energy characterization of an ARM processor [EB/OL]. http:// electronics.physics.auth..gr, 2003
4  Brooks D, Tiwari V, et al. Wattch: A framework for architectural-level power analysis and optimizations. Proc. Int. Symp. Computer Architecure, 2000

錢賈敏  碩士研究生,主要研究方向?yàn)榍度胧较到y(tǒng)應(yīng)用。
王力生  副教授、碩士生導(dǎo)師,主要研究方向?yàn)榍度胧较到y(tǒng)、電子商務(wù)。

  • 上一篇: 可復(fù)用SPI模塊IP核的設(shè)計(jì)與驗(yàn)證
  • 下一篇: 人機(jī)界面中的LCD控制驅(qū)動(dòng)與接口設(shè)計(jì)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1