新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式系統(tǒng)中外圍器件的能耗估算方法

嵌入式系統(tǒng)中外圍器件的能耗估算方法

作者: 時間:2012-03-31 來源:網(wǎng)絡(luò) 收藏

的方法

如圖1所示,典型的由計算機(jī)、存儲器、和功率驅(qū)動器組成。本文介紹了用于的通用的精確到每個周期的能耗和性能模型。目前的系統(tǒng)中有兩種通常所使用的外圍操作類型:1. 在CPU中采用特定的I/O指令來激活;2. 采用被影射的存儲器I/O,此時,一部分地址空間被分配到I/O驅(qū)動器,處理器通過讀取和寫入這些地址和與器件通訊。圖2所示為采用不同通訊方案的外圍器件的抽象行為。

外圍器件有兩種方式將信號返回到CPU:輪詢和中斷。

1. 輪詢方式

外圍器件將數(shù)據(jù)寫入狀態(tài)寄存器并且處理器會周期地檢查狀態(tài)寄存器。輪詢的優(yōu)點(diǎn)是易于實(shí)現(xiàn)并且處理器始終處于控制狀態(tài),其缺點(diǎn)是輪詢會導(dǎo)致CPU時間開銷大且能耗增加。作為存儲器讀和狀態(tài)檢查循環(huán)中的一個環(huán)節(jié),輪詢是在一個精確到每個周期的仿真器內(nèi)實(shí)現(xiàn)的,輪詢要進(jìn)行到所需的外圍器件狀態(tài)被滿足時才會結(jié)束。在這個過程當(dāng)中CPU一直處于工作狀態(tài)。

2. 中斷方式

當(dāng)外圍器件要占用處理器周期時,外圍器件產(chǎn)生I/O中斷,其優(yōu)點(diǎn)在于僅僅當(dāng)需要的時候,才會占用處理器。相應(yīng)地需要特殊的硬件來創(chuàng)建和檢測中斷。此外,對每一個中斷,處理器都要存儲其狀態(tài),這是在具有一個中斷程序和一個在仿真器內(nèi),延遲被精確到每個周期的仿真器上實(shí)現(xiàn)的。在被中斷之前,處量器將會處于空閑狀態(tài)或運(yùn)行其它的任務(wù)。

中斷的一個常用案例是直接存儲器存取(DMA)。如果處理器正好是內(nèi)存與外圍器件之間的傳媒,DMA就非常有幫助,在這樣的情況下,DMA可使內(nèi)存與外圍器件直接通信,DMA控制器是通信的主控單元,且通訊在處理器外部完成,當(dāng)傳輸完成后處理器再次處于空閑狀態(tài)。

我們實(shí)現(xiàn)了一個通用存儲器映射外圍器件能耗模型,因?yàn)槟壳跋到y(tǒng)實(shí)現(xiàn)中存儲器映射I/O的應(yīng)用非常普遍。此外,還實(shí)現(xiàn)了處理器與外圍器件間的輪詢、基于中斷的通訊和DMA通信。處圍器件的能耗與性能模型被輸入到ARMulator ,它是一種商用ARM處理器的性能仿真器。向ARMulator增加新的模塊的時候,設(shè)計工程師必需為每一個系統(tǒng)元件創(chuàng)建簡單的精確到每個周期的功能和性能模型,然后,應(yīng)用軟件可由所提供的編譯器交叉編譯,并且編譯后的軟件被載入仿真器,從而取得性能統(tǒng)計信息,要加入每個元件的精確到每個周期的模型,能耗模型是以元件制造商所提供的數(shù)據(jù)表為根據(jù)創(chuàng)建的。我們引用了Simunic et. al. 提出的能耗模型。

仿真器結(jié)構(gòu)如圖1所示。在每個周期中,ARMulator向外部模塊發(fā)送有關(guān)處理器狀態(tài)、數(shù)據(jù)和地址總線值的信息。處理器周期可分為兩組:1. 當(dāng)處理器正在運(yùn)行的工作周期;2. 當(dāng)處理器正在等待內(nèi)存和外圍器件訪問的空閑周期。利用由ARMulator提供的有關(guān)處理器狀態(tài)、地址和數(shù)據(jù)總線的信息,每個模塊確定其狀態(tài)和在該狀態(tài)下的能耗。每一個總線的開關(guān)行為以每個周期為單位來計算。總線上的能耗以總線電容和開關(guān)行為來計算。兩種功率器件都由功效表來計算能耗。如等式1所示,每一個周期的總能耗是各個元件能耗值的總和。





能耗和性能Profiler工具用于獲取特殊硬件單元及總系統(tǒng)的每個軟件程序段的能耗的分布情況。在每個周期中, Profiler工具決定當(dāng)前執(zhí)行程序并將這一周期與前一周期間的能耗添加到該程序段的能耗中。Profiler工具周期頻率在代碼執(zhí)行前由用戶確定。最后,Profiler以百分?jǐn)?shù)形式報告能耗分布情況。



評論


相關(guān)推薦

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

關(guān)閉