摘 要:嵌入式系統(tǒng)及應(yīng)用與市場(chǎng)密切關(guān)聯(lián),其設(shè)計(jì)受成本、功耗、芯片體積和開(kāi)發(fā)周期等多種因素的制約,嵌入式系統(tǒng)的性能在滿足應(yīng)用需求的條件下,其性能冗余量不宜太大。在產(chǎn)品開(kāi)發(fā)周期內(nèi),以盡可能低的原材料成本和開(kāi)發(fā)成本設(shè)計(jì)具有適當(dāng)性能的嵌入式系統(tǒng),是嵌入式系統(tǒng)項(xiàng)目成功的關(guān)鍵。為此,需要對(duì)嵌入式微處理器及嵌入式系統(tǒng)的整體性能進(jìn)行評(píng)測(cè)和分析,作為嵌入式系統(tǒng)性能設(shè)計(jì)的依據(jù)。介紹嵌入式系統(tǒng)性能測(cè)試的基本原理、測(cè)試方法,描述多種嵌入式系統(tǒng)性能評(píng)測(cè)基準(zhǔn)及其適用范圍。并在此基礎(chǔ)上,分析這些嵌入評(píng)測(cè)基準(zhǔn)程序的應(yīng)用情況,結(jié)合當(dāng)前嵌入式系統(tǒng)級(jí)設(shè)計(jì)過(guò)程中需要早期進(jìn)行性能評(píng)估的需要,介紹E3評(píng)測(cè)基準(zhǔn)及系統(tǒng)級(jí)設(shè)計(jì)評(píng)價(jià)方法,給出嵌入式計(jì)算機(jī)設(shè)計(jì)中測(cè)評(píng)技術(shù)的未來(lái)發(fā)展趨勢(shì)。
關(guān)鍵詞:嵌入式計(jì)算機(jī);嵌入式系統(tǒng)設(shè)計(jì);性能評(píng)測(cè);基準(zhǔn)程序
Research of Embedded Computer Performance Evaluation echnology
ZANG aitao,GONG Longqing
(Xi'an Institute of Microelectronics echnology,Xi′an,71007,China)
Abstract:Closely related to its application and the market,the embedded system design is subjected to many factors,such as the cost,power dissipation,chip area,and the development cycleMeeting the given required performance of a embedded system design,there is no need to make a larger margin of the system performance designIn a product development cycle,the key point to make a project success is to design a performance satisfied system in a lower material cost and lower development costFor this reason,it is necessary to make an evaluation and analysis in the embedded micro-processor and entire embedded system for gist of the system performance designIn this paper,by introducing the principle and methods used in the embedded system performance evaluation,describing the several Benchmarking and their applicabilityAnd then,by analyzing the application case of those Benchmarking,with regard to the need of early performance evaluation in embedded system level design,introducing an E3 Benchmark and the system level performance evaluation methods,and giving a prospect of the embedded system design performance evaluation methods
Keywords:embedded computer;embedded system design;performance evaluation and estimation;benchmarking
1 引 言
嵌入式計(jì)算機(jī)的設(shè)計(jì)不同于通用的計(jì)算機(jī)設(shè)計(jì),它的設(shè)計(jì)過(guò)程較復(fù)雜。對(duì)于嵌入式計(jì)算機(jī)的設(shè)計(jì),是針對(duì)具體的應(yīng)用問(wèn)題,通過(guò)對(duì)問(wèn)題的描述、建模,分解嵌入式計(jì)算的任務(wù)需求后,在建立的計(jì)算模型上,進(jìn)一步地向設(shè)計(jì)的領(lǐng)域轉(zhuǎn)換,即:將需要完成的計(jì)算任務(wù)向可以有效地解決該問(wèn)題的嵌入式計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與組成映射。
嵌入式計(jì)算機(jī)的設(shè)計(jì),涉及到軟件和硬件的分別設(shè)計(jì)。硬件的設(shè)計(jì),主要是需要考慮處理器的類型及數(shù)量,系統(tǒng)組成部件(包括處理器、存儲(chǔ)器、專用部件及可編程部件、I/O部件等)之間的互聯(lián)拓?fù)浣Y(jié)構(gòu)(即選擇通信部件,以什么樣的總線協(xié)議進(jìn)行系統(tǒng)各組成部件的互聯(lián))。嵌入式計(jì)算機(jī),由于其設(shè)計(jì)時(shí)間要求、應(yīng)用環(huán)境的限制,對(duì)它的設(shè)計(jì)成本、設(shè)計(jì)性能都有特殊的要求。
嵌入式計(jì)算機(jī)的設(shè)計(jì)評(píng)價(jià)指標(biāo),可以是多種指標(biāo)的綜合,例如:處理速度(主要以任務(wù)的計(jì)算時(shí)間度量)、設(shè)計(jì)體積、設(shè)計(jì)成本、實(shí)時(shí)反應(yīng)能力、系統(tǒng)的功耗、可靠性與可信度等。由于嵌入式計(jì)算機(jī)設(shè)計(jì)本身的復(fù)雜性及特殊性,不同的設(shè)計(jì)要求,評(píng)價(jià)的方式方法對(duì)不同的設(shè)計(jì)過(guò)程各不相同,同時(shí),對(duì)這些評(píng)價(jià)指標(biāo)的偏好程度及側(cè)重點(diǎn)也不相同。有的環(huán)境要求很苛刻的實(shí)時(shí)性,有的應(yīng)用場(chǎng)合要求很小的設(shè)計(jì)體積,有的要求在較小的設(shè)計(jì)成本下獲得盡可能快的處理速度等。因此,嵌入式計(jì)算機(jī)的設(shè)計(jì)評(píng)價(jià)與測(cè)量是復(fù)雜的。
本文主要就嵌入式計(jì)算機(jī)的設(shè)計(jì)評(píng)價(jià)指標(biāo)、評(píng)價(jià)方法,使用到的評(píng)測(cè)技術(shù)及用于設(shè)計(jì)過(guò)程中的評(píng)測(cè)基準(zhǔn)方法進(jìn)行分析,并對(duì)未來(lái)的嵌入式計(jì)算機(jī)設(shè)計(jì)中用到的評(píng)測(cè)基準(zhǔn)技術(shù)進(jìn)行探討。
2 嵌入式計(jì)算機(jī)的設(shè)計(jì)性能測(cè)試指標(biāo)
對(duì)于嵌入式計(jì)算機(jī)的設(shè)計(jì)性能進(jìn)行評(píng)價(jià),需要對(duì)構(gòu)成嵌入式計(jì)算機(jī)系統(tǒng)的組成部件,如嵌入式微處理器、編譯器、運(yùn)行庫(kù)等關(guān)鍵的系統(tǒng)構(gòu)件的評(píng)價(jià)性能特征,定義一系列的性能指標(biāo)。用于嵌入式計(jì)算機(jī)設(shè)計(jì)性能評(píng)測(cè)的常用指標(biāo)有以下幾種:
(1) 系統(tǒng)的執(zhí)行時(shí)間(Execution ime)和加速比(peed Up)
嵌入式計(jì)算機(jī)設(shè)計(jì)對(duì)于運(yùn)行的應(yīng)用程序執(zhí)行時(shí)間衡量,是嵌入式計(jì)算機(jī)系統(tǒng)設(shè)計(jì)性能測(cè)試中最重要的性能指標(biāo)。用于評(píng)測(cè)的基準(zhǔn)程序運(yùn)行時(shí)間,即基準(zhǔn)程序的運(yùn)行速度,直接反映了嵌入式系統(tǒng)的性能。這一性能指標(biāo),主要由嵌入式微處理器、存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)和I/O系統(tǒng)的整體性能決定,同時(shí),也與應(yīng)用程序向嵌入式計(jì)算機(jī)目標(biāo)處理器編譯過(guò)程有關(guān)。編譯器的優(yōu)化能力、支持程序運(yùn)行的運(yùn)行庫(kù)性能對(duì)應(yīng)用程序的運(yùn)行時(shí)間,有著密切的關(guān)系,同時(shí),也受操作系統(tǒng)的開(kāi)銷和同時(shí)運(yùn)行的其他用戶任務(wù)的影響。這一性能指標(biāo),通常會(huì)選擇系統(tǒng)對(duì)應(yīng)用測(cè)試程序的最大峰值速度作為為度量的指標(biāo)。
通過(guò)對(duì)比測(cè)試,可以評(píng)測(cè)2個(gè)嵌入式系統(tǒng)及構(gòu)成系統(tǒng)的關(guān)鍵構(gòu)件設(shè)計(jì)的改進(jìn)加速比:
[JZ]peedUp=PerformanceNewestPerformanceOldest=ExecutionimeOldestExecutionimeNewest
(2) 代碼尺寸(Code ize)
代碼尺寸是指將應(yīng)用程序的源程序,由編譯器編譯后生成的二進(jìn)制代碼大小。嵌入式系統(tǒng)是資源受限的系統(tǒng),它的內(nèi)存資源往往受應(yīng)用需求與成本的限制,要求應(yīng)用程序的目標(biāo)代碼在達(dá)到一定性能的條件下,盡可能降低代碼尺寸,以減少對(duì)有限內(nèi)存資源的占用量。通過(guò)編譯后的基準(zhǔn)測(cè)試程序代碼尺寸,可以反映微處理器的代碼壓縮性能和用于這種微處理器上編譯器的存儲(chǔ)優(yōu)化性能。
(3) 系統(tǒng)功耗(Energy Consumption)
目前的嵌入式系統(tǒng),對(duì)于電源的要求也較為苛刻。由電池供電的嵌入式系統(tǒng),一般都盡可能節(jié)省電源的要求。低功耗的嵌入式系統(tǒng)設(shè)計(jì),不僅節(jié)省了系統(tǒng)的電源耗費(fèi)成本,而且在很程度上可以有效地延長(zhǎng)系統(tǒng)使用壽命。因此,對(duì)于系統(tǒng)的功耗評(píng)價(jià),也是嵌入式系統(tǒng)的一項(xiàng)重要性能指標(biāo)。嵌入式系統(tǒng)的能量消耗主要由各芯片的工藝屬性和電路規(guī)模決定,受芯片電源管理控制。進(jìn)一步的系統(tǒng)設(shè)計(jì),進(jìn)入片上系統(tǒng)(ystem-on-a-Chip,oC)的設(shè)計(jì)時(shí)代后,系統(tǒng)的功耗就將會(huì)有硬件本身維持運(yùn)行所消耗的靜態(tài)功耗及進(jìn)行軟件任務(wù)的計(jì)算所表現(xiàn)出的系統(tǒng)芯片邏輯門翻轉(zhuǎn)而引起的動(dòng)態(tài)功耗。在目前普通的嵌入式計(jì)算機(jī)中,硬件芯片的功耗管理,可以最終通過(guò)指令序列和軟件編程控制,分別由編譯器指令調(diào)度和操作系統(tǒng)功耗管理模塊完成。嵌入式系統(tǒng)的功耗指標(biāo),表征著嵌入式系統(tǒng)硬件、操作系統(tǒng)和編譯系統(tǒng)的省電屬性。
(4) 執(zhí)行的指令數(shù)(Instructions Executed)
執(zhí)行的指令數(shù)是應(yīng)用程序在一個(gè)時(shí)鐘周期或者機(jī)器周期中,嵌入式處理器可以執(zhí)行的指令個(gè)數(shù)。目前的嵌入式微處理器,可以使用基于RIC核的處理器,也可以是用于數(shù)字信號(hào)處理的DP處理器,也可能是多種異構(gòu)處理器組成的處理單元(Process Element)。RIC結(jié)構(gòu)的嵌入微處理器,大多數(shù)指令為單周期指令,在一個(gè)機(jī)器周期都可以處理完成。使用運(yùn)行于嵌入式系統(tǒng)中的測(cè)試基準(zhǔn)程序執(zhí)行的指令數(shù),可以表征嵌入式系統(tǒng)中編譯器的速度優(yōu)化能力及微處理器完成指令運(yùn)算的運(yùn)行性能。
這些指標(biāo),可以是每指令平均時(shí)鐘周期CPI(Cycles Per Instruction)、每時(shí)鐘執(zhí)行的平均指令數(shù)IPC(Instructions Per Cycle)、每秒執(zhí)行的百萬(wàn)指令數(shù)MIP(Millions of Instructions Per econd)等。這3個(gè)性能指標(biāo)的定義分別如下:
[JZ(Z]CPI=CyclesInstructionsExecuted
IPC=InstructionsExecutedCycles
MIP=InstructionsExecutedExecutionime[JZ)]
其中,Cycles是執(zhí)行應(yīng)用程序經(jīng)歷的時(shí)鐘節(jié)拍數(shù)。3種性能指標(biāo)都可以用于描述應(yīng)用程序的執(zhí)行效率,反映編譯器的速度優(yōu)化性能及嵌入式計(jì)算機(jī)的處理器核心的指令處理能力。
() 高速緩存未命中率(Cache Miss Rate)
[JZ]CacheMissRate=CacheMissCacheAccess
其中Cache Miss為Cache未命中數(shù),Cache Access為Cache總的訪問(wèn)次數(shù)。緩存未命中率(Cache Miss Rate)表示在應(yīng)用程序執(zhí)行過(guò)程中,訪問(wèn)存儲(chǔ)器的性能,以及存儲(chǔ)器對(duì)處理器所需要使用到的指令、數(shù)據(jù)的高速支持能力,可以用來(lái)表征表示編譯器的數(shù)據(jù)分布、存儲(chǔ)器系統(tǒng)的組織和訪問(wèn)優(yōu)化能力。
在以上種性能指標(biāo)中,前3種可用于描述整個(gè)嵌入式系統(tǒng)、微處理器、編譯器、運(yùn)行庫(kù)的性能評(píng)測(cè)指標(biāo),后2種主要用于評(píng)測(cè)編譯器的優(yōu)化性能。除此以外,某些嵌入式應(yīng)用還需要使用其他性能指標(biāo),如總線/網(wǎng)絡(luò)帶寬(MBps)和浮點(diǎn)運(yùn)算速度(MFLOP)等。
3 嵌入式計(jì)算機(jī)設(shè)計(jì)中的常用測(cè)試方法
嵌入式計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中常用到的測(cè)試方法,可以是基于靜態(tài)分析的解析方法,也可以是進(jìn)行模擬仿真的方法,也可以是直接運(yùn)行應(yīng)用程序進(jìn)行測(cè)量的方法。
31 解析法
采用分析技術(shù),假定計(jì)算機(jī)系統(tǒng)參數(shù)與性能指標(biāo)參數(shù)之間存在某種關(guān)系,按工作負(fù)載的驅(qū)動(dòng)條件列出方程,用數(shù)學(xué)方法求解直接得出系統(tǒng)的性能。解析法采用的公式還是很完善,需要假設(shè)系統(tǒng)處于一系列理想狀態(tài),一般用在系統(tǒng)的設(shè)計(jì)階段,結(jié)論的正確性需要經(jīng)過(guò)測(cè)量方法的驗(yàn)證。使用解析法,進(jìn)行系統(tǒng)的性能評(píng)價(jià),需要完備的性能評(píng)價(jià)模型。這方面,由于設(shè)計(jì)的層次(板級(jí)設(shè)計(jì)、芯片級(jí)設(shè)計(jì)、系統(tǒng)級(jí)oC設(shè)計(jì)等)不同,需要建立的評(píng)測(cè)模型也各不相同。往往會(huì)有面積的評(píng)測(cè)模型、功耗的評(píng)測(cè)模型等。
32 模擬法
按照被評(píng)價(jià)的系統(tǒng)的運(yùn)行特性建立一個(gè)系統(tǒng)模型,按照系統(tǒng)可能有的工作負(fù)載特性,建立工作負(fù)載模型并編制出模擬程序,在被評(píng)價(jià)系統(tǒng)上運(yùn)行模擬程序,并通過(guò)在其他的系統(tǒng)上運(yùn)行這一模擬程序,通過(guò)程序在不同系統(tǒng)運(yùn)行獲得的性能參數(shù)對(duì)比,就可以得出設(shè)計(jì)的優(yōu)劣。模擬法也用于系統(tǒng)的設(shè)計(jì)階段。軟件模擬的方法,往往會(huì)帶來(lái)的誤差,建立的工作負(fù)載模型不可能對(duì)結(jié)果具有相接的影響,使得這一方法得到的結(jié)果往往不能如實(shí)地反應(yīng)系統(tǒng)設(shè)計(jì)的真實(shí)性能。
33 測(cè)量方法
測(cè)量技術(shù)是對(duì)投入運(yùn)行的現(xiàn)有嵌入系統(tǒng)進(jìn)行直接測(cè)量,因此它的結(jié)論是真實(shí)、精確和可信的。分析、模擬技術(shù)是基于對(duì)以前的測(cè)量結(jié)果積累歸納得來(lái)的,所以說(shuō)測(cè)量是最基本的評(píng)價(jià)技術(shù)。測(cè)量方法需要相應(yīng)的系統(tǒng)測(cè)試環(huán)境與工具,這樣的測(cè)試組成,可能是專門的測(cè)試硬件設(shè)備、軟件及相應(yīng)的計(jì)算機(jī)檢測(cè)系統(tǒng)。
測(cè)量方法要求得出精確的數(shù)值,就需要從概念上和具體的結(jié)構(gòu)上對(duì)待測(cè)系統(tǒng)進(jìn)行大量的分析,設(shè)計(jì)專門的測(cè)量工具,根據(jù)需要考慮的因素和環(huán)境,進(jìn)行多次的反復(fù)測(cè)量并統(tǒng)計(jì)分析測(cè)量的結(jié)果,因此這一方法也是比較耗時(shí)的。
4 嵌入式計(jì)算機(jī)的性能測(cè)試原理及測(cè)試環(huán)境構(gòu)成
41 性能測(cè)試原理
嵌入式系統(tǒng)由硬件子系統(tǒng)和軟件子系統(tǒng)2部分組成。硬件子系統(tǒng)包括微處理器內(nèi)核、高速緩存、存儲(chǔ)器、外設(shè)接口等,這些邏輯功能部件通常集成在一個(gè)嵌入式處理器(Embedded Processor)中。軟件子系統(tǒng)包括嵌入式操作系統(tǒng)(RO)、中間件(Middle Ware)、嵌入式編譯器(Compiler)和運(yùn)行庫(kù)(Runtime Library)等。嵌入式應(yīng)用程序的可執(zhí)行代碼通常包括3部分:編譯應(yīng)用程序生成的目標(biāo)代碼、鏈接程序從運(yùn)行庫(kù)中提取的庫(kù)例程代碼和操作系統(tǒng)功能調(diào)用。一個(gè)嵌入式應(yīng)用程序(Application)的執(zhí)行時(shí)間(Execution ime)受上述多種因素的影響,可用以下函數(shù)描述:Executionime(Application)=f(EProcessor,RO,MiddleWare,Compiler,Library)
上述函數(shù)的個(gè)參數(shù)中,改變其中1個(gè)參數(shù),保持其余4個(gè)參數(shù)不變,進(jìn)行性能測(cè)試,收集測(cè)試結(jié)果并進(jìn)行對(duì)比分析,可實(shí)現(xiàn)整個(gè)嵌入式系統(tǒng)和關(guān)鍵構(gòu)件的性能測(cè)試。主要測(cè)試項(xiàng)目的測(cè)試方法如下:
(1) 改變Embedded Processor,保持其他參數(shù)不變,并比較測(cè)試結(jié)果,可以評(píng)測(cè)不同嵌入式微處理器的性能差異;(2) 改變RO,保持Processor不變,以評(píng)測(cè)不同RO的性能差異;
(3) 改變Compiler,保持其他參數(shù)不變,可評(píng)測(cè)嵌入式編譯系統(tǒng)編譯優(yōu)化能力;
(4) 改變Library,保持其他參數(shù)不變,可以評(píng)測(cè)不同運(yùn)行庫(kù)的性能;
() 比較兩個(gè)個(gè)嵌入式平臺(tái)的性能指標(biāo),可以評(píng)測(cè)二者的性能差異;
(6) 將執(zhí)行測(cè)試基準(zhǔn)程序獲得的性能指標(biāo)與嵌入式應(yīng)用要求的性能指標(biāo)進(jìn)行比較,可以評(píng)測(cè)嵌入式系統(tǒng)性能是否滿足應(yīng)用需求。
42 性能評(píng)測(cè)環(huán)境
嵌入式系統(tǒng)性能評(píng)測(cè)環(huán)境,通常包括用于嵌入式系統(tǒng)評(píng)測(cè)的測(cè)試主機(jī)和將要被測(cè)評(píng)的嵌入式系統(tǒng),基本結(jié)構(gòu)如圖1所示。
測(cè)試主機(jī)運(yùn)行測(cè)試管理控制程序,控制性能測(cè)試過(guò)程的執(zhí)行,編譯、加載和啟動(dòng)性能測(cè)試基準(zhǔn)程序,收集性能數(shù)據(jù),分析測(cè)試結(jié)果,生成測(cè)試報(bào)告。被測(cè)評(píng)的嵌入式系統(tǒng)則運(yùn)行下載的測(cè)試基準(zhǔn)程序,測(cè)定和采集性能數(shù)據(jù),并通過(guò)測(cè)試代理反饋給測(cè)試主機(jī)。兩者之間通過(guò)某種連接(如串口、以太網(wǎng)等)方式,進(jìn)行數(shù)據(jù)的通信與交互。
43 性能測(cè)試過(guò)程
建立好測(cè)試環(huán)境后,性能測(cè)試過(guò)程描述如下:
(1) 用戶確定測(cè)試項(xiàng)目、選擇性能測(cè)試基準(zhǔn)和被測(cè)嵌入式平臺(tái),測(cè)試管理控制程序建立測(cè)試主機(jī)與被測(cè)嵌入式系統(tǒng)之間的通信連接、啟動(dòng)測(cè)試;
(2) 測(cè)試管理控制程序選擇,設(shè)置編譯優(yōu)化選項(xiàng),選擇測(cè)試環(huán)境構(gòu)件,調(diào)用嵌入式編譯器編譯基準(zhǔn)測(cè)試程序;
(3) 通過(guò)測(cè)試代理,將測(cè)試基準(zhǔn)程序下載到被測(cè)嵌入式系統(tǒng),并控制完成基準(zhǔn)測(cè)試程序的運(yùn)行;
(4) 性能數(shù)據(jù)采集代理監(jiān)視基準(zhǔn)測(cè)試程序的執(zhí)行,測(cè)試和采集與性能指標(biāo)相關(guān)的性能數(shù)據(jù);
() 測(cè)試代理將測(cè)試結(jié)果和性能數(shù)據(jù)發(fā)回測(cè)試主機(jī);
(6) 測(cè)試管理控制程序調(diào)用性能分析程序,分析和處理測(cè)試結(jié)果和性能數(shù)據(jù),生成測(cè)試報(bào)告。
性能基準(zhǔn)程序測(cè)試方法
在計(jì)算機(jī)設(shè)計(jì)中用到的性能基準(zhǔn)程序,是以單個(gè)某一領(lǐng)域典型的一個(gè)計(jì)算任務(wù)或者一組計(jì)算任務(wù)采用某種語(yǔ)言編寫的程序的形式出現(xiàn),它可以用來(lái)度量計(jì)算機(jī)系統(tǒng)或構(gòu)件性能的在某一領(lǐng)域的典型計(jì)算性能。用來(lái)進(jìn)行性能評(píng)測(cè)的基準(zhǔn)程序,可以稱為工作負(fù)載。在基準(zhǔn)程序中,必須明確規(guī)定所選用的基準(zhǔn)程序及其特性、運(yùn)行方式,并規(guī)定評(píng)估指標(biāo)體系。一般需要重復(fù)多次運(yùn)行基準(zhǔn)程序,對(duì)獲取的性能指標(biāo)進(jìn)行統(tǒng)計(jì)分析后,才能獲得有意義的評(píng)測(cè)結(jié)果。
性能基準(zhǔn)程序評(píng)價(jià)法是采用軟件的方法評(píng)測(cè)系統(tǒng)的性能,其較高的靈活性、較低成本加上易于在線實(shí)現(xiàn)的特性,使這一方法成為普遍流行的評(píng)測(cè)方法。但是通過(guò)軟件得到的測(cè)量結(jié)果精度較低,并且執(zhí)行基準(zhǔn)程序會(huì)影響系統(tǒng)的性能,進(jìn)而影響結(jié)果的可靠性?;谲浖蝿?wù)的軟件方法,進(jìn)行測(cè)試時(shí),不可避免地占用到系統(tǒng)上的有限資源,所以干擾度大、精度低、分辨率低,但是同時(shí),具有靈活性高、成本低、安裝使用方便的特點(diǎn)。這一方法,不適用于測(cè)量精度要求很高的系統(tǒng)參數(shù)。在構(gòu)建測(cè)量工具環(huán)境時(shí),應(yīng)發(fā)揮軟件測(cè)量的優(yōu)勢(shì),注重于功能的測(cè)試,考慮選用實(shí)際的應(yīng)用程序或與它們功能相同的專用測(cè)試程序。這樣,可以彌補(bǔ)硬件方法所不能解決的問(wèn)題缺點(diǎn)。
性能基準(zhǔn)程序測(cè)試系統(tǒng)性能的常見(jiàn)方法有:時(shí)鐘頻率、指令執(zhí)行速度、等效指令速度方法、核心程序法、綜合程序法、應(yīng)用程序法等。時(shí)鐘頻率、指令執(zhí)行速度、等效指令速度法屬于計(jì)算機(jī)發(fā)展初期階段常用的手段,隨著計(jì)算機(jī)系統(tǒng)復(fù)雜性的提高,這幾類方法不能反映系統(tǒng)的整體性能;核心程序法、綜合程序法占用內(nèi)存空間較小,在有Cache的系統(tǒng)中只能測(cè)量系統(tǒng)的CPU性能。
用于計(jì)算機(jī)性能評(píng)測(cè)的基準(zhǔn)程序法可以分為兩種:測(cè)量系統(tǒng)級(jí)參數(shù)(如響應(yīng)時(shí)間、上下文切換時(shí)間等)的微觀基準(zhǔn)程序,以計(jì)算任務(wù)提供的工作負(fù)載、通過(guò)工作負(fù)載的運(yùn)行得到待測(cè)系統(tǒng)宏觀方面參數(shù)(如任務(wù)執(zhí)行時(shí)間)的宏觀基準(zhǔn)程序。以被測(cè)試對(duì)象來(lái)對(duì)基準(zhǔn)程序分類,經(jīng)常把性能基準(zhǔn)程序分為通用性能基準(zhǔn)程序與實(shí)時(shí)性能基準(zhǔn)程序,通用性基準(zhǔn)程序針對(duì)一般的計(jì)算機(jī)系統(tǒng),實(shí)時(shí)性能基準(zhǔn)程序針對(duì)實(shí)時(shí)系統(tǒng),測(cè)量系統(tǒng)的實(shí)時(shí)性能。
從系統(tǒng)角度看,一個(gè)嵌入式系統(tǒng)的主要構(gòu)件是微處理機(jī)、操作系統(tǒng)和應(yīng)用軟件(包括開(kāi)發(fā)工具) 。這樣,嵌入式系統(tǒng)的性能基準(zhǔn)程序可分為如下3 類:
(1)面向微處理機(jī)的基準(zhǔn)程序,主要是為了幫助設(shè)計(jì)人員合理地選擇嵌入式微控制器、通用微處理機(jī)或DP;
(2)面向操作系統(tǒng)的基準(zhǔn)程序,幫助設(shè)計(jì)人員了解操作系統(tǒng)的量化性能指標(biāo);
(3)面向?qū)iT應(yīng)用的基準(zhǔn)程序,幫助設(shè)計(jì)人員確定最終目標(biāo)系統(tǒng)的性能。在嵌入式系統(tǒng)中,由于面向微處理機(jī)的基準(zhǔn)程序和面向操作系統(tǒng)的基準(zhǔn)程序極大地依賴于應(yīng)用領(lǐng)域,因此,面向?qū)iT應(yīng)用的基準(zhǔn)程序相對(duì)來(lái)講用的就比較少。這一方面,在嵌入式系統(tǒng)的應(yīng)用與設(shè)計(jì)越來(lái)越成熟的情況下,會(huì)在不久的將來(lái)有所改變。
1 通用性能基準(zhǔn)程序
11 PEC
PEC (the tandard Performance Evaluation Corporation)是為了建立、維護(hù)并許可一組被標(biāo)準(zhǔn)化的相關(guān)的性能基準(zhǔn)程序的非盈利性組織[3,4],該組性能基準(zhǔn)程序主要用于評(píng)測(cè)最新的高性能計(jì)算機(jī),以對(duì)VAX11/780機(jī)的測(cè)試結(jié)果作為基數(shù),其他計(jì)算機(jī)的測(cè)試結(jié)果以相對(duì)于這個(gè)基數(shù)的比率來(lái)表示。PEC性能基準(zhǔn)程序分為CPU、高性能計(jì)算、圖形應(yīng)用、Java客戶/服務(wù)器、郵件服務(wù)器、網(wǎng)絡(luò)文件系統(tǒng)、網(wǎng)站服務(wù)器幾大類。
CPU2000是PEC中測(cè)量CPU功能的最新版性能基準(zhǔn)程序組,目的是為不同計(jì)算機(jī)系統(tǒng)計(jì)算密集型的工作負(fù)載提供性能評(píng)估的測(cè)量工具,PEC CPU 2000包含2組性能基準(zhǔn)程序:CIN2000測(cè)量比較計(jì)算密集型定點(diǎn)運(yùn)算,CFP2000測(cè)量比較計(jì)算密集型浮點(diǎn)運(yùn)算。最新版本為CPU2000 V13。 CPU2000為被測(cè)系統(tǒng)提供性能參數(shù),主要測(cè)量系統(tǒng)的處理器、內(nèi)存以及編譯器性能。
12 PC
PC (ransaction Processing Council)成立于1988年[],已有40多個(gè)成員,PC系列基準(zhǔn)是現(xiàn)在流行的商業(yè)基準(zhǔn)組,主要服務(wù)器和數(shù)據(jù)庫(kù)企業(yè)都派代表加入了這一組織,用于評(píng)測(cè)計(jì)算機(jī)的事務(wù)處理、數(shù)據(jù)庫(kù)處理、企業(yè)管理與決策支持等方面的性能。PC不給出基準(zhǔn)程序的代碼,而只給出基準(zhǔn)程序的標(biāo)準(zhǔn)規(guī)范(tandard pecification)。任何廠家或其他測(cè)試者都可以根據(jù)規(guī)范,最優(yōu)地構(gòu)造出自己的系統(tǒng)(測(cè)試平臺(tái)和測(cè)試程序)。1989年以來(lái)相繼發(fā)表的PC基準(zhǔn)測(cè)試程序包括PC-A,PC-B,PC-C,PC-D,PC-W,PC-R和PC-等。其中PC-A用于在線事務(wù)處理下更新密集的數(shù)據(jù)庫(kù)環(huán)境下的性能測(cè)試,PC-B用于數(shù)據(jù)庫(kù)系統(tǒng)及運(yùn)行它的操作系統(tǒng)的核心性能測(cè)試,PC-C則用于在線事務(wù)處理測(cè)試。有2種評(píng)價(jià)指標(biāo):吞吐率(hroughput,tpmC)、性價(jià)比(Price/Performance,Price/tpmC)。tpmC定義:PC-C的吞吐量,按有效PC-C配置期間每分鐘處理的平均交易次數(shù)測(cè)量,至少要運(yùn)行12 min。PC-D用于決策支持系統(tǒng)測(cè)試,PC-是基于PC-D基礎(chǔ)上決策支持基準(zhǔn)測(cè)試,PC-W是用于電子商務(wù)應(yīng)用軟件測(cè)試。
13 Whetstone
它是用FORRAN語(yǔ)言編寫的綜合性測(cè)試程序,主要包括浮點(diǎn)運(yùn)算、整數(shù)算術(shù)運(yùn)算、功能調(diào)用、數(shù)組變址、條件轉(zhuǎn)移、超越函數(shù),測(cè)試結(jié)果用單位Kwips表示,1Kwips表示機(jī)器每秒鐘能執(zhí)行1 000條Whetstone指令。在實(shí)時(shí)性能基準(zhǔn)程序artstone中被調(diào)用。
14 Lmbench
Lmbench性能基準(zhǔn)程序通過(guò)運(yùn)行大量的程序,測(cè)試大多數(shù)公認(rèn)的有可能成為性能瓶頸的重要參數(shù)[6],這些參數(shù)通過(guò)幾組微觀性能基準(zhǔn)程序加以識(shí)別、分辨,而且是可重現(xiàn)的。Lmbench中主要測(cè)量的參數(shù)是處理器、內(nèi)存、網(wǎng)絡(luò)、文件系統(tǒng)與硬盤之間的系統(tǒng)延時(shí)與數(shù)據(jù)通路帶寬。Lmbench僅測(cè)量處理器、內(nèi)存、網(wǎng)絡(luò)、文件系統(tǒng)與硬盤之間傳送數(shù)據(jù)的能力,清楚地描述時(shí)間延時(shí)與數(shù)據(jù)通路帶寬方面的各種參數(shù),Lmbench中的各個(gè)性能基準(zhǔn)程序組作為測(cè)量系統(tǒng)性能的補(bǔ)充常用于測(cè)量系統(tǒng)相應(yīng)的延時(shí)與帶寬。
2 嵌入式系統(tǒng)設(shè)計(jì)中的實(shí)時(shí)性能測(cè)試基準(zhǔn)程序
21 Rhealstone
Rhealstone性能基準(zhǔn)程序是一組由6個(gè)C語(yǔ)言程序組成的程序集[7,8],通過(guò)這6個(gè)程序測(cè)量實(shí)時(shí)操作系統(tǒng)的7個(gè)微觀參數(shù):上下文切換、搶占時(shí)間、中斷延遲、信號(hào)量混洗時(shí)間、死鎖解除時(shí)間、信息傳遞延遲、數(shù)據(jù)報(bào)吞吐時(shí)間。Rhealstone性能基準(zhǔn)程序有2個(gè)缺點(diǎn),一是它測(cè)量的是平均時(shí)間,而不是最壞值;二是其最后的結(jié)論是加權(quán)平均值,但沒(méi)有給出確定權(quán)值的依據(jù)。
22 EEMBC
EEMBC[9] (Embedded Microprocessor Benchmark Consortium)性能基準(zhǔn)程序采用具有代表性的真實(shí)應(yīng)用中的基本算法與功能函數(shù),目的是為不同嵌入式計(jì)算機(jī)提供評(píng)價(jià)性能的參數(shù)。最新的EEMBC性能基準(zhǔn)程序涵蓋7類應(yīng)用領(lǐng)域:電信、電子產(chǎn)品、網(wǎng)絡(luò)、辦公自動(dòng)化、自動(dòng)化與工業(yè)控制、數(shù)字娛樂(lè)、車載系統(tǒng)與Java,后兩類是新加入的。EEMBC性能基準(zhǔn)程序?qū)儆谏逃眯阅芑鶞?zhǔn)程序,參照EEMBC的設(shè)計(jì)思路,源代碼公開(kāi)的Mibench分為6類,較多的用于學(xué)術(shù)研究領(lǐng)域。
23 artstone
artstone性能基準(zhǔn)程序由美國(guó)Carnegie Mellon大學(xué)用Ada語(yǔ)言編寫,是依據(jù)需求構(gòu)成的一組合成應(yīng)用,選用Whetstone性能基準(zhǔn)程序作為合成工作負(fù)載,目的是測(cè)量硬實(shí)時(shí)系統(tǒng)[10]。artstone性能基準(zhǔn)程序需要不同測(cè)試序列,每個(gè)測(cè)試序列中的測(cè)試結(jié)果只有2種情況:滿足或者不滿足時(shí)間限制。若任一個(gè)程序不滿足時(shí)限,那么測(cè)試結(jié)論就是“不通過(guò)”。共有種測(cè)試序列:任務(wù)周期有規(guī)律的周期性任務(wù)、任務(wù)周期無(wú)規(guī)律的周期性任務(wù)、任務(wù)周期有規(guī)律但非周期性處理的周期性任務(wù)、任務(wù)周期有規(guī)律有同步的周期性任務(wù)、任務(wù)周期有規(guī)律有同步但非周期性處理的周期性任務(wù)。
現(xiàn)有的性能基準(zhǔn)程序從構(gòu)建方法上來(lái)看,有的通過(guò)應(yīng)用類別選取典型應(yīng)用構(gòu)建工作負(fù)載(如PEC,EEMBC,Mibench),這類性能基準(zhǔn)程序可進(jìn)行功能測(cè)試,也可根據(jù)系統(tǒng)表現(xiàn)計(jì)算系統(tǒng)的性能,該類性能基準(zhǔn)程序?qū)儆诤暧^性能基準(zhǔn)程序,隨著應(yīng)用領(lǐng)域的增多,需要不斷擴(kuò)充;有的通過(guò)測(cè)量影響系統(tǒng)性能的重要參數(shù)(如Rhealstone,Lanbench等),該類性能基準(zhǔn)程序?qū)儆谖⒂^性能基準(zhǔn)程序,但是現(xiàn)階段影響系統(tǒng)性能的重要參數(shù)數(shù)量多,相互影響的程度,對(duì)系統(tǒng)性能影響的程度,很難給出量化的指標(biāo),所以該類性能基準(zhǔn)程序很難對(duì)測(cè)量結(jié)果給出合理的解釋;有的針對(duì)典型應(yīng)用,不僅選用典型的工作負(fù)載還是用根據(jù)程序被調(diào)用的頻度,模擬真實(shí)的工作負(fù)載,(如PC,artstone等),該類性能基準(zhǔn)程序能夠從宏觀上觀察系統(tǒng)在模擬工作負(fù)載下的表現(xiàn),具有較高的實(shí)用價(jià)值,構(gòu)建該類性能基準(zhǔn)程序的難點(diǎn)在于如何真實(shí)地反應(yīng)系統(tǒng)的實(shí)際工作負(fù)載。
3 嵌入式系統(tǒng)的系統(tǒng)級(jí)高層次設(shè)計(jì)測(cè)試基準(zhǔn)程序
隨著電子系統(tǒng)設(shè)計(jì)的自動(dòng)化程度提高,應(yīng)對(duì)嵌入式系統(tǒng)設(shè)計(jì)復(fù)雜性增加,并加快系統(tǒng)設(shè)計(jì)的速度,采用一系列的設(shè)計(jì)技術(shù),如基于IP復(fù)用的設(shè)計(jì)技術(shù)、軟硬件協(xié)同設(shè)計(jì)技術(shù)、高層次的系統(tǒng)級(jí)建模與設(shè)計(jì)技術(shù)等。隨著嵌入式計(jì)算機(jī)的設(shè)計(jì)進(jìn)入到oC的設(shè)計(jì)時(shí)代,將一個(gè)嵌入式系統(tǒng)的軟件、硬件子系統(tǒng)在系統(tǒng)級(jí)的體系結(jié)構(gòu)優(yōu)化、劃分后,使用硬件描述語(yǔ)言和軟件開(kāi)發(fā)語(yǔ)言分別設(shè)計(jì)出嵌入式系統(tǒng)的硬件組成部分和軟件組成部分。嵌入式計(jì)算機(jī)設(shè)計(jì)到了oC設(shè)計(jì)時(shí),同時(shí)意味著嵌入式計(jì)算機(jī)的設(shè)計(jì)進(jìn)入到了系統(tǒng)級(jí)的設(shè)計(jì)時(shí)代。對(duì)于oC這種系統(tǒng)級(jí)的嵌入式系統(tǒng)設(shè)計(jì),涉及到系統(tǒng)軟/硬件結(jié)構(gòu)組成結(jié)構(gòu)的優(yōu)化、系統(tǒng)在總體設(shè)計(jì)體系結(jié)構(gòu)上的優(yōu)化,在不同設(shè)計(jì)目標(biāo)(成本、面積、功耗、性能等)方面的總體折中平衡。在系統(tǒng)級(jí)設(shè)計(jì)的早期階段,也出現(xiàn)了一些相應(yīng)的測(cè)試基準(zhǔn)程序,以輔助系統(tǒng)設(shè)計(jì)在系統(tǒng)級(jí)能確定出一個(gè)相對(duì)較優(yōu)的系統(tǒng)結(jié)構(gòu)。
E3[11]就是Princeton大學(xué)的CAD研究項(xiàng)目中用于進(jìn)行嵌入式系統(tǒng)級(jí)設(shè)計(jì)過(guò)程中,進(jìn)行系統(tǒng)級(jí)綜合(ystem Level ynthesis)的設(shè)計(jì)測(cè)試基準(zhǔn)程序。E3,依據(jù)嵌入式微處理器測(cè)試基準(zhǔn)(Embedded Microprocessor Benchmark Consortium,EEMBC)中對(duì)嵌入式微處理器和用來(lái)測(cè)試的計(jì)算任務(wù)信息的測(cè)試基準(zhǔn)程序而設(shè)計(jì)的用于系統(tǒng)級(jí)綜合設(shè)計(jì)測(cè)試基準(zhǔn)。它主要用于在嵌入式計(jì)算機(jī)系統(tǒng)的系統(tǒng)級(jí)設(shè)計(jì)中,對(duì)系統(tǒng)級(jí)綜合設(shè)計(jì)所涉及到的3個(gè)過(guò)程:系統(tǒng)級(jí)任務(wù)的分配(Allocation)、指派(Assignment)、調(diào)度(cheduling),提供測(cè)試的基準(zhǔn)。目前的最新版本是V09版,可以對(duì)17種微處理器,像AMD ElanC20,Analog Devices 2106L,Motorola MPC,I M320C6203等進(jìn)行測(cè)試。測(cè)試的數(shù)據(jù),像處理器的性能以47個(gè)典型計(jì)算任務(wù)的執(zhí)行時(shí)間度量,功耗數(shù)據(jù)則參照處理器的設(shè)計(jì)文檔(Datasheets),另外,提供給系統(tǒng)級(jí)綜合工具的附加測(cè)試信息,如硅片尺寸以及其他用于系統(tǒng)級(jí)綜合評(píng)估(Estimated)的數(shù)據(jù)和價(jià)格(Prices),則通過(guò)咨詢多個(gè)處理器提供商取得。另外,E3包含著相應(yīng)的系統(tǒng)級(jí)通信模型,用于系統(tǒng)級(jí)設(shè)計(jì)過(guò)程中的測(cè)試基準(zhǔn)程序?qū)Χ喾N不同總線,如CAN,IEEE1394,PCI,UB 20,VME等進(jìn)行建模和評(píng)測(cè)。
6 結(jié) 語(yǔ)
隨著嵌入式計(jì)算機(jī)設(shè)計(jì)技術(shù)的發(fā)展,可復(fù)用IP核與基于平臺(tái)的設(shè)計(jì)技術(shù)應(yīng)用于當(dāng)今的嵌入式計(jì)算機(jī)設(shè)計(jì)中,需要在早期的設(shè)計(jì)階段就要對(duì)嵌入式計(jì)算機(jī)的硬件子系統(tǒng)、軟件子系統(tǒng)與軟硬件集成后的系統(tǒng)原型進(jìn)行早期的性能評(píng)價(jià),目前在國(guó)外,已經(jīng)應(yīng)用于早期設(shè)計(jì)階段的系統(tǒng)級(jí)性能評(píng)測(cè)技術(shù)與方法出現(xiàn)。測(cè)試的技術(shù)與設(shè)計(jì)技術(shù)的成熟度同比發(fā)展,隨著設(shè)計(jì)技術(shù)的發(fā)展,相應(yīng)的測(cè)試技術(shù)也需要有相應(yīng)成熟的測(cè)試?yán)獭⑻囟☉?yīng)用領(lǐng)域的測(cè)試基準(zhǔn)程序來(lái)作測(cè)試評(píng)測(cè)的標(biāo)準(zhǔn)??梢灶A(yù)見(jiàn),在未來(lái)幾年里,測(cè)試基準(zhǔn)程序和針對(duì)嵌入式計(jì)算機(jī)設(shè)計(jì)的性能測(cè)試基準(zhǔn)程序,將會(huì)在系統(tǒng)設(shè)計(jì)過(guò)程中的更早階段——系統(tǒng)級(jí)構(gòu)架優(yōu)化與性能測(cè)度方面,取得很大的發(fā)展。
參 考 文 獻(xiàn)
[1]張亞棣計(jì)算機(jī)性能評(píng)測(cè)[J]航天計(jì)算技術(shù),1996(4):38-4
[2]徐欽桂,李勇嵌入式系統(tǒng)性能評(píng)測(cè)技術(shù)[J]東莞理工學(xué)院學(xué)報(bào),200,41(19):93-96,13
[3]http://wwwspecorg
[4]enning J LPEC CPU2000:Measuring CPU Performance in the New MillenniumIEEE Computer,2000,33 (7):2-26
[]http://wwwtpcorg
[6]McVby L,taelin CLmbench:Portable ools for Perfor[CD4]mance Analysis [A]In:Proc UENIX 1996 echnical Conference[C]an Diego,1996:279-290
[7]Kar R P,閔珍暉實(shí)現(xiàn)Rhealstone實(shí)時(shí)基準(zhǔn)程序[J]微型計(jì)算機(jī),1991(3):6-60
[8]Amd C eursch,Alexander orstkotte,elmut RzehakPreemption Concepts,Rhealstone Benchmark and cheduler Analysis of Linux 24Real-ime Embedded Computing,Milan,2001:27-28
[9]http://wwweembccom
[10]Wang A J AUsing Java artstone Benchmark in a Real-time ystems CourseFrontiers in Education,2002,3:2F-2-2F-30
[11]http://wwwprincetonedu/~cad/projectshtml
[12]衡國(guó)清,翟江源一種嵌入式PC的高速數(shù)據(jù)采集系統(tǒng)[J]現(xiàn)代電子技術(shù),2004,27(1):34-3
[J1]
作者簡(jiǎn)介 張海濤 男,197年出生。研究方向?yàn)榍度胧接?jì)算機(jī)設(shè)計(jì)、軟硬件協(xié)同設(shè)計(jì)等。