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