《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于龍芯2號(hào)處理器的SPEC 2000測(cè)試程序的分析與應(yīng)用
基于龍芯2號(hào)處理器的SPEC 2000測(cè)試程序的分析與應(yīng)用
現(xiàn)代電子技術(shù)
王全勝
摘要: 為了對(duì)我國(guó)自主研發(fā)的龍芯2號(hào)處理器的性能進(jìn)行評(píng)價(jià),獲取龍芯2號(hào)處理器性能的客觀數(shù)據(jù),。提出一種針對(duì)龍芯2號(hào)處理器的采用由國(guó)際標(biāo)準(zhǔn)性能評(píng)測(cè)組織開(kāi)發(fā)的,、專(zhuān)門(mén)用于評(píng)價(jià)CPU性能的SPECCPU2000測(cè)試程序的測(cè)試和分析的方法,。該方法包括在Linux操作系統(tǒng)下安裝和配王SPEC2000程序的要點(diǎn)和使用SPEC2000程序?qū)埿?E處理器進(jìn)行性能測(cè)試的具體流程,還包括對(duì)SPEC2000程序運(yùn)行結(jié)果的分析,。目前該方法已經(jīng)應(yīng)用,,效果良好,。
Abstract:
Key words :

引言
    自主研發(fā)高性能處理器芯片對(duì)于經(jīng)濟(jì)和國(guó)家安全方面具有重要意義,。龍芯系列處理器的成功研制填補(bǔ)了我國(guó)自主研發(fā)高性能通用處理器的空白,,龍芯2號(hào)采用先進(jìn)的結(jié)構(gòu)設(shè)計(jì)技術(shù),,已躋身于世界一流處理器的行列。SPEC CPU 2000是SPEC(標(biāo)準(zhǔn)性能評(píng)測(cè)組織)開(kāi)發(fā)的專(zhuān)門(mén)用于評(píng)價(jià)CPU(中央處理器)性能的一套基準(zhǔn)程序,在CPU性能測(cè)試領(lǐng)域具有很大的權(quán)威性,。
    當(dāng)前,在許多的實(shí)際應(yīng)用中,,需要對(duì)處理器的性能進(jìn)行評(píng)估,,以確定處理器是否可以達(dá)到應(yīng)用的要求,這種評(píng)估的結(jié)果需要客觀和準(zhǔn)確,,這樣才具備可信性,。當(dāng)前針對(duì)主流的處理器如Intel的X86處理器的測(cè)試方法已經(jīng)有很多,而且這些方法也普遍的經(jīng)過(guò)驗(yàn)證,。針對(duì)國(guó)產(chǎn)龍芯處理器的測(cè)試方法還比較的缺乏,,因此有必要尋找一種可以客觀評(píng)價(jià)國(guó)產(chǎn)處理器的測(cè)試方法。

1 龍芯2E結(jié)構(gòu)分析
   
龍芯系列處理器是中國(guó)科學(xué)院計(jì)算技術(shù)研究所研制的高性能通用處理器,。
    龍芯2E處理器是一款實(shí)現(xiàn)64位MIPSⅢ指令集的通用RISC處理器,,采用了4發(fā)射超標(biāo)量超流水結(jié)構(gòu),實(shí)現(xiàn)了先進(jìn)的轉(zhuǎn)移猜測(cè),、寄存器重命名,、動(dòng)態(tài)調(diào)度等亂序執(zhí)行技術(shù),以及非阻塞的高速緩存和取數(shù)操作猜測(cè)執(zhí)行等動(dòng)態(tài)存儲(chǔ)訪問(wèn)機(jī)制,。
    龍芯2E的一級(jí)Cache由64 KB的指令Cache和64 KB的數(shù)據(jù)Cache組成,,片上二級(jí)Cache大小為512 KB,均采用四路組相聯(lián)的結(jié)構(gòu),。龍芯2E的基本流水線包括取指,、預(yù)譯碼、譯碼,、寄存器重命名,、調(diào)度、發(fā)射,、讀寄存器,、執(zhí)行、提交等9級(jí),。龍芯2E先進(jìn)的存儲(chǔ)系統(tǒng)設(shè)計(jì)可以有效地提高流水線的效率,。

2 SPEC 2000測(cè)試程序概述
   
SPEC CPU 2000是SPEC(標(biāo)準(zhǔn)性能評(píng)測(cè)組織)開(kāi)發(fā)的專(zhuān)門(mén)用于評(píng)價(jià)CPU(中央處理器)性能的一套基準(zhǔn)程序,主要應(yīng)用于桌面型和服務(wù)器型CPU的性能評(píng)價(jià),,其目的是比較不同類(lèi)型CPU的整點(diǎn)運(yùn)算和浮點(diǎn)運(yùn)算性能,。SPEC是由計(jì)算機(jī)業(yè)界幾十個(gè)芯片廠商、計(jì)算機(jī)系統(tǒng)廠商,、研究團(tuán)體等構(gòu)成的非營(yíng)利組織,,其開(kāi)發(fā)的SPEC CPU 2000在CPU的性能評(píng)價(jià)領(lǐng)域具有很高的權(quán)威性。

3 在龍芯2E上使用SPEC 2000進(jìn)行測(cè)試
   
SPEC 2000由兩套基準(zhǔn)程序組成,分別測(cè)試CPU的整型運(yùn)算性能和浮點(diǎn)運(yùn)算性能,。目前龍芯平臺(tái)上運(yùn)行的操作系統(tǒng)以開(kāi)源Linux為主,,因此SPEC 2000的運(yùn)行需要GCC和Gfortran編譯器的支持。
3.1 SPEC的安裝
    首先從軟件包中解壓tar-jxvf SPEC 2000.tar.bz2,,進(jìn)入SPEC 2000根目錄運(yùn)行install.sh進(jìn)行安裝,,安裝完成后運(yùn)行./shrc啟動(dòng)SPEC程序,最后敲入命令runspec-V,,如能正確顯示SPEC工具版本信息,,則說(shuō)明安裝成功。
