色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 功耗測量輔助微控制器的選擇

          功耗測量輔助微控制器的選擇

          作者: 時間:2007-10-10 來源:網(wǎng)絡(luò) 收藏

          當(dāng)設(shè)計工程師為低應(yīng)用時,芯片廠商的數(shù)據(jù)手冊所提供的幫助是有限的。手冊不能提供業(yè)界標(biāo)準(zhǔn)的評價方法,也不能說明像高速緩存(Cache)和集成浮點運算單元等功能部件是怎樣影響能量消耗和性能的。


          當(dāng)工程師嘗試比較包含了片上系統(tǒng)(System-on-chip)的處理器內(nèi)核時,如何解釋這些部件或單元帶來的好處成了一個難題。供應(yīng)商也用芯片的典型消耗電流數(shù)值來衡量他們的微,但這種幾乎不能說明應(yīng)用運行不同程序的能量消耗。為了解決這個問題,嵌入式處理器基準(zhǔn)協(xié)會(Embedded Processor Benchmark Consortium――EEMBC)提出了一種在特定載荷下能量消耗的方法。本文中我們將以ARM-9為內(nèi)核的微作為測試?yán)觼碚f明這種測試方法的原理。

          標(biāo)準(zhǔn)化的方法和前提


          通常而言,EEMBC衡量的側(cè)重點在處理器行為方面的性能指標(biāo),并開發(fā)了以反映嵌入式應(yīng)用真實環(huán)境的基準(zhǔn)。由于能夠驗證所有性能和測量的重復(fù)性是相當(dāng)重要的,測量方法也必須符合常規(guī)的標(biāo)準(zhǔn)。EnergyBench(能量基準(zhǔn))是由EEMBC開發(fā)的一種測量方法,用于提供一種基準(zhǔn)工具,它可以給出處理器在運行應(yīng)用程序時所消耗的能量數(shù)據(jù)。

          測量的可靠性


          EnergyBench采用NI公司(National Instruments)的LabVIEW平臺和數(shù)據(jù)采集卡。DAQ卡有多個差分測量通道用來測量電流和多個單端通道用于測量電壓。EnergyBench使用這樣的DAQ卡來對電壓和電流進(jìn)行采樣,并利用一個觸發(fā)通道來同步性能的基準(zhǔn)測量。


          EnergyBench有兩個軟件模塊,一個用于測量數(shù)據(jù)(功率采樣模塊),另一個用于分析采集到的數(shù)據(jù)(分析模塊)。軟件的圖形界面用于顯示電壓和電流,并且有相應(yīng)的控制按鈕用于啟動數(shù)據(jù)采集。


          基準(zhǔn)測量數(shù)據(jù)需要加載到微控制器中,并需要微控制器的兩個GPIO用作和功率采樣模塊的握手信號。當(dāng)基準(zhǔn)測量數(shù)據(jù)加載完成后,其中的一個GPIO用于通知微控制器啟動測試,另外一個通知功率采樣模塊?;鶞?zhǔn)測量運行完多次迭代后,分析模塊計算基準(zhǔn)測量每次迭代所消耗的平均能量?;鶞?zhǔn)測量分?jǐn)?shù)是可以由制造商的評價參數(shù),它與性能認(rèn)證分?jǐn)?shù)一起可以作為說明處理器能量效率的指標(biāo)。

          圖1 LPC3180是基于ARM9內(nèi)核的MCU,具有32KB指令和數(shù)據(jù)Cache,以及一個向量浮點協(xié)處理單元

          ARM9的測量結(jié)果


          我們由NXP生產(chǎn)、基于ARM926EJ內(nèi)核的微控制器LPC3180作為測量對象,觀察不同處理器配置對能量消耗的影響。選擇該處理器的原因是由于它有很大的內(nèi)部存儲器,64KB的通用存儲器和32KB的指令和數(shù)據(jù)高速緩存(Cache)。此外,它也有一個向量浮點單元和一個低電壓工作模式用于降低功耗。


          表1列出了測量的結(jié)果。數(shù)據(jù)顯示向量浮點單元可以降低能量消耗的系數(shù)是4.5,而指令Cache的系數(shù)大約是1.4。如果我們查看數(shù)據(jù)手冊根本無法知道消耗過多的能量會帶來什么好處,就額外的性能而言,它是通過向量浮點單元和大容量的Cache獲得的。表中的數(shù)據(jù)也表明能量測量的意義就在于可以知道什么時候來決定選擇哪個處理器,以及哪個選項是重要的。處理器消耗的能量總和直接與它所執(zhí)行的任務(wù)所用的時鐘頻率相關(guān)。如果指令Cache被關(guān)閉了,程序不得不從位于AHB總線上的存儲器中去取指令。由于AHB總線的工作頻率只有處理器內(nèi)核頻率的一半,因此程序運行的時間就更長,也就消耗了更多的能量。如果指令Cache被打開了,則相應(yīng)Cache算法中的浮點運算所消耗的能量就會增加,但程序會運行得更快,因為Cache的操作是以處理器內(nèi)核頻率進(jìn)行的,結(jié)果總的能量消耗就降低了。當(dāng)浮點單元使能時,它可以降低處理器和指令Cache的工作量,雖然只有少量的能量增加,但實際消耗的總體能量卻有了很大的降低。


          外部存儲器對能量消耗的影響


          對于大多數(shù)基于MCU的應(yīng)用,存儲器子系統(tǒng)的設(shè)計是影響性能和能量消耗的決定性因素。當(dāng)設(shè)計低功耗系統(tǒng)時,存儲器子系統(tǒng)的選擇和軟件設(shè)計對能量的消耗會產(chǎn)生很大的影響。這些選擇包括存儲器的選型、代碼運行空間的劃分,以及系統(tǒng)的省電模式等。


          在NXP公司微控制器LPC3180的例子中,存儲控制器的接口是動態(tài)的,它通過切換I/O引腳來減小能量的消耗,同時可以動態(tài)支持大容量的存儲器。表2給出了4種類型存儲器在相同性能水平上的典型能量消耗,以及基于不同存儲器使用方式的對比和實際的系統(tǒng)性能。大多數(shù)微控制器都具有內(nèi)部SRAM和Flash。LPC3180有64KB的SRAM,程序在其中運行的時鐘頻率是處理器頻率的一半,與訪問外部存儲器相比其消耗的能量是相當(dāng)?shù)偷?。確切地講,內(nèi)部存儲器消耗的能量大約是 72μW/MHz,以104MHz頻率持續(xù)訪問情況下所消耗的電流大約是7.5mA。由于電路板和存儲器芯片容性負(fù)載的存在,對外部存儲器總線的訪問會吸收大量的電流。這使得代碼運行空間的劃分成為低功耗設(shè)計中非常重要的一部分,代碼應(yīng)盡可能的在芯片內(nèi)部運行。


          基準(zhǔn)測量的測量結(jié)果顯示有3種部件會影響處理器的能量消耗:(1)開關(guān)損耗,(2)交叉?zhèn)鲗?dǎo)損耗,(3)漏電流損耗。在進(jìn)行基準(zhǔn)測量時,前兩種是動態(tài)損耗,它們代表微控制器能量消耗的絕大部分。



          關(guān)鍵詞: 選擇 控制器 輔助 測量 功耗

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