新聞中心

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

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

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

的方法

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

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

1. 輪詢方式

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

2. 中斷方式

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

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

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

仿真器結(jié)構(gòu)如圖1所示。在每個(gè)周期中,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ù)總線的信息,每個(gè)模塊確定其狀態(tài)和在該狀態(tài)下的能耗。每一個(gè)總線的開關(guān)行為以每個(gè)周期為單位來(lái)計(jì)算。總線上的能耗以總線電容和開關(guān)行為來(lái)計(jì)算。兩種功率器件都由功效表來(lái)計(jì)算能耗。如等式1所示,每一個(gè)周期的總能耗是各個(gè)元件能耗值的總和。





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



評(píng)論


相關(guān)推薦

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

關(guān)閉