3.2 SPEC的運(yùn)行
    SPEC CPU 2000基準(zhǔn)主要由基準(zhǔn)程序源文件,、腳本管理程序,、配置文件以及測(cè)試結(jié)果文件組成。管理程序中最重要的是runspec腳本管理程序,,通過(guò)它用戶可以編譯,、運(yùn)行和維護(hù)基準(zhǔn)程序。典型的runspec用法是:
    runspec-c default.cfg int 其中:default.cfg為配置文件,;int則表示運(yùn)行所有的整型基準(zhǔn)程序,。
3.3 配置文件
    配置文件中包含了許多信息,其中最為重要的是編譯基準(zhǔn)程序的指令參數(shù),,例如編譯時(shí)所要用到的編譯器,,編譯優(yōu)化選項(xiàng)等,設(shè)置如下:
   
3.4 MD5碼的生成
    為了保證測(cè)試結(jié)果的公正性,,測(cè)試中采用了數(shù)字簽名技術(shù),。即在編譯和運(yùn)行測(cè)試程序時(shí),對(duì)測(cè)試結(jié)果進(jìn)行校驗(yàn),,從而保證測(cè)試結(jié)果是從各個(gè)基準(zhǔn)程序中獲得,,沒(méi)有經(jīng)過(guò)人工篡改。運(yùn)行成功后在配置文件末尾將自動(dòng)生成以“MD5”開(kāi)頭的一段代碼,。
3.5 基準(zhǔn)程序描述
    SPEC2000基準(zhǔn)程序存放在/spec2000/benchmark目錄中,,其中cint2000目錄存放了12個(gè)整形基準(zhǔn)程序,cep2000目錄存放了14個(gè)浮點(diǎn)基準(zhǔn)程序,。SPEC2000并沒(méi)有完全開(kāi)放其源代碼,,而是開(kāi)放了其基準(zhǔn)程序的代碼,因此運(yùn)行runspec命令時(shí)需要針對(duì)基準(zhǔn)程序進(jìn)行編譯,,而編譯規(guī)則只能在配置文件中設(shè)定,。
    SPEC 2000中的基準(zhǔn)程序都是從實(shí)際應(yīng)用程序中提取出來(lái)的,大多由C語(yǔ)言和Fortran語(yǔ)言編寫(xiě),,如表1,,表2所示,。雖然基準(zhǔn)程序的設(shè)計(jì)來(lái)源于真實(shí)的應(yīng)用程序(如gzip和bzip2是Linux系統(tǒng)下的通用壓縮程序,gcc是Linux的默認(rèn)編譯器),,但考慮到其可移植性以及平臺(tái)之間的可比較性,,基準(zhǔn)程序經(jīng)過(guò)了一些改動(dòng),與實(shí)際的應(yīng)用程序略有不同,,兼顧了真實(shí)性與通用性,。


3.6 測(cè)試結(jié)果的生成
   
SPEC 2000能夠生成多種格式的測(cè)試結(jié)果報(bào)表,包括asc,,ps,raw,,pdf,,html等格式,報(bào)表所在目錄為/spec2000/result,。
    整形和浮點(diǎn)性能測(cè)試結(jié)果分別如表3和表4所示,。其中Reference Time表示參考時(shí)間,Base Runtime表示實(shí)際運(yùn)行時(shí)間,,Base Ratio表示比值,。其綜合得分為206和168分,是各項(xiàng)基準(zhǔn)程序得分的幾何平均值,,計(jì)算公式如下:
    SPECint/fp=GEOMEAN(reftime/runtime*100)



4 結(jié)語(yǔ)
   
目前,,龍芯處理器有三個(gè)系列處于并行研發(fā)中。龍芯1號(hào)處理器系列主要面向嵌入式應(yīng)用,,龍芯2號(hào)超標(biāo)量處理器系列主要面向桌面應(yīng)用,,龍芯3號(hào)多核處理器系列主要面向服務(wù)器和高性能機(jī)應(yīng)用。隨著龍芯各系列處理器的不斷研制和發(fā)展,,如何客觀評(píng)價(jià)CPU的性能也逐漸將成為重要的研究課題,。本文以SPEC 2000為例,介紹了在Linux操作系統(tǒng)下對(duì)龍芯2E處理器進(jìn)行性能測(cè)試的一套方法,,對(duì)于通用CPU性能的評(píng)價(jià)具有一定的現(xiàn)實(shí)意義,。
    龍芯處理器作為我國(guó)自主研發(fā)的高性能通用處理器,已滲入到嵌入式領(lǐng)域,、桌面應(yīng)用領(lǐng)域以及高性能服務(wù)器領(lǐng)域,,必將與Intel、AMD等國(guó)際知名CPU生產(chǎn)廠商全面抗衡,。因此對(duì)CPU性能進(jìn)行客觀,、全面的測(cè)試不僅可以衡量我國(guó)的CPU研制水平,也能夠通過(guò)測(cè)試比較,、總結(jié)出龍芯的優(yōu)勢(shì)和不足,。相信隨著龍芯平臺(tái)性能的不斷提高和周?chē)浻布h(huán)境的不斷完善,,龍芯系列處理器的市場(chǎng)競(jìng)爭(zhēng)力會(huì)越來(lái)越強(qiáng),這對(duì)于我國(guó)形成有自主知識(shí)產(chǎn)權(quán)的計(jì)算機(jī)產(chǎn)業(yè)具有重要意義,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。