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