• 沒有找到結果。

相關的議題中,國內的研究計畫多以提出新式設計以改進嵌入式系統晶片效能[1] [2] [3]

或減少系統耗能[4] [5] [6] [7] 為主,較少探討如何評估與分析系統效能與耗能;而在國外 的相關研究中主要都是對單核心的硬體平台做效能和耗能的監測與分析,以多核心系統晶 片為基礎研究平台的系統效能與耗能分析則較為少見,其中,柏克萊大學目前正進行的 RAMP 計畫是一項關於多核心系統的平台建置計畫[8] ,然而 RAMP 計畫並不強調嵌入式 的應用,因此效能與耗能監測等工具的發展相對著墨較少。有關如何在多核心嵌入式系統 上建構與效能和耗能監測相關的軟硬體元件,以及配套的分析工具,目前在國內外的研究 中是比較少見的。

多核心嵌入式系統晶片之效能評估上,通常以處理器執行該工作所花的時間為準[9] , 而 在 耗 能 評 估 上 , 現 有 的 方 式 中 主 要 可 分 為 基 於 監 控 (monitor-based) 與 基 於 模 型

(model-based) 兩種耗能評估方式,其中基於監控的耗能評估方式[10] [11] 在測量耗能時,

會先把主電源接到一個數位電表 (digital multimeter) 中,再經由數位電表提供待測系統所 需電能,之後當待測系統開始執行時,便可以藉由數位電表中的電流值即時監控取樣時間 點上待測系統的耗能狀況,接著再針對這些取樣點逐一紀錄系統狀況與耗能狀況,便可於 測量結束之後,對待測系統執行時所收集到的狀態與能量數據進行統計及分析,以評估整 體的耗能狀況。此類型的耗能評估方式快速且準確度高、誤差度小,不過對使用者而言卻 不甚便利,因為此耗能評估方式必須與數位電表搭配使用,若使用者沒有符合此耗能評估 方式所需的數位電表,整個評估機制將無法順利啟動。

而基於模型的耗能評估方式會先將硬體的耗電程度量測好,並利用軟體的方式來評估 系統耗能,以避免缺乏硬體資源的問題產生,讓使用者無須外接任何硬體設備即可評估系 統的耗能狀況,此評估方式依精確度又可進一步分為週期程度 (cycle-level) 精確度、指令 程度 (instruction-level) 精確度與高階 (higher level) 精確度三種。其中精確度最高之週期程 度精確度的評估方式中[12] [13] [14] ,主要是利用一個軟體模擬器,模擬待測系統中每個 時脈週期中所有硬體 (如:處理器、記憶體、匯流排等) 的行為與其對應的消耗能量,以達 到評估系統耗能的目的,但也由於是對整個硬體架構做模擬,因此若要實作此耗能評估機 制,必須要相當了解待測系統的硬體架構。而指令程度精確度的評估方式中[15] [16] ,會 事先量測好在待測系統上執行每個指令,以及指令間交互影響 (inter-instruction effect)、快 取誤失 (cache misses) 和管線延遲 (pipeline stalls) 等所需的耗電量,最後再透過指令集模 擬器 (instruction set simulators) 取得程式執行時每個指令出現的次數以及發生前述事件的 數量,以統計分析整體系統耗能,使用此方法的主要缺點是若待測系統採用複雜指令集 (Complex Instruction Set Computing, CISC) 架構,則系統中將會有相當可觀的指令數量需要 事先量測其耗電量。在前述兩種精確度的量測方式中,皆有著效率不佳以及難以實做的問 題存在,因此後來便有高階精確度的評估方式被提出來,[17] 提出在某些採用精簡指令集 (Reduced Instruction Set Computing, RISC) 架構的處理器 (如: ARM) 中,每個指令間所耗費 的電能差異度相當低,且不同程式間的耗能差異度約為 8% 左右,因此在對該類型的系統 平台做耗能分析時,並不需要很詳盡地測量每個指令的耗電量以及分析所有指令間的交互 影響行為,而是可以利用一個較簡單的耗能模型去評估此系統的耗能狀況即可。除了前述

的簡化方法之外,另外還有軟體巨集模型 (Software macromodeling) [18] 和函式程度 (function level) 精確度[19] 的評估方式,與針對作業系統之系統呼叫 (system calls) [20] [21]

[22] 等,利用事先量測好程式中部份程式區塊或函式之耗電量的作法相繼被提出來,以加 快評估系統耗能的速度。

然而,以上方式皆是針對單核心系統平台所提出來的效能與耗能評估方式,無法完全 套用在行為更為複雜的多核心系統平台,因此本計畫將提出一套適用多核心嵌入式系統的 效能與耗能之監測與分析工具 (mProfiler),讓多核心嵌入式系統晶片與軟體設計者在開發 初期即可有效地掌握效能與耗能的特性,除了可以避免預期外的耗能狀況發生之外,還可 以進一步針對效能與耗能部份做最佳化的處理,提高多核心嵌入式系統晶片之整體效能並 降低耗能。

相關文件