用于嵌入式計(jì)算機(jī)性能評(píng)測(cè)技術(shù)及其方法研究
1引言
嵌入式計(jì)算機(jī)的設(shè)計(jì)不同于通用的計(jì)算機(jī)設(shè)計(jì),它的設(shè)計(jì)過程較復(fù)雜。對(duì)于嵌人式計(jì)算機(jī)的設(shè)計(jì),是針對(duì)具體的應(yīng)用問題,通過對(duì)問題的描述、建模,分解嵌入式計(jì)算的任務(wù)需求后,在建立的計(jì)算模型上,進(jìn)一步地向設(shè)計(jì)的領(lǐng)域轉(zhuǎn)換,即:將需要完成的計(jì)算任務(wù)向可以有效地解決該問題的嵌入式計(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ì)*價(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ì)要求,*價(jià)的方式方法對(duì)不同的設(shè)計(jì)過程各不相同,同時(shí),對(duì)這些*價(jià)指標(biāo)的偏好程度及側(cè)重點(diǎn)也不相同。有的環(huán)境要求很苛刻的實(shí)時(shí)性,有的應(yīng)用場合要求很小的設(shè)計(jì)體積,有的要求在較小的設(shè)計(jì)成本下獲得盡可能快的處理速度等。因此,嵌入式計(jì)算機(jī)的設(shè)計(jì)*價(jià)與測(cè)量是復(fù)雜的。
本文主要就嵌入式計(jì)算機(jī)的設(shè)計(jì)*價(jià)指標(biāo)、*價(jià)方法,使用到的*測(cè)技術(shù)及用于設(shè)計(jì)過程中的*測(cè)基準(zhǔn)方法進(jìn)行分析,并對(duì)未來的嵌入式計(jì)算機(jī)設(shè)計(jì)中用到的*測(cè)基準(zhǔn)技術(shù)進(jìn)行探討。
2嵌入式計(jì)算機(jī)的設(shè)計(jì)性能測(cè)試指標(biāo)
對(duì)于嵌入式計(jì)算機(jī)的設(shè)計(jì)性能進(jìn)行*價(jià),需要對(duì)構(gòu)成嵌入式計(jì)算機(jī)系統(tǒng)的組成部件,如嵌入式微處理器、編譯器、運(yùn)行庫等關(guān)鍵的系統(tǒng)構(gòu)件的*價(jià)性能特征,定義一系列的性能指標(biāo)。用于嵌入式計(jì)算機(jī)設(shè)計(jì)性能*測(cè)的常用指標(biāo)有以下幾種:
(1)系統(tǒng)的執(zhí)行時(shí)間(Execution Time)和加速比(Speed Up)
嵌入式計(jì)算機(jī)設(shè)計(jì)對(duì)于運(yùn)行的應(yīng)用程序執(zhí)行時(shí)間衡量,是嵌入式計(jì)算機(jī)系統(tǒng)設(shè)計(jì)性能測(cè)試中最重要的性能指標(biāo)。用于*測(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ān)。編譯器的優(yōu)化能力、支持程序運(yùn)行的運(yùn)行庫性能對(duì)應(yīng)用程序的運(yùn)行時(shí)間,有著密切的關(guān)系,同時(shí),也受操作系統(tǒng)的開銷和同時(shí)運(yùn)行的其他用戶任務(wù)的影響。這一性能指標(biāo),通常會(huì)選擇系統(tǒng)對(duì)應(yīng)用測(cè)試程序的最大峰值速度作為為度量的指標(biāo)。
通過對(duì)比測(cè)試,可以*測(cè)2個(gè)嵌入式系統(tǒng)及構(gòu)成系統(tǒng)的關(guān)鍵構(gòu)件設(shè)計(jì)的改進(jìn)加速比:
(2)代碼尺寸(Code Size)
代碼尺寸是指將應(yīng)用程序的源程序,由編譯器編譯后生成的二進(jìn)制代碼大小。嵌入式系統(tǒng)是資源受限的系統(tǒng),它的內(nèi)存資源往往受應(yīng)用需求與成本的限制,要求應(yīng)用程序的目標(biāo)代碼在達(dá)到一定性能的條件下,盡可能降低代碼尺寸,以減少對(duì)有限內(nèi)存資源的占用量。通過編譯后的基準(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)成本,而且在很程度上可以有效地延長系統(tǒng)使用壽命。因此,對(duì)于系統(tǒng)的功耗*價(jià),也是嵌入式系統(tǒng)的一項(xiàng)重要性能指標(biāo)。嵌入式系統(tǒng)的能量消耗主要由各芯片的工藝屬性和電路規(guī)模決定,受芯片電源管理控制。進(jìn)一步的系統(tǒng)設(shè)計(jì),進(jìn)入片上系統(tǒng)(System-on-a-Chip,SoC)的設(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ī)中,硬件芯片的功耗管理,可以最終通過指令序列和軟件編程控制,分別由編譯器指令調(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ù)。目前的嵌入式微處理器,可以使用基于RISC核的處理器,也可以是用于數(shù)字信號(hào)處理的DSP處理器,也可能是多種異構(gòu)處理器組成的處理單元(PROCESS Element)。RISC結(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í)行的百萬指令數(shù)MIPS(Millions of Instructions Per Second)等。這3個(gè)性能指標(biāo)的定義分別如下:
其中,Cycles是執(zhí)行應(yīng)用程序經(jīng)歷的時(shí)鐘節(jié)拍數(shù)。3種性能指標(biāo)都可以用于描述應(yīng)用程序的執(zhí)行效率,反映編譯器的速度優(yōu)化性能及嵌入式計(jì)算機(jī)的處理器核心的指令處理能力。
(5)高速緩存未命中率(Cache Miss Rate)
其中Cache Miss為Cache未命中數(shù),Cache Access為Cache總的訪問次數(shù)。緩存未命中率(Cache MissRate)表示在應(yīng)用程序執(zhí)行過程中,訪問存儲(chǔ)器的性能,以及存儲(chǔ)器對(duì)處理器所需要使用到的指令、數(shù)據(jù)的高速支持能力,可以用來表征表示編譯器的數(shù)據(jù)分布、存儲(chǔ)器系統(tǒng)的組織和訪問優(yōu)化能力。
在以上5種性能指標(biāo)中,前3種可用于描述整個(gè)嵌入式系統(tǒng)、微處理器、編譯器、運(yùn)行庫的性能*測(cè)指標(biāo),后2種主要用于*測(cè)編譯器的優(yōu)化性能。除此以外,某些嵌入式應(yīng)用還需要使用其他性能指標(biāo),如總線/網(wǎng)絡(luò)帶寬(MBps)和浮點(diǎn)運(yùn)算速度(MFLOPS)等。
3嵌入式計(jì)算機(jī)設(shè)計(jì)中的常用測(cè)試方法
嵌入式計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中常用到的測(cè)試方法,可以是基于靜態(tài)分析的解析方法,也可以是進(jìn)行模擬仿真的方法,也可以是直接運(yùn)行應(yīng)用程序進(jìn)行測(cè)量的方法。
3.1? 解析法
采用分析技術(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)過測(cè)量方法的驗(yàn)證。使用解析法,進(jìn)行系統(tǒng)的性能* 價(jià),需要完備的性能*價(jià)模型。這方面,由于設(shè)計(jì)的層次(板級(jí)設(shè)計(jì)、芯片級(jí)設(shè)計(jì)、系統(tǒng)級(jí)SoC設(shè)計(jì)等)不同,需要建立的*測(cè)模型也各不相同。往往會(huì)有面積的 *測(cè)模型、功耗的*測(cè)模型等。
3.2模擬法
按照被*價(jià)的系統(tǒng)的運(yùn)行特性建立一個(gè)系統(tǒng)模型,按照系統(tǒng)可能有的工作負(fù)載特性,建立工作負(fù)載模型并編制出模擬程序,在被*價(jià)系統(tǒng)上運(yùn)行模擬程序,并通過在其他的系統(tǒng)上運(yùn)行這一模擬程序,通過程序在不同系統(tǒng)運(yùn)行獲得的性能參數(shù)對(duì)比,就可以得出設(shè)計(jì)的優(yōu)劣。模擬法也用于系統(tǒng)的設(shè)計(jì)階段。軟件模擬的方法,往往會(huì)帶來的誤差,建立的工作負(fù)載模型不可能對(duì)結(jié)果具有相接的影響,使得這一方法得到的結(jié)果往往不能如實(shí)地反應(yīng)系統(tǒng)設(shè)計(jì)的真實(shí)性能。
3.3? 測(cè)量方法
測(cè)量技術(shù)是對(duì)投入運(yùn)行的現(xiàn)有嵌入系統(tǒng)進(jìn)行直接測(cè)量,因此它的結(jié)論是真實(shí)、精確和可信的。分析、模擬技術(shù)是基于對(duì)以前的測(cè)量結(jié)果積累歸納得來的,所以說測(cè)量是最基本的*價(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)成
4.1 性能測(cè)試原理
嵌入式系統(tǒng)由硬件子系統(tǒng)和軟件子系統(tǒng)2部分組成。硬件子系統(tǒng)包括微處理器內(nèi)核、高速緩存、存儲(chǔ)器、外設(shè)接口等,這些邏輯功能部件通常集成在一個(gè)嵌入式處理器(Embedded PROCESSor) 中。軟件子系統(tǒng)包括嵌入式操作系統(tǒng)(RTOS)、中間件(Middle Ware)、嵌入式編譯器(Compiler)和運(yùn)行庫(Runtime Library)等。嵌入式應(yīng)用程序的可執(zhí)行代碼通常包括3部分:編譯應(yīng)用程序生成的目標(biāo)代碼、鏈接程序從運(yùn)行庫中提取的庫例程代碼和操作系統(tǒng)功能調(diào)用。一個(gè)嵌入式應(yīng)用程序(Application)的執(zhí)行時(shí)間(Execution Time)受上述多種因素的影響,可用以下函數(shù)描述:
Execution Time(Application)=f(EPROCESSor,RTOS,MiddleWare,Compiler,Library)
上述函數(shù)的5個(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é)果,可以*測(cè)不同嵌入式微處理器的性能差異;
(2)改變RTOS,保持PROCESSor不變,以*測(cè)不同RTOS的性能差異;
(3)改變Compiler,保持其他參數(shù)不變,可*測(cè)嵌入式編譯系統(tǒng)編譯優(yōu)化能力;
(4)改變Library,保持其他參數(shù)不變,可以*測(cè)不同運(yùn)行庫的性能;
(5)比較兩個(gè)個(gè)嵌入式平臺(tái)的性能指標(biāo),可以*測(cè)二者的性能差異;
(6)將執(zhí)行測(cè)試基準(zhǔn)程序獲得的性能指標(biāo)與嵌入式應(yīng)用要求的性能指標(biāo)進(jìn)行比較,可以*測(cè)嵌入式系統(tǒng)性能是否滿足應(yīng)用需求。
4.2性能*測(cè)環(huán)境
嵌入式系統(tǒng)性能*測(cè)環(huán)境,通常包括用于嵌入式系統(tǒng)*測(cè)的測(cè)試主機(jī)和將要被測(cè)*的嵌入式系統(tǒng),基本結(jié)構(gòu)如圖1所示。
測(cè)試主機(jī)運(yùn)行測(cè)試管理控制程序,控制性能測(cè)試過程的執(zhí)行,編譯、加載和啟動(dòng)性能測(cè)試基準(zhǔn)程序,收集性能數(shù)據(jù),分析測(cè)試結(jié)果,生成測(cè)試報(bào)告。被測(cè) *的嵌入式系統(tǒng)則運(yùn)行下載的測(cè)試基準(zhǔn)程序,測(cè)定和采集性能數(shù)據(jù),并通過測(cè)試代理反饋給測(cè)試主機(jī)。兩者之間通過某種連接(如串口、以太網(wǎng)等)方式,進(jìn)行數(shù)據(jù)的通信與交互。
4.3性能測(cè)試過程
建立好測(cè)試環(huán)境后,性能測(cè)試過程描述如下:
(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)通過測(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ù);
(5)測(cè)試代理將測(cè)試結(jié)果和性能數(shù)據(jù)發(fā)回測(cè)試主機(jī);
(6)測(cè)試管理控制程序調(diào)用性能分析程序,分析和處理測(cè)試結(jié)果和性能數(shù)據(jù),生成測(cè)試報(bào)告。
5性能基準(zhǔn)程序測(cè)試方法
在計(jì)算機(jī)設(shè)計(jì)中用到的性能基準(zhǔn)程序,是以單個(gè)某一領(lǐng)域典型的一個(gè)計(jì)算任務(wù)或者一組計(jì)算任務(wù)采用某種語言編寫的程序的形式出現(xiàn),它可以用來度量計(jì)算機(jī)系統(tǒng)或構(gòu)件性能的在某一領(lǐng)域的典型計(jì)算性能。用來進(jìn)行性能*測(cè)的基準(zhǔn)程序,可以稱為工作負(fù)載。在基準(zhǔn)程序中,必須明確規(guī)定所選用的基準(zhǔn)程序及其特性、運(yùn)行方式,并規(guī)定*估指標(biāo)體系。一般需要重復(fù)多次運(yùn)行基準(zhǔn)程序,對(duì)獲取的性能指標(biāo)進(jìn)行統(tǒng)計(jì)分析后,才能獲得有意義的*測(cè)結(jié)果。
性能基準(zhǔn)程序*價(jià)法是采用軟件的方法*測(cè)系統(tǒng)的性能,其較高的靈活性、較低成本加上易于在線實(shí)現(xiàn)的特性,使這一方法成為普遍流行的*測(cè)方法。但是通過軟件得到的測(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ǔ)硬件方法所不能解決的問題缺點(diǎn)。
性能基準(zhǔn)程序測(cè)試系統(tǒng)性能的常見方法有:時(shí)鐘頻率、指令執(zhí)行速度、等效指令速度方法、核心程序法、綜合程序法、應(yīng)用程序法等。時(shí)鐘頻率、指令執(zhí)行速度、等效指令速度法屬于計(jì)算機(jī)發(fā)展初期階段常用的手段,隨著計(jì)算機(jī)系統(tǒng)復(fù)雜性的提高,這幾類方法不能反映系統(tǒng)的整體性能;核心程序法、綜合程序法占用內(nèi)存空間較小,在有Cache的系統(tǒng)中只能測(cè)量系統(tǒng)的CPIJ性能。
用于計(jì)算機(jī)性能*測(cè)的基準(zhǔn)程序法可以分為兩種:測(cè)量系統(tǒng)級(jí)參數(shù)(如響應(yīng)時(shí)間、上下文切換時(shí)間等)的微觀基準(zhǔn)程序,以計(jì)算任務(wù)提供的工作負(fù)載、通過工作負(fù)載的運(yùn)行得到待測(cè)系統(tǒng)宏觀方面參數(shù)(如任務(wù)執(zhí)行時(shí)間)的宏觀基準(zhǔn)程序。以被測(cè)試對(duì)象來對(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)用軟件(包括開發(fā)工具)。這樣,嵌入式系統(tǒng)的性能基準(zhǔn)程序可分為如下3類:
(1)面向微處理機(jī)的基準(zhǔn)程序,主要是為了幫助設(shè)計(jì)人員合理地選擇嵌入式微控制器、通用微處理機(jī)或DSP;
(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ì)來講用的就比較少。這一方面,在嵌入式系統(tǒng)的應(yīng)用與設(shè)計(jì)越來越成熟的情況下,會(huì)在不久的將來有所改變。
5.1通用性能基準(zhǔn)程序
5.1.1? SPEC
SPEC(the Standard Performance Evaluation Corporation)是為了建立、維護(hù)并許可一組被標(biāo)準(zhǔn)化的相關(guān)的性能基準(zhǔn)程序的非盈利性組織,該組性能基準(zhǔn)程序主要用于*測(cè)最新的高性能計(jì)算機(jī),以對(duì)VAX11/780機(jī)的測(cè)試結(jié)果作為基數(shù),其他計(jì)算機(jī)的測(cè)試結(jié)果以相對(duì)于這個(gè)基數(shù)的比率來表示。SPEC性能基準(zhǔn)程序分為CPU、高性能計(jì)算、圖形應(yīng)用、Java客戶/服務(wù)器、郵件服務(wù)器、網(wǎng)絡(luò)文件系統(tǒng)、網(wǎng)站服務(wù)器幾大類。
CPU2000是SPEC中測(cè)量CPU功能的最新版性能基準(zhǔn)程序組,目的是為不同計(jì)算機(jī)系統(tǒng)計(jì)算密集型的工作負(fù)載提供性能*估的測(cè)量工具, SPEC CPU 2000包含2組性能基準(zhǔn)程序:CINT2000測(cè)量比較計(jì)算密集型定點(diǎn)運(yùn)算,CFP2000測(cè)量比較計(jì)算密集型浮點(diǎn)運(yùn)算。最新版本為CPU2000 V1.3。CPU2000為被測(cè)系統(tǒng)提供性能參數(shù),主要測(cè)量系統(tǒng)的處理器、內(nèi)存以及編譯器性能。
5.1.2? TPC
TPC(Transaction PROCESSing Council)成立于1988年,已有40多個(gè)成員,TPC系列基準(zhǔn)是現(xiàn)在流行的商業(yè)基準(zhǔn)組,主要服務(wù)器和數(shù)據(jù)庫企業(yè)都派代表加入了這一組織,用于*測(cè)計(jì)算機(jī)的事務(wù)處理、數(shù)據(jù)庫處理、企業(yè)管理與決策支持等方面的性能。TPC不給出基準(zhǔn)程序的代碼,而只給出基準(zhǔn)程序的標(biāo)準(zhǔn)規(guī)范(Standard Specification)。任何廠家或其他測(cè)試者都可以根據(jù)規(guī)范,最優(yōu)地構(gòu)造出自己的系統(tǒng)(測(cè)試平臺(tái)和測(cè)試程序)。19*以來相繼發(fā)表的TPC基準(zhǔn)測(cè)試程序包括TPC-A,TPC-B,TPC-C,TPC-D,TPC-W,TPC-R和TPC-H等。其中TPC-A用于在線事務(wù)處理下更新密集的數(shù)據(jù)庫環(huán)境下的性能測(cè)試,TPC-B用于數(shù)據(jù)庫系統(tǒng)及運(yùn)行它的操作系統(tǒng)的核心性能測(cè)試,TPC-C則用于在線事務(wù)處理測(cè)試。有2種*價(jià)指標(biāo):吞吐率 (Throughput,tpmC)、性價(jià)比(Price/Perform-ance,Price/tpmC)。tpmC定義:TPC-C的吞吐量,按有效TPC-C配置期間每分鐘處理的平均交易次數(shù)測(cè)量,至少要運(yùn)行12 min。TPC-D用于決策支持系統(tǒng)測(cè)試,TPC-H是基于TPC-D基礎(chǔ)上決策支持基準(zhǔn)測(cè)試,TPC-W是用于電子商務(wù)應(yīng)用軟件測(cè)試。
5.1.3? Whetstone
它是用FORTRAN語言編寫的綜合性測(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)程序Hartstone中被調(diào)用。
5.1.4? Lmbench
Lmbench性能基準(zhǔn)程序通過運(yùn)行大量的程序,測(cè)試大多數(shù)公認(rèn)的有可能成為性能瓶頸的重要參數(shù),這些參數(shù)通過幾組微觀性能基準(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í)與帶寬。
5.2嵌入式系統(tǒng)設(shè)計(jì)中的實(shí)時(shí)性能測(cè)試基準(zhǔn)程序
5.2.1 Rhealstone
Rhealstone性能基準(zhǔn)程序是一組由6個(gè)C語言程序組成的程序集,通過這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)平均值,但沒有給出確定權(quán)值的依據(jù)。
5.2.2 EEMBC
EEMBC(Embedded MicroPROCESSor BenchmarkConsortiurn)性能基準(zhǔn)程序采用具有代表性的真實(shí)應(yīng)用中的基本算法與功能函數(shù),目的是為不同嵌入式計(jì)算機(jī)提供*價(jià)性能的參數(shù)。最新的EEMBC性能基準(zhǔn)程序涵蓋7類應(yīng)用領(lǐng)域:電信、電子產(chǎn)品、網(wǎng)絡(luò)、辦公自動(dòng)化、自動(dòng)化與工業(yè)控制、數(shù)字娛樂、車載系統(tǒng)與Java,后兩類是新加入的。EEMBC性能基準(zhǔn)程序?qū)儆谏逃眯阅芑鶞?zhǔn)程序,參照EEMBC的設(shè)計(jì)思路,源代碼公開的Mibench分為6類,較多的用于學(xué)術(shù)研究領(lǐng)域。
5.2.3? Hartstone
Hartstone性能基準(zhǔn)程序由美國Carnegie Mellon大學(xué)用Ada語言編寫,是依據(jù)需求構(gòu)成的一組合成應(yīng)用,選用Whetstone性能基準(zhǔn)程序作為合成工作負(fù)載,目的是測(cè)量硬實(shí)時(shí)系統(tǒng)。 Hartstone性能基準(zhǔn)程序需要不同測(cè)試序列,每個(gè)測(cè)試序列中的測(cè)試結(jié)果只有2種情況:滿足或者不滿足時(shí)間限制。若任一個(gè)程序不滿足時(shí)限,那么測(cè)試結(jié)論就是“不通過”。共有5種測(cè)試序列:任務(wù)周期有規(guī)律的周期性任務(wù)、任務(wù)周期無規(guī)律的周期性任務(wù)、任務(wù)周期有規(guī)律但非周期性處理的周期性任務(wù)、任務(wù)周期有規(guī)律有同步的周期性任務(wù)、任務(wù)周期有規(guī)律有同步但非周期性處理的周期性任務(wù)。
現(xiàn)有的性能基準(zhǔn)程序從構(gòu)建方法上來看,有的通過應(yīng)用類別選取典型應(yīng)用構(gòu)建工作負(fù)載(如SPEC,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ò)充;有的通過測(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ù)載,(如TPC,Hartstone等),該類性能基準(zhǔn)程序能夠從宏觀上觀察系統(tǒng)在模擬工作負(fù)載下的表現(xiàn),具有較高的實(shí)用價(jià)值,構(gòu)建該類性能基準(zhǔn)程序的難點(diǎn)在于如何真實(shí)地反應(yīng)系統(tǒng)的實(shí)際工作負(fù)載。
5.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)入到SoC的設(shè)計(jì)時(shí)代,將一個(gè)嵌入式系統(tǒng)的軟件、硬件子系統(tǒng)在系統(tǒng)級(jí)的體系結(jié)構(gòu)優(yōu)化、劃分后,使用硬件描述語言和軟件開發(fā)語言分別設(shè)計(jì)出嵌入式系統(tǒng)的硬件組成部分和軟件組成部分。嵌入式計(jì)算機(jī)設(shè)計(jì)到了SoC設(shè)計(jì)時(shí),同時(shí)意味著嵌入式計(jì)算機(jī)的設(shè)計(jì)進(jìn)入到了系統(tǒng)級(jí)的設(shè)計(jì)時(shí)代。對(duì)于SoC這種系統(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)。
E3S就是Princeton大學(xué)的CAD研究項(xiàng)目中用于進(jìn)行嵌入式系統(tǒng)級(jí)設(shè)計(jì)過程中,進(jìn)行系統(tǒng)級(jí)綜合(System Level Synthesis)的設(shè)計(jì)測(cè)試基準(zhǔn)程序。E3S,依據(jù)嵌入式微處理器測(cè)試基準(zhǔn)(Embedded MicroPROCESSor Benchmark Consortium,EEMBC)中對(duì)嵌入式微處理器和用來測(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è)過程:系統(tǒng)級(jí)任務(wù)的分配(Allocation)、指派(Assignment)、調(diào)度 (Scheduling),提供測(cè)試的基準(zhǔn)。目前的最新版本是V0.9版,可以對(duì)17種微處理器,像AMD ElanSC520,Analog Devices 21065L,Motorola MPC555,TI TMS320C6203等進(jìn)行測(cè)試。測(cè)試的數(shù)據(jù),像處理器的性能以47個(gè)典型計(jì)算任務(wù)的執(zhí)行時(shí)間度量,功耗數(shù)據(jù)則參照處理器的設(shè)計(jì)文檔 (Datasheets),另外,提供給系統(tǒng)級(jí)綜合工具的附加測(cè)試信息,如硅片尺寸以及其他用于系統(tǒng)級(jí)綜合*估(Estimated)的數(shù)據(jù)和價(jià)格 (Prices),則通過咨詢多個(gè)處理器提供商取得。另外,E3S包含著相應(yīng)的系統(tǒng)級(jí)通信模型,用于系統(tǒng)級(jí)設(shè)計(jì)過程中的測(cè)試基準(zhǔn)程序?qū)Χ喾N不同總線,如 CAN,IEEE1394,PCI,USB 2.0,VME等進(jìn)行建模和*測(cè)。
6結(jié)? 語
隨著嵌入式計(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)行早期的性能*價(jià),目前在國外,已經(jīng)應(yīng)用于早期設(shè)計(jì)階段的系統(tǒng)級(jí)性能*測(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)程序來作測(cè)試*測(cè)的標(biāo)準(zhǔn)??梢灶A(yù)見,在未來幾年里,測(cè)試基準(zhǔn)程序和針對(duì)嵌入式計(jì)算機(jī)設(shè)計(jì)的性能測(cè)試基準(zhǔn)程序,將會(huì)在系統(tǒng)設(shè)計(jì)過程中的更早階段——系統(tǒng)級(jí)構(gòu)架優(yōu)化與性能測(cè)度方面,取得很大的發(fā)展。
評(píng)論
查看更多