馬 躍,柴安穎,尹震宇,李明時,王春曉,李 鎖
(中國科學(xué)院大學(xué),北京 100049) (中國科學(xué)院 沈陽計算技術(shù)研究所,沈陽 110168)
自主可控高性能處理器芯片是實(shí)施制造強(qiáng)國和網(wǎng)絡(luò)強(qiáng)國戰(zhàn)略的重要保障,本文依托“核高基”國家專項(xiàng)形成的CPU等軟硬件成果,開展基于安全可控CPU芯片性能測試與評估,以確保嵌入式處理器的可預(yù)測性能.文獻(xiàn)[1]提出一種自底向上的嵌入式Linpack基準(zhǔn)測試模型,解決了測試過程中,現(xiàn)有的線性代數(shù)并行化技術(shù)限制處理器發(fā)揮最優(yōu)性能的問題[1].文獻(xiàn)[2]提出了一種基于HPL的能耗預(yù)測分析模型,將派生模型集成到操作系統(tǒng)或隊(duì)列管理器的調(diào)度程序中,高效完成了目標(biāo)體系結(jié)構(gòu)能量消耗及性能評估工作[2];文獻(xiàn)[3]以基準(zhǔn)表征技術(shù)為核心,研究分析EEMBC嵌入式基準(zhǔn)測試套件的壓力點(diǎn),驗(yàn)證了基準(zhǔn)測試對處理器性能評估的完整性和準(zhǔn)確性[3];文獻(xiàn)[4]針對LoadRunner不能真實(shí)反映用戶體驗(yàn)時間,無法直接用于基于國產(chǎn)CPU/OS的信息系統(tǒng)的問題,提出基于LoadRunner和JMeter的國產(chǎn)信息系統(tǒng)性能測試方案,大大提高了測試精準(zhǔn)度[4];文獻(xiàn)[5]通過分析大規(guī)模Linpack時間開銷,建立一種并行性能模型,對矩陣規(guī)模、網(wǎng)絡(luò)帶寬、下三角方程求解效率以及矩陣乘法效率的改變對Linpack并行性能具有較好的預(yù)估[5];文獻(xiàn)[6]針對六個節(jié)點(diǎn)的集群進(jìn)行測試,從不同方面將單機(jī)與集群的計算性能進(jìn)行對比,評估集群并行計算性能的優(yōu)越性,證明了集群的并行計算能力在實(shí)際地震大數(shù)據(jù)計算中的可靠性與穩(wěn)定性[6].國外針對CPU性能測試推出了如Linpack、EEMBC、SysBench及Dhrystone等基準(zhǔn)測試程序,對處理器性能進(jìn)行評估.Linpack測試通過對稠密線性代數(shù)方程組求解能力的測試,測試不同問題規(guī)模下浮點(diǎn)運(yùn)算次數(shù),來評價處理器處理性能.EEMBC由5個套件組成,分別用于測試汽車工業(yè)、消費(fèi)電子、網(wǎng)絡(luò)交換、辦公自動化以及電信類領(lǐng)域的CPU性能.SysBench為多線程的Linux測試工具,可以對CPU、內(nèi)存、數(shù)據(jù)庫等多方面性能進(jìn)行評估.Dhrystone以每秒鐘運(yùn)行Dhrystone的次數(shù)為指標(biāo),通過循環(huán)執(zhí)行主程序次數(shù),來改變CPU運(yùn)算規(guī)模,測試處理器性能.
但在實(shí)際應(yīng)用過程中,Linpack和EEMBC需要很多l(xiāng)inux標(biāo)準(zhǔn)軟件庫來支撐測試程序的復(fù)雜計算,由于當(dāng)前國內(nèi)各平臺CPU生態(tài)鏈不完善,軟件庫支持欠缺[8],國產(chǎn)系統(tǒng)無法提供Linpack和EEMBC理想的運(yùn)行環(huán)境.SysBench雖能簡單測試處理器性能,但測試方法更偏向于系統(tǒng)性能測試,無法滿足處理器性能測試的專一性需求.Dhrystone雖然包含了處理器整數(shù)運(yùn)算、邏輯運(yùn)算、字符串處理以及存儲器訪問等方面的性能測試,但缺少針對處理器浮點(diǎn)運(yùn)算測試方法.上述測試基準(zhǔn)在國產(chǎn)處理器架構(gòu)下測試結(jié)果并不理想.
基于以上問題,本文提出一種基于收斂策略的國產(chǎn)CPU性能測試模型,優(yōu)化模型整體架構(gòu),設(shè)計起始運(yùn)算規(guī)模評估模塊,采用三種模塊綜合評估處理器浮點(diǎn)運(yùn)算性能,提高測試數(shù)據(jù)的準(zhǔn)確性[11],分別在龍芯2H1000和北大眾志PKUnity-3-HD65兩種不同指令集架構(gòu)的處理器上進(jìn)行性能測試,驗(yàn)證了模型準(zhǔn)確性與高效性.
Dhrystone是Reinhold P.Weicker于1984年開發(fā)的一種綜合測試基準(zhǔn)程序,是測量處理器運(yùn)算能力的最常見基準(zhǔn)程序之一,逐漸成為通用處理器性能的代表.Dhrystone開發(fā)之初只有100多條語句,測試集包含了整數(shù)運(yùn)算、邏輯運(yùn)算、字符串處理以及存儲器訪問等操作,在測試程序中執(zhí)行主程序循環(huán),將處理器執(zhí)行循環(huán)迭代的平均時間作為Dhrystone測試結(jié)果.Dhrystone是人們進(jìn)行嵌入式系統(tǒng)性能評測的主要性能測評工具,眾多處理器廠商均將其作為測試基準(zhǔn),對處理器進(jìn)行性能測試并公布測試結(jié)果.
Dhrystone的計量單位為每秒鐘運(yùn)行Dhrystone的次數(shù),即每秒鐘迭代主循環(huán)的次數(shù),之后規(guī)定以VAX-11/780機(jī)器上1757 Dhrystones/s為1 Dhrystone MIPS(DMIPS).Dhrystone為綜合性代碼,測試程序使用靜態(tài)程序模仿處理器大概率執(zhí)行的程序,可移植性強(qiáng),適用于絕大多數(shù)處理器,在一定程度上能夠反映微處理器運(yùn)算性能,能作為處理器整數(shù)計算性能的指標(biāo).但是Dhrystone存在代碼量過小、數(shù)據(jù)過小的問題,無法更為全面地說明嵌入式處理器性能特征,也無法充分展現(xiàn)國產(chǎn)處理器綜合性能.
Whetstone是評價計算機(jī)性能的綜合基準(zhǔn),由H J.Curnow和B A.Wiehmarm于1976年開發(fā),是ALGOL語句混合(statement mix)的一種發(fā)展.在開發(fā)之初,Wichmann在NPL和牛津大學(xué)對949個程序進(jìn)行了分析,得到關(guān)于程序的靜態(tài)和動態(tài)統(tǒng)計數(shù)據(jù),然后計算不同指令出現(xiàn)頻度,設(shè)計出的一種合成基準(zhǔn)程序.Whetstone的設(shè)計綜合了基準(zhǔn)測試程序的簡單性和復(fù)雜性兩種要求,既具備程序代碼的簡易性,易于跨平臺移植,又不失運(yùn)算復(fù)雜度.另外,該測試基準(zhǔn)編譯程序能夠完全利用快速寄存器作為臨時數(shù)據(jù)存貯,實(shí)現(xiàn)極高速的運(yùn)行速度,對科學(xué)計算型應(yīng)用有較強(qiáng)的代表性.
Whetstone基準(zhǔn)測試集以處理器測試需求為前提分別劃分了浮點(diǎn)運(yùn)算、整數(shù)算術(shù)運(yùn)算、功能調(diào)用、數(shù)組變址、條件轉(zhuǎn)移以及超越函數(shù)等模塊來進(jìn)行處理器性能測試.主程序單次循環(huán)中各模塊可多次運(yùn)行,模塊結(jié)構(gòu)和循環(huán)次數(shù)的設(shè)計與Wichmann對whetstone指令頻度和案例程序研究成果一致,模塊的每次運(yùn)行產(chǎn)生不同的結(jié)果,但能保證運(yùn)算不產(chǎn)生數(shù)值溢出,Whetstone的測試結(jié)果用MWIPS表示,1MWIPS表示機(jī)器每秒鐘能執(zhí)行百萬條Whetstone指令.Whetstone以多種運(yùn)算性能結(jié)果作為處理器最終性能指標(biāo),相較于Dhrystone加入浮點(diǎn)運(yùn)算測試,在處理器性能測試方面更為綜合與精確.但在實(shí)際應(yīng)用過程中,Whetstone在對處理器進(jìn)行循環(huán)次數(shù)較少的小規(guī)模運(yùn)算測試時,測試結(jié)果誤差較大,無法體現(xiàn)目標(biāo)處理器真實(shí)性能,在國產(chǎn)處理器測試中難以達(dá)到理想效果.
本文以Whetstone基準(zhǔn)測試方法為研究基礎(chǔ),優(yōu)化測試模型框架,提出一種基于收斂策略的國產(chǎn)CPU性能測試模型,模型內(nèi)各模塊測試方法均遵循收斂原則,以防止大規(guī)模運(yùn)算下數(shù)值溢出,設(shè)計并加入起始運(yùn)算規(guī)模評估模塊,提高起始測試數(shù)據(jù)的準(zhǔn)確性,采用三種模塊綜合評估處理器浮點(diǎn)運(yùn)算性能,在確保測試方法的收斂性前提下,保證性能測試的全面性[12].
本文測試模型分為10個主要模塊,圖1為測試模型結(jié)構(gòu)圖.模型最初通過起始運(yùn)算規(guī)模評估模塊,推算出適合CPU計算規(guī)模的起始大小,然后分別通過8個模塊測試CPU各性能參數(shù),表1為Whetstone測試基準(zhǔn)對8個測試模塊每執(zhí)行一次循環(huán)計算應(yīng)執(zhí)行的計算規(guī)模大小的定義.
在表1中,MFLOP 1、MFLOP 2和MFLOP 3模塊分別測試CPU浮點(diǎn)性能[13],IF MOPS模塊為條件判斷測試,F(xiàn)IXPT MOPS模塊為整型數(shù)運(yùn)算測試,COS MOPS模塊實(shí)現(xiàn)了三角函數(shù)運(yùn)算測試,EQUAL模塊和EXP MOPS模塊分別實(shí)現(xiàn)了過程調(diào)用和標(biāo)準(zhǔn)函數(shù)運(yùn)算測試.
各模塊將實(shí)測計算時間、模型運(yùn)行總時間、各模塊Whetstone指令執(zhí)行數(shù)量以及模型執(zhí)行Whetstone指令總數(shù)等實(shí)測性能參數(shù)傳遞給CPU性能綜合模塊,得出最終評測結(jié)果.Whetstone測試基準(zhǔn)以每秒所能執(zhí)行的Whetstone指令數(shù)量(MWIPS)作為衡量CPU性能的綜合標(biāo)準(zhǔn),以MWIPS為CPU性能標(biāo)準(zhǔn),實(shí)現(xiàn)國產(chǎn)CPU在工業(yè)控制領(lǐng)域的選型及驗(yàn)證,并通過對比模型中各模塊執(zhí)行時間比率,進(jìn)一步分析CPU在超過計算閾值后性能迅速下降原因.
圖1 測試模型結(jié)構(gòu)圖Fig.1 Test model structure diagram
表1 各測試模塊介紹
Table 1 Description of each test module
NumberTestModuleFunctionOperationScale1MFLOP1floating12*loop2MFLOP2floatingpoint14*loop3IFMOPSifthenelse345*loop4FIXPTMOPSfixedpoint210*loop5COSMOPSsin,cosetc.32*loop6MFLOP3floatingpoint899*loop7EQUALassignments616*loop8EXPMOPSexp,sqrtetc.93*loop
(1)
MFLOP 1模塊和MFLOP 2模塊為CPU浮點(diǎn)性能測試部分.在MFLOP 1模塊中,E1為模型運(yùn)算的一元數(shù)組,為運(yùn)算提供初始數(shù)據(jù),γ為模型計算因子,在測試過程中調(diào)節(jié)大規(guī)模運(yùn)算下計算結(jié)果的波動范圍.具體實(shí)現(xiàn)方法,如公式(2).為提高模型評估精度,本模型將元數(shù)組e1內(nèi)各元素均設(shè)為1.0,計算因子γ設(shè)為0.4999975,保證了浮點(diǎn)測試方法的收斂性,避免程序因大量循環(huán)計算而出現(xiàn)溢出的現(xiàn)象,使CPU浮點(diǎn)運(yùn)算得到更好發(fā)揮.MFLOP 2模塊測試思想與MFLOP 1類似,但MFLOP 2模塊運(yùn)算規(guī)模比MFLOP 1模塊高6倍,且加入?yún)?shù)調(diào)用方法PA(e1[]),調(diào)節(jié)模型對CPU過程調(diào)用測試的比例,來更為精確地評估CPU綜合性能.模型執(zhí)行一次循環(huán)時,MFLOP 1模塊和MFLOP 2模塊運(yùn)算規(guī)模分別為12*loop和14*loop.
(2)
IF MOPS模塊為模型條件轉(zhuǎn)移測試部分,該模塊測試方法具備模型運(yùn)算收斂性,通過條件轉(zhuǎn)移語句中變量的特殊賦值,保證測試程序始終在規(guī)定范圍內(nèi)執(zhí)行.圖2為條件轉(zhuǎn)移測試具體實(shí)現(xiàn)方案,變量j取值較為固定,每執(zhí)行一次循環(huán)需進(jìn)行三次條件判斷,該選擇判斷方法構(gòu)成一種閉環(huán)結(jié)構(gòu),使運(yùn)算過程始終保持收斂,滿足CPU測試中條件轉(zhuǎn)移的性能評估要求.模型執(zhí)行一次循環(huán),該模塊運(yùn)算規(guī)模為345*loop.
圖2 IF MOPS模塊測試原理圖
Fig.2 IF MOPS module test schematic diagram
FIXPT MOPS模塊為模型定點(diǎn)運(yùn)算測試部分,該模塊包含整數(shù)基本運(yùn)算類型,同時包含數(shù)組賦值操作,如公式(3)所示.該測試方法依然遵循基準(zhǔn)測試的收斂性原則,針對模塊實(shí)現(xiàn)方法中3種參數(shù)運(yùn)算規(guī)則,將各參數(shù)設(shè)定為符合運(yùn)算收斂性的定值,參數(shù)賦值說明如下,將j賦值為1,k賦值為2,l賦值為3.模型執(zhí)行一次循環(huán),該模塊運(yùn)算規(guī)模為210*loop.在模型每次循環(huán)中均無算術(shù)溢出現(xiàn)象,既保證了模型整形數(shù)運(yùn)算量,又在其基礎(chǔ)上避免了模型運(yùn)行崩潰.
(3)
COS MOPS模塊為模型三角函數(shù)運(yùn)算測試部分,該模塊測試方案以Whetstone測試基準(zhǔn)中數(shù)據(jù)分析結(jié)果為基礎(chǔ),研究模型中arctan、sin及cos三角函數(shù)運(yùn)算應(yīng)占運(yùn)算比例,設(shè)計出該計算方法,以三角函數(shù)和反三角函數(shù)作為計算支撐,如公式(4)所示.經(jīng)分析與驗(yàn)證,在模型循環(huán)計算過程中,將計算因子μ和φ分別設(shè)定值為0.49975和1.0,且計算參數(shù)x和y分別設(shè)置為1.0,兩項(xiàng)公式最終運(yùn)算結(jié)果趨近于初值,保證了模型大規(guī)模計算無算數(shù)溢出現(xiàn)象.模型執(zhí)行一次循環(huán),該模塊運(yùn)算規(guī)模為32*loop.
(4)
MFLOP 3模塊為模型過程調(diào)用測試部分,該模塊包含基準(zhǔn)測試中的參數(shù)尋址測試,且補(bǔ)充了性能測試中對浮點(diǎn)運(yùn)算的評估方法,具體實(shí)現(xiàn)在P3()函數(shù)中,如公式(5).該模塊算法本身具有收斂性,將計算因子μ和ρ分T別設(shè)定值為0.49975和2.0,同時將參數(shù)x1和y1值賦值為1.0,x1、y1和z經(jīng)過模型循環(huán)計算之后,數(shù)值維持在穩(wěn)定區(qū)間,模型執(zhí)行一次循環(huán),該模塊運(yùn)算規(guī)模為899*loop.
(5)
EQUAL模塊為模型數(shù)組運(yùn)算測試部分,該模塊測試方案以Whetstone測試基準(zhǔn)所定義的數(shù)組循環(huán)比例為依據(jù),通過調(diào)用P0()函數(shù),完成數(shù)組間相互賦值,從而實(shí)現(xiàn)數(shù)組運(yùn)算的大數(shù)循環(huán),保證了性能測試的全面性,該測試方法具備模型運(yùn)算收斂性,如公式(6).模型執(zhí)行一次循環(huán),該模塊運(yùn)算規(guī)模為616*loop.
(6)
EXP MOPS模塊為模型標(biāo)準(zhǔn)函數(shù)運(yùn)算測試部分,該測試方法包含平方根計算、指數(shù)運(yùn)算和對數(shù)運(yùn)算,見公式(7).將模型計算因子σ賦值0.50025,方法參數(shù)x為0.75,當(dāng)模型進(jìn)行大數(shù)循環(huán),運(yùn)算所得結(jié)果維持在較為穩(wěn)定的區(qū)間,模型執(zhí)行一次循環(huán),該模塊運(yùn)算規(guī)模為93*loop,滿足模型標(biāo)準(zhǔn)函數(shù)運(yùn)算的測試要求.
(7)
CPU性能評估模塊將以上8個模塊測試所得數(shù)據(jù)進(jìn)行分析處理,最終得出CPU性能評估結(jié)果.在測試模型中,8個模塊所設(shè)計的運(yùn)算方式,均能夠保證模型算法的收斂性,即使模型迭代量增加,各模塊中運(yùn)算結(jié)果的收斂曲線依舊趨于平穩(wěn),各計算值都趨于定值,保證了測試的穩(wěn)定性.
本文以基于收斂策略的國產(chǎn)CPU性能測試模型作為測試基準(zhǔn),分別在龍芯2H1000和北大眾志PKUnity-3-HD65兩種不同指令集架構(gòu)下的處理器上進(jìn)行測試,與Dhrystone所測結(jié)果進(jìn)行對比,驗(yàn)證該模型測試方案的全面性與優(yōu)越性[14].
本文通過模型時間評估模塊完成兩款處理器的時間評估,得到CPU測試的運(yùn)算起始規(guī)模,從而保證測試結(jié)果更為精準(zhǔn)[15].在確定運(yùn)算起始規(guī)模過程中,本文共測試得出5組數(shù)據(jù),每組測試對時間評估模塊運(yùn)行次數(shù)不同,且每組模塊按100測試次數(shù)遞增,記錄各次CPU運(yùn)算時間及運(yùn)算規(guī)模值,最終以該組所有結(jié)果平均值作為模型起始運(yùn)算規(guī)模值.
在圖3和圖4中,從第一組100次測試所得結(jié)果到第五組500次測試所得結(jié)果趨勢可以看出,龍芯2H1000和北大眾志PKUnity-3-HD65所得運(yùn)算時間與起始運(yùn)算規(guī)模評估結(jié)果均較為平穩(wěn),由此可以得出,隨著測試次數(shù)的不斷增加,起始運(yùn)算規(guī)模結(jié)果維持在一個較為穩(wěn)定的區(qū)間.將5組數(shù)據(jù)的CPU運(yùn)算時間及運(yùn)算規(guī)模值取平均值,獲得最終的準(zhǔn)確結(jié)果,龍芯2H1000處理器執(zhí)行循環(huán)測試平均時間需0.9588s,并得到起始運(yùn)算規(guī)模(Init_Loop)不少于1044.8次;眾志PKUnity-3-HD65執(zhí)行循環(huán)測試平均時間需0.8246 s,得到起始運(yùn)算規(guī)模(Init_Loop)不少于1211.62次.
圖3 起始運(yùn)算規(guī)模變化圖Fig.3 Initial calculation scale change diagram
經(jīng)綜合評估后,在本次CPU性能測試過程中,為減少測試誤差,保證測試結(jié)果準(zhǔn)確性,將兩款CPU起始運(yùn)算規(guī)模設(shè)定為1500,并進(jìn)行下一步測試工作.
圖4 評估時間變化圖Fig.4 Evaluation time change diagram
運(yùn)用本文模型進(jìn)行CPU性能測試,相較于Dhrystone測試基準(zhǔn),該模型加入浮點(diǎn)運(yùn)算測試部分.以起始運(yùn)算規(guī)模為最初節(jié)點(diǎn),選取12個計算節(jié)點(diǎn),依次提高CPU計算量,測得不同指令集處理器各計算量下MWIPS值.
圖5 模型各計算量下CPU性能變化圖Fig.5 CPU performance change diagram of model under different calculations
圖5為各處理器綜合性能隨計算規(guī)模的增大變化圖,同時,運(yùn)用Dhrystone測試國產(chǎn)處理器并得出性能評估結(jié)果,圖6
圖6 Dhrystone各計算量下CPU性能變化圖Fig.6 CPU performance change diagram of Dhrystone under different calculations
為不同指令集架構(gòu)的處理器性能隨計算機(jī)規(guī)模增大變化圖.在浮點(diǎn)數(shù)運(yùn)算測試方面,與Dhrystone測試基準(zhǔn)相比,本模型將浮點(diǎn)運(yùn)算性能作為國產(chǎn)處理器綜合性能指標(biāo)之一,在圖5中龍芯和眾志處理器隨運(yùn)算規(guī)模的不斷增大,DMIPS值逐漸增加,龍芯2H1000在運(yùn)算規(guī)模達(dá)到50000時DMIPS值為1.25,此后性能趨于穩(wěn)定,PKUnity-3-HD65在運(yùn)算規(guī)模達(dá)到100000時DMIPS值1.43,此后性能趨于穩(wěn)定,且兩條曲線均無下滑現(xiàn)象.但圖5兩種處理器性能測試結(jié)果隨運(yùn)算規(guī)模不斷增大,出現(xiàn)性能下滑,結(jié)合表2和表3做出具體分析.
表2 龍芯2H1000性能測試結(jié)果
Table 2 Loongson 2H1000 performance test results
運(yùn)算規(guī)模模塊執(zhí)行時間(s)MFLOP1MFLOP2IFMOPSFIXPTMOPSCOSMOPSMFLOP3EQUALEXPMOPS模型執(zhí)行總時間(s)MWIPS15000.010.130.050.120.190.500.110.191.31114.4520000.010.170.080.160.220.680.140.261.73115.4350000.050.240.150.420.491.680.360.664.05123.39100000.100.410.270.850.923.360.721.327.94125.96500000.261.872.136.772.2516.803.616.6040.30124.081000000.564.112.577.993.8133.577.3513.2073.15136.712000000.968.215.1315.986.9467.1114.7126.48145.53137.433000001.4812.337.7024.0510.09100.6422.1039.65218.05137.584000001.95349.3610.2732.0113.21134.9629.6254.25625.6463.935000002.47824.2114.8439.9773.20172.3337.8468.021232.8940.56100000013.003236.8326.4983.49535.76342.6676.66136.474451.3622.4750000001409.6312148.10129.87405.214198.4875.38383.29671.2219037.8926.26
表3 眾志PKUnity-3HD65性能測試結(jié)果
Table 3 PKUnity-3HD65 performance test results
運(yùn)算規(guī)模模塊執(zhí)行時間(s)MFLOP1MFLOP2IFMOPSFIXPTMOPSCOSMOPSMFLOP3EQUALEXPMOPS模型執(zhí)行總時間(s)MWIPS15000.020.110.070.090.380.360.050.121.19126.3120000.020.140.100.100.400.420.060.161.41141.6850000.020.300.150.120.841.050.160.393.04164.58100000.080.430.230.251.562.080.320.785.73174.55500000.361.611.211.254.6210.461.613.9025.01199.931000000.532.662.282.508.3820.843.217.8048.20207.472000000.715.334.605.0115.7341.686.4216.2795.74208.903000001.187.996.887.5023.2362.539.6323.40142.34210.764000001.5010.989.1111.1030.5983.6112.8531.33191.07209.355000001.8314.0111.4312.5538.54104.4616.0939.91238.82209.36100000055.4698.3322.7725.0178.74419.6857.51112.29869.79185.605000000519.751026.00236.60250.07572.443908.06435.07513.767461.76111.67
在處理器性能穩(wěn)定區(qū)間內(nèi),根據(jù)表2和表3模型中各模塊處理時間,對CPU性能做出進(jìn)一步分析,由同等運(yùn)算規(guī)模下各模塊時間消耗可以看出,在條件轉(zhuǎn)移運(yùn)算和三角函數(shù)運(yùn)算方面,龍芯2H1000處理器性能表現(xiàn)更為優(yōu)越,但在浮點(diǎn)運(yùn)算、整型數(shù)運(yùn)算和標(biāo)準(zhǔn)函數(shù)運(yùn)算方面,PKUnity-3-HD65處理器展現(xiàn)出更好的計算能力.
實(shí)驗(yàn)結(jié)果表明,對于不同指令集架構(gòu)下的國產(chǎn)處理器,本模型能夠根據(jù)不同指令集架構(gòu)分別測得處理器性能指標(biāo)與最大閾值,分析國產(chǎn)處理器在模型各測試指標(biāo)下運(yùn)行狀況,在CPU浮點(diǎn)運(yùn)算測試方面,以三個模塊共同測試處理器浮點(diǎn)運(yùn)算性能,保證了模型性能測試的全面性,具備處理器測試的高效性與準(zhǔn)確性的特點(diǎn),對國產(chǎn)處理器復(fù)雜的測試任務(wù)實(shí)現(xiàn)了良好支撐.
圖7 不同計算量下浮點(diǎn)運(yùn)算時間占比圖Fig.7 Diagram of floating-point operation time ratios under different computation quantities
本文針對當(dāng)前各類基準(zhǔn)測試集無法對國產(chǎn)處理器實(shí)現(xiàn)精準(zhǔn)的性能評估的問題,提出一種基于收斂策略的國產(chǎn)CPU性能測試模型,將測試內(nèi)容模塊化,多方面對處理器性能進(jìn)行評估,測試方法遵循收斂性原則,避免大規(guī)模運(yùn)算下程序出現(xiàn)溢出現(xiàn)象,設(shè)計了起始運(yùn)算規(guī)模評估模塊,充分減小測試過程中的性能誤差,采用三種模塊綜合評估處理器浮點(diǎn)運(yùn)算性能,提高測試指標(biāo)的準(zhǔn)確性,將模型在不同指令集架構(gòu)的國產(chǎn)處理器下進(jìn)行驗(yàn)證,選取龍芯2H1000和北大眾志PKUnity-3-HD65分別進(jìn)行測試,以本模型性能指標(biāo)為標(biāo)準(zhǔn),分析并論證了龍芯2H1000以及北大眾志PKUnity-3-HD6兩款國產(chǎn)處理器在不同運(yùn)算規(guī)模下的性能變化原因,得到處理器性能穩(wěn)定區(qū)間,實(shí)驗(yàn)結(jié)果表明,模型在評估處理器性能參數(shù)及穩(wěn)定性方面優(yōu)勢明顯,實(shí)現(xiàn)了CPU浮點(diǎn)運(yùn)算、整數(shù)運(yùn)算等多種性能的綜合評估,具備性能測試的高效性與準(zhǔn)確性.在下一步工作中,將進(jìn)一步研究國產(chǎn)處理器特性,增強(qiáng)模型在特定指令集架構(gòu)下對處理器測試的適應(yīng)能力,并以本模型為基礎(chǔ)完成國產(chǎn)處理器在高通用接口擴(kuò)展測控單元和工業(yè)控制通信總線擴(kuò)展測控單元等芯片測試工作,充分保障國產(chǎn)處理器在工控領(lǐng)域的適配與應(yīng)用,為國產(chǎn)處理器在工業(yè)控制領(lǐng)域研發(fā)及應(yīng)用提供性能參照.