龍芯3A3000主板介紹
首先,還是曬曬圖,回顧一下龍芯3A3000主板的模樣。
圖1龍芯3A3000主板照片,風(fēng)扇下面是龍芯的CPU。另外兩塊散熱片下面分別是南橋和北橋。
圖2拆下風(fēng)扇后,龍芯3A3000 CPU的近照,其中的LS3A3000D-LP意思是說這是一個低功耗版本的龍芯3A3000CPU
圖3開機后BIOS中的信息,可以看到CPU的主頻是1400MHZ,一級指令緩存64KB,一級數(shù)據(jù)緩存64KB,二級緩存4MB。
圖4主板上的國產(chǎn)Unilc(西安紫光國芯半導(dǎo)體)內(nèi)存條
我拿到的這塊龍芯3A3000處理器不是性能最高的1.5GHz主頻版本,而是性能略低的1.4GHz版本。因此,在估算龍芯3A3000(1.5GHz)的性能時,應(yīng)該將我的測試結(jié)果乘以1.07。此外,需要說明的是龍芯3A3000筆記本里帶的龍芯3A3000的主頻被限制在了1.2GHZ。
拿到主板后,參照主板手冊以及百度貼吧的手冊,另外在龍芯俱樂部群和龍芯電腦用戶和開發(fā)者群網(wǎng)友的幫助下,我裝了一臺龍芯3A3000的主機,并安裝了Debian buster和Loongnix兩個操作系統(tǒng)。
作為龍芯的老粉絲,我用過福瓏6003的龍芯盒子以及8089D筆記本,兩個機器都是用龍芯2F的處理器。從個人的體驗上,使用龍芯2F的的圖形界面只能說是“能用”,真正使用起來還是太慢。龍芯3A3000的性能和龍芯2F相比有了非常大的進步,不管是Loongnix還是Debian,在使用上都可以稱得上是真正的流暢了。使用Firefox進行網(wǎng)頁瀏覽,觀看本地高清視頻都都十分流暢。從用戶體驗上,龍芯3A3000已經(jīng)完全可以滿足辦公、上網(wǎng)、聽音樂、看視頻這樣的基本需求了。
龍芯3A3000處理器性能評測方案
和主流的x86處理器相比,龍芯3A3000究竟有多大差距呢?從性能上,龍芯3A 3000相當(dāng)于哪一款CPU,即將流片的3A4000又相當(dāng)與那個處理器?和其他國產(chǎn)處理器相比,龍芯3A3000的性能究竟是高還是低?
為了回答以上的問題,我使用phoronix test suite中提供的有關(guān)CPU性能的benchmark程序,對X270筆記本上的i5-7200U處理器和龍芯3A3000處理器進行了詳盡的對比。此外,openbenchmarking網(wǎng)站上提供了很多不同處理器性能測試的結(jié)果,可以供人們更客觀的評測系統(tǒng)的性能。
我在openbenchmarking網(wǎng)站上發(fā)現(xiàn)了飛騰1500A和飛騰2000+處理器的部分評測結(jié)果,在本次測試中也將對利用這些數(shù)據(jù)進行對比。作為參照,我又尋找了部分Intel J1900處理器的性能數(shù)據(jù)。
最近一段時間,兆芯處理器在性能上進步飛速,已經(jīng)出了ZX-C、KX-5000以及KX-6000等多個系列的處理器,并且在網(wǎng)絡(luò)上也有了一些測評,但在Openbenchmarking網(wǎng)站上我沒有找到任何兆芯的最新處理器的蹤跡,因此在本文中無法對比兆芯和龍芯的性能了。
為了比較兩塊CPU在相同主頻下的性能差距,在測試中將Intel i5-7200U處理器的睿頻模式關(guān)掉,去掉自動降頻的電源管理,將頻率鎖定在2.5GHz。i5-7200U處理器最高可以睿頻到3.1GHz,因此其實際峰值性能比本次測試時的數(shù)據(jù)的要高。
在測試中,我們同時關(guān)注處理器的單核性能和多核性能。最近,兆芯KX6000系列處理器在評測中根據(jù)7zip等多線程程序的測試結(jié)果,得出KX6000性能相當(dāng)于i5-7400處理器的結(jié)論,但卻有意無意的忽略了KX6000是8核8線程的處理器而i5-7400是4核4線程處理器。如果看單核性能,那么KX6000大致相當(dāng)于i5-7400的一半。
下面是本測評中的多款處理器的基本情況對比。
Intel i5-7200U
https://ark.intel.com/products/95443/Intel-Core-i5-7200U-Processor-3M-Cache-up-to-3_10-GHz
Intel J1900
https://ark.intel.com/zh-cn/products/78867/Intel-Celeron-Processor-J1900-2M-Cache-up-to-2_42-GHz
龍芯3A 3000
http://www.loongson.cn/product/cpu/3/3A3000.html
測試使用的是7.8.0版本的phronix-test-suite。
http://www.phoronix-test-suite.com/?k=downloads
測試分別在配備了Intel i5-7200U處理器的X270筆記本電腦以及自行組裝的龍芯3A3000電腦上進行,其中對龍芯3A3000的測試在Debian testing系統(tǒng)上進行。測試環(huán)境如表2所示:
在測試過程中,我發(fā)現(xiàn)了疑似龍芯實驗室使用1.5GHz的龍芯3A 3000處理器在Loognix系統(tǒng)上進行的部分測試結(jié)果。因此,我就不再單獨使用Loongnix系統(tǒng)對該處理器的性能進行測試了。
對龍芯3A3000所使用的編譯器選項,可以參考此鏈接
對部分應(yīng)用,在編譯時采用了n32的abi,即增加參數(shù)-mabi=n32。
由于CPU性能是我最想了解的東西,因此在測試過程中主要關(guān)心能反應(yīng)CPU性能的測試,而不考慮對磁盤、顯卡、內(nèi)存等硬件的性能測試。
測試程序介紹及測試結(jié)果分析
科學(xué)計算
1. scimark2
這個測試運行了SimiMark 2.0的ANSI C版本,它是由國家標準與技術(shù)研究所的程序員開發(fā)的科學(xué)和數(shù)值計算的基準。該測試由快速傅利葉變換、雅可比逐次超松弛、蒙特卡洛、稀疏矩陣乘法和密集LU矩陣分解基準構(gòu)成。本測試為單核性能測試。
測試結(jié)果:
點此訪問1
點此訪問2
圖5 Scimark2性能對比
測試結(jié)果如圖5所示。在圖中以龍芯3A3000(紅色)的性能為基準(1.0),i5-7200U(藍色)和J1900(綠色)的性能都與龍芯3A3000相比,數(shù)值越高性能越好。鑒于龍芯3A4000即將流片,根據(jù)龍芯方面放出的消息,龍芯3A4000相比3A3000同主頻性能提高了30%,同時主頻將從1.5GHz提高到2.0GHz。此外,龍芯3A4000還將增加256位SIMD指令,并將L3 cache從8MB增加到12MB,SPEC CPU2006的分值達到20分,達到龍芯3A3000的兩倍。
http://www.ict.cas.cn/kycg/cgnb/201709/P020170926639136974767.pdf
因此,我們以將3A4000的性能設(shè)為2.0,作為性能預(yù)測的參考。
從圖5的測試結(jié)果可以看出,在Scimark的Monte Carlo測試中,3A3000性能非常糟糕,只有i5-7200U的不到10%,甚至不到J1900的30%。這很不正常,可能有某個浮點運算沒有使用硬件浮點,而使用了軟件模擬的浮點運算。在其余的測試中,3A3000性能均與J1900相當(dāng),部分測試性能優(yōu)于J1900。J1900和i5-7200U相比,雖然其主頻也有1.99GHz,但單核性能只有i5-7200U的30%左右。
2.FFTE
FFTE是Daisuke Takahashi寫的計算1、2和3維的序列長度為(2 ^ p)*(3 ^ q)*(5 ^ r)的離散傅立葉變換的一個包。單核性能測試。
測試結(jié)果:點此訪問
3.fhourstones
解Connect-4游戲,測試處理器的整數(shù)性能。單核性能測試。
測試結(jié)果:點此訪問
4. gmpbench
用GMP 6.1.2數(shù)學(xué)庫進行的性能測試。注意,gmpbench只考慮程序的整數(shù)性能,不是浮點性能。單核性能測試。https://gmplib.org/gmpbench.html
測試結(jié)果:點此訪問
5. minion
Minion是一個設(shè)計上具有可擴展性的開源約束求解器。單線程性能測試。
https://constraintmodelling.org/minion/
測試結(jié)果:點此訪問
6. mpcbench
GNU MPC是復(fù)數(shù)算術(shù)的C庫。單線程性能測試。
https://openbenchmarking.org/result/1806164-FO-LOONGSON301
multichase
This is a benchmark of Google's multichase pointer chaser program.單線程,多線程性能測試。
https://openbenchmarking.org/result/1806120-FO-LS3AMULTI28
圖6 FFTE、Fhourstone、Minion、Multichase性能測試
在以上的測試中,我們找到了兩個關(guān)于J1900的測試數(shù)據(jù),其中ffte性能僅相當(dāng)于龍芯3A3000的2/3, fhourstone性能是龍芯的1.1倍。從總體性能上看,i5-7200U在以上的性能測試是龍芯3A3000的2倍到4.5倍不等,集中分布在2.3倍左右,我們預(yù)測龍芯3A4000的單核性能在這些測試中能達到i5-7200U的85%左右。i5-7200U在gmpbench和mpcbench中測試中性能是龍芯3A3000的4.5倍左右,優(yōu)勢明顯,可能與數(shù)學(xué)庫或者編譯器的優(yōu)化有關(guān)。
8 Bullet
Bullet物理引擎. Bullet是一個開源的物理模擬計算引擎,世界三大物理模擬引擎之一。單線程性能測試。
https://openbenchmarking.org/result/1806126-FO-LS3ABULLE82
9. himeno
The Himeno benchmark is a linear solver of pressure Poisson using a point-Jacobi method.單線程性能測試。
https://openbenchmarking.org/result/1806127-FO-LS3A3000H21
10. tscp
這是TSCP,Tom Kerrigan的簡單國際象棋程序的性能測試,它有一個內(nèi)置的性能基準。單線程性能測試。
https://openbenchmarking.org/result/1806104-FO-LS3ATSCPD75
圖7 Bullet、Himeno和TSCP測試
在這一組測試中,i5-7200U優(yōu)勢非常明顯,除了在國際象棋性能測試TSCP上速度是3A3000的3.6倍,在其他測試中速度基本都是龍芯3A3000的4倍以上,在bullet的ragdoll測試中性能甚至達到了龍芯3A3000的30倍。我們對bullet的代碼進行了分析,發(fā)現(xiàn)其中有大量的SIMD相關(guān)的代碼以及針對X86處理器的匯編語言優(yōu)化。這是bullet在Intel處理器下運行速度快的重要原因。而針對Ragdoll測試,我們發(fā)現(xiàn)代碼中有大量的三角函數(shù)運算,而龍芯目前三角函數(shù)的計算是有問題的,沒有啟用硬件浮點,而是使用的軟件模擬,因此速度較慢。
11. hpcg
高性能共軛梯度算法,由桑地亞國家實驗室開發(fā)的面向超算的科學(xué)基準程序。多線程測試。
https://openbenchmarking.org/result/1806094-FO-LS3AHPCGD08
https://openbenchmarking.org/result/1806202-FO-LS3AHPCGO04
12. npb
NPB,NAS并行基準,是美國國家航空航天局為高端計算機系統(tǒng)開發(fā)的基準。此測試配置文件目前使用MPI版本的NPB。多線程測試。
https://openbenchmarking.org/result/1806097-FO-LS3ANPBDE97
13. n-queens
OpenMP版本的N-皇后問題解法器。問題大小是18。多核性能測試。
https://openbenchmarking.org/result/1806109-FO-LS3ANQUEE29
14. mafft
100個丙酮酸脫羧酶序列的比對。多線程性能測試。
https://openbenchmarking.org/result/1806108-FO-LS3AMAFFT56
15. primesieve
Primesieve使用高度優(yōu)化的Eratosthenes篩法實現(xiàn)來產(chǎn)生素數(shù)。Primesieve對CPU L1/L2緩存性能進行基準測試。多線程性能測試。
https://openbenchmarking.org/result/1806103-FO-LS3APRIME23
圖8 HCCG、NPB、N-Queens、MAFFT和Primesieve測試
以上的測試都是多線程的性能測試,HPCG測試中i5-7200U性能達到了龍芯3A3000的3.76倍。在NPB的測試中,龍芯在其中3項超過了J1900,另外兩項不如J1900。在N-皇后問題、MAFFT以及素數(shù)篩選的測試中,i5-7200U性能是龍芯3A3000的兩倍左右;如果龍芯3A4000性能能夠達到3A3000的兩倍,在這幾個測試中龍芯3A4000將能夠達到i5-7200U的性能。再次強調(diào)一下,這是多線程測試!
加密算法
16. Botan
Botan是一個跨平臺的C++的開源加密庫,支持大多數(shù)的所有公開的加密算法。(單線程測試)
https://openbenchmarking.org/result/1806093-FO-LS3ABOTAN50
Gnupg
用GnuPG加密文件,統(tǒng)計耗時。單線程性能測試。
https://openbenchmarking.org/result/1806105-FO-LS3AGNUPG86
圖9 Botan和Gnupg測試
在Botan測試中,龍芯3A3000在部分項目上與i5-7200U的差距在3倍左右。在AES的加密和解密這兩個測試中,和i5-7200U有近80倍的性能差異!原因在于i5-7200U存在AES加密解密硬件實現(xiàn),效率很高,而龍芯3A3000沒有這樣的功能,或者暫時無法使用該功能。此外,在Botan中同樣存在針對X86的匯編優(yōu)化,在能使用到這些優(yōu)化的測試中,x86處理器就非常有優(yōu)勢。
多媒體編碼
18~22. encode-flac, encode-mp3, encode-ogg, encode-opus, encode-wavpack?
將音頻文件轉(zhuǎn)碼為flac,mp3,ogg,opus和wavpack,統(tǒng)計所需時間。
測試結(jié)果:點此訪問
espeak
這個測試需要花費多長時間的用espeak語音合成引擎讀取古騰堡項目的The Outline of Science,并輸出到WAV文件。單線程性能測試。
https://openbenchmarking.org/result/1806148-FO-LS3AESPEA06
24. dcraw
用DCRAW轉(zhuǎn)換多個高分辨率RAW NEF圖像文件到PPM圖像格式,統(tǒng)計所需要的時間。單線程性能測試。
https://openbenchmarking.org/result/1806140-FO-LS3ADCRAW96
25. mencoder
這個測試使用mplayer的mencoder編碼器程序和LIVAVCODEC系列來測試系統(tǒng)的音頻/視頻編碼性。單線程性能測試。
https://openbenchmarking.org/result/1806145-FO-LS3AMENCO12
26.Vpxenc
這是一個標準的視頻編碼性能測試,使用谷歌的libvpx庫和vpxenc命令實現(xiàn)VP8/WebM格式的編碼。單核性能測試。
https://openbenchmarking.org/result/1806148-FO-LS3AVPXEN59
圖10多媒體相關(guān)性能測試
在音視頻壓縮編碼的測試中,龍芯再次完敗于Intel處理器,不管是J1900還是i5-7200U。究其原因,還是在優(yōu)化上。以上這些多媒體應(yīng)用,針對x86處理器進行了大量的優(yōu)化,而沒有對龍芯處理器進行優(yōu)化。
壓縮算法
27. Compress-7zip
用7zip程序自帶的benchmark功能測試程序的多線程性能。
https://openbenchmarking.org/result/1806036-FO-LOONGSON337
https://openbenchmarking.org/result/1806230-FO-LS3A7ZIPL48
28. Compress-gzip
用tar程序壓縮Linux源碼包,檢驗系統(tǒng)自帶的gzip程序的單線程性能。
https://openbenchmarking.org/result/1806039-FO-LS3A3000G15
優(yōu)化以后的gzip程序
https://openbenchmarking.org/result/1806056-FO-LS3A3000G52
29. Compress-pbzip2
用并行的bzip2算法壓縮Linux內(nèi)核源碼包,統(tǒng)計所需時間。多線程程序。
https://openbenchmarking.org/result/1806109-FO-LS3APBZIP29
網(wǎng)絡(luò)應(yīng)用
30. Apache
Apache基準程序,評價標準是發(fā)出100萬的請求,100個并發(fā),看系統(tǒng)每秒能夠處理多少。多線程性能測試。
https://openbenchmarking.org/result/1806159-FO-LS3AAPACH45
31. ebizzy
Ebizzy測試。Ebizzy可以生成類似Web服務(wù)器的工作負載。
https://openbenchmarking.org/result/1806152-FO-LS3AEBIZZ72
32. postmark
這是一個測試NETAPP的POSTMARK基準測試,旨在模擬類似于Web和郵件服務(wù)器所承受的任務(wù)的小文件測試。此測試配置文件將設(shè)置POSTMARK以同時執(zhí)行500個文件的25000個事務(wù),文件大小介于5到512千字節(jié)之間。
https://openbenchmarking.org/result/1806151-FO-LS3APOSTM75
圖11壓縮算法和網(wǎng)絡(luò)應(yīng)用測試
從以上的測試結(jié)果可以看出,在壓縮算法以及網(wǎng)絡(luò)應(yīng)用上,龍芯3A3000和J1900性能接近。和i5-7200U處理器相比,差距也在有兩倍左右。需要指出的是,除了gzip是單線程測試,其余的測試都是多線程測試。
內(nèi)存測試
33. Cachebench
這是Calebench的性能測試,它是LLCBench的一部分。Cachebench是用來測試內(nèi)存和緩存帶寬性能的。
https://openbenchmarking.org/result/1806034-FO-LS3A3000C27
34. stream
系統(tǒng)內(nèi)存(RAM)性能基準測試。
測試結(jié)果:點此訪問
圖12訪存性能測試
在stream測試和CacheBench測試中,龍芯3A3000終于實現(xiàn)了對J1900的全面優(yōu)勢。另外,除了在Cachebench中有兩項數(shù)據(jù)明顯若與i5-7200U,在其他測試內(nèi)容中龍芯3A3000和i5-7200U性能相當(dāng)。能有這樣好的性能,還是因為龍芯處理器歷史上因為訪存性能太差深受其害,然后花了很大的力氣優(yōu)化了訪存。可以期待龍芯3A4000一樣會有較好的訪存性能。
最后,根據(jù)openbenchmarking網(wǎng)站上找到的部分FT1500A和FT-2000+的數(shù)據(jù),和龍芯3A3000進行了對比。
(點此可查看大圖)
基本上,龍芯3A3000的性能強于FT1500A,但明顯弱于FT-2000+。和FT1500A相比,F(xiàn)T-2000+性能有了很大的提升,部分得益于工藝的改進,從28納米提升到了16納米;部分得益于架構(gòu)的更新。我們預(yù)測,龍芯3A4000在繼續(xù)使用28納米工藝的前提下,將能夠在單核性能上追平甚至超越飛騰2000+處理器。由于飛騰2000+處理器有多達64個核,龍芯要在多核性能追趕飛騰還有很長的路要走。
3A3000在Monte Carlo模擬上性能意外的糟糕,很可能是某關(guān)鍵函數(shù)缺少優(yōu)化。
總結(jié)與展望
從縱向上看龍芯的發(fā)展,相比龍芯2F,龍芯3A3000的性能有了很大的進步。工藝上,從龍芯2F的90nm,提高到了龍芯3A3000處理器的28nm;主頻從龍芯2F的800MHZ提高到了1.5GHz。在用戶實際應(yīng)用上,基本可以達到流暢使用的程度。與Intel處理器相比,龍芯3A3000綜合性能相當(dāng)于Intel J1900處理器,單核性能相當(dāng)于intel i5-7200U的30%~40%。
通過本文中所進行的34項測試,我們發(fā)現(xiàn)龍芯3A3000在性能不好的根源有以下幾個:
同主頻性能較弱。從同主頻性能來看,龍芯3A3000已經(jīng)超過了J1900,但只有intel i5-7200U的60%~70%。預(yù)計2019年流片的龍芯3A4000同主頻性能至少有30%的性能提升。
主頻太低。這是龍芯處理器讓眾多愛好者耿耿于懷的的一個難以回避的弱點。誠然,主頻不代表所有性能,但主頻太低是萬萬不行的。J1900的同主頻性能弱于龍芯3A3000,但由于它的主頻可以到1.99GHz,并且還可以睿頻到2.4GHz,在多項測試中一樣超過了龍芯3A3000。Intel i5-7200U基礎(chǔ)主頻達到2.5GHz,睿頻可以到3.1GHz。飛騰2000+主頻可以到2.2GHz,而兆芯的KX-6000主頻甚至可以到3.0GHz。飛騰、兆芯處理器可能在同主頻性能上弱于龍芯,但還是可以靠著較高的主頻擊敗龍芯3A3000。
龍芯主頻較低的原因之一是落后的工藝制程,目前還在使用28nm工藝,而Intel、飛騰、兆芯等已經(jīng)在使用14nm工藝。根據(jù)龍芯的發(fā)展規(guī)劃,到2020年龍芯將使用14nm工藝對了龍芯3C5000進行流片,主頻能夠達到2.5GHz。
系統(tǒng)軟件優(yōu)化不夠。在測試中,我們發(fā)現(xiàn)的問題有三角函數(shù)等數(shù)學(xué)函數(shù)運算速度過慢,看起來部分硬件浮點運算的沒有得到應(yīng)用,而且龍芯缺少一個優(yōu)化的數(shù)學(xué)函數(shù)庫。在加密解密指令上,缺少AES硬件實現(xiàn)。在測試中,我們發(fā)現(xiàn)使用Debian操作系統(tǒng)、GCC 7.3和1.4GHz的龍芯3A3000進行的各項測試基本優(yōu)于使用Loongnix操作系統(tǒng)、GCC 4.9編譯器和1.5GHz龍芯3A3000的組合。我們認為編譯器的優(yōu)化對發(fā)揮龍芯的性能非常重要。在測試中,我們也發(fā)現(xiàn)使用4.14的Linux內(nèi)核會比3.10的Linux內(nèi)核上有相當(dāng)程度的性能提升,龍芯依然缺少優(yōu)化的Linux內(nèi)核。
應(yīng)用軟件優(yōu)化不夠。由于MIPS架構(gòu)缺少軟件生態(tài),各種應(yīng)用軟件缺少針對MIPS架構(gòu)的優(yōu)化。具體表現(xiàn)就是在很多軟件有針對X86系統(tǒng)的匯編優(yōu)化。要建立龍芯的生態(tài),發(fā)揮龍芯處理器的性能,相同級別的優(yōu)化不可缺少。
隨著龍芯未來架構(gòu)的優(yōu)化、主頻的提升,影響龍芯發(fā)展的瓶頸將不是處理器的性能,而是軟件生態(tài)的建設(shè),也就是系統(tǒng)軟件優(yōu)化以及應(yīng)用軟件優(yōu)化。其中,各種應(yīng)用軟件的優(yōu)化將是提升龍芯用戶體驗的捷徑。實際上,龍芯也已經(jīng)意識到了這些問題,提出了要學(xué)習(xí)蘋果,”app by app, feature by feature, pixel by pixel”的進行優(yōu)化。
當(dāng)下,龍芯3A4000的流片工作正在開展,預(yù)計到2019年初就能看到芯片了。在3A4000出現(xiàn)之前,我們對3A4000的性能進行一下預(yù)測。基于我們的評測,我們認為,3A4000的同主頻性能將從i5-7200U的60%~70%,提升到80%~90%,2.0GHz下單核性能達到i5-7200U的2/3,多線程性能超過i5-7200U。和國內(nèi)其他CPU相比,龍芯3A4000的同主頻性能將超過飛騰以及兆芯,單核性能也將超過飛騰2000+,但由于3A4000落后的28 nm工藝、依舊較低的主頻(2.0 GHz),龍芯3A4000的綜合性能將可能依舊無法超過主頻3.0GHz的兆芯KX-6000。如果2019年兆芯KX-6000不能大規(guī)模量產(chǎn)上市,龍芯3A4000還是有可能成為2019年國內(nèi)可以買到的單核性能最強的國產(chǎn)自主處理器。
龍芯處理器和Intel、AMD的高性能處理器差距還是非常巨大,龍芯要走的路還很長。期待龍芯在未來采用更好的工藝,更優(yōu)化的微架構(gòu),也期待龍芯能夠在編譯器、數(shù)學(xué)庫、操作系統(tǒng)等系統(tǒng)軟件支持上有更好的表現(xiàn),構(gòu)建更好的應(yīng)用軟件生態(tài)系統(tǒng),期待著龍芯3A4000、3B 4000、龍芯3C 5000早日流片成功。
以上的評測只是一個非計算機專業(yè)的普通愛好者個人所為,不具有權(quán)威性,水平有限,時間倉促,數(shù)據(jù)繁多,有錯誤和疏漏在所難免,還請批評指正。
以毛主席的話,結(jié)束我的測評:
“我們正在前進。我們正在做我們的前人從來沒有做過的極其光榮偉大的事業(yè)。我們的目的一定要達到。我們的目的一定能夠達到。”
附錄
各種測試結(jié)果匯總
龍芯3A 3000(Loongnix):
https://openbenchmarking.org/result/1806113-TR-LSLABSLS380
https://openbenchmarking.org/result/1709288-TR-LOONGSON390
FT1500A :
https://openbenchmarking.org/result/1705187-KH-CPUSCIMAR08
I5-7200u
https://openbenchmarking.org/result/1806175-FO-I57200UDE18
https://openbenchmarking.org/result/1806174-FO-I57200UMU24
https://openbenchmarking.org/result/1806175-FO-I57200URA38
https://openbenchmarking.org/result/1806176-FO-I57200UCO93
https://openbenchmarking.org/result/1806179-FO-I57200UCR30
J1900
https://openbenchmarking.org/result/1404256-PL-1404206PL73
https://openbenchmarking.org/result/1404250-PL-1404206SO61
https://openbenchmarking.org/result/1404268-PL-J1900MULT15
https://openbenchmarking.org/result/1404272-PL-J1900SPEE11
https://openbenchmarking.org/result/1404275-PL-J1900PROC21
科技報道:2023年11月28日,北京國家會議中心,主題為“到中流擊水”的龍芯產(chǎn)品發(fā)布暨用戶大會盛大上演。
在4000多位合作伙伴、權(quán)威媒體、專家學(xué)者、主管部門領(lǐng)導(dǎo)的見證下,新一代通用處理器龍芯3A6000、打印機主控芯片龍芯2P0500重磅發(fā)布,眾多圍繞龍芯3A6000的整機產(chǎn)品登場亮相,龍芯處理器核IP、龍芯自主指令系統(tǒng)架構(gòu)授權(quán)計劃公布。
多年后如果回望半導(dǎo)體國產(chǎn)化之路,這無疑是一個關(guān)鍵的時刻。
極具革命色彩的開幕式
“龍芯之母”黃令儀院士今年4月離開了我們,大屏幕上打出的她的豪言壯語令人動容
一、龍芯3A6000:硬件性能飛躍、終于基本完成
龍芯中科董事長胡偉武發(fā)表主題演講《將自主進行到底》,而大會主題“到中流擊水”,代表龍芯走到了一個關(guān)鍵的時刻,正在經(jīng)歷第二次轉(zhuǎn)型,從政策性市場為主轉(zhuǎn)向開放性市場為主。
龍芯3A6000處理器由龍芯中科基于自主的LoongArch龍架構(gòu)指令集,完全自主設(shè)計,有著優(yōu)異的性能表現(xiàn),堪稱我國自主桌面處理器設(shè)計的又一個里程碑。
龍芯3A6000龍芯第四代微架構(gòu)LA64的首款產(chǎn)品,采用自主成熟工藝制造,4個物理核心,支持同時多線程技術(shù)(SMT2),因此有8個邏輯核心,主頻為2.5GHz。
內(nèi)存還是雙通道DDR4-3200,而在安全方面集成可信模塊,支持安全啟動方案和SM2、SM3、SM4國密算法。
龍芯微架構(gòu)已經(jīng)演進了四代,第一代GS464曾用于龍芯3A1000、龍芯3B1500,第二代GS464E曾用于龍芯3A2000、龍芯3A3000,第三代GS464V/LA464曾用于龍芯3A4000、龍芯3A5000。
可以看到,每代微架構(gòu)都對應(yīng)兩代產(chǎn)品,整體采用架構(gòu)、工藝交替升級的策略,十分類似Intel當(dāng)年的Tick-Tock策略。
第四代微架構(gòu)LA664全面提升了各項指標,尤其是首次將4發(fā)射提升到6發(fā)射,同時在ROB、定點/向量物理寄存器、發(fā)射隊列、功能部件、載入/存儲隊列等各項指標上,都實現(xiàn)了50%到100%的提升,幅度相當(dāng)之大。
這一代架構(gòu)上,龍芯終于突破了同時多線程技術(shù),追上了Intel、AMD,而且從官方數(shù)據(jù)還是實測看效率也是相當(dāng)高的。
性能方面大家見過不少數(shù)據(jù)了。根據(jù)中國電子技術(shù)標準化研究院賽西實驗室的測試結(jié)果,龍芯3A6000 SPEC CPU 2006、SPEC CPU 2017、Stream、Unixbench各項測試的成績都非常突出,無論單核性能還是多核性能,無論整數(shù)性能還是浮點性能,都實現(xiàn)了大幅度的跨越,甚至遠遠超過Intel、AMD幾代產(chǎn)品的提升。
綜合相關(guān)測試結(jié)果,龍芯3A6000處理器總體性能與Intel 2020年上市的第10代酷睿i3-10100四核處理器基本相當(dāng)。
要知道,現(xiàn)在很多用戶還是八九代酷睿的配置。
胡偉武強調(diào),經(jīng)過多年的“補課”,龍芯3A6000終于基本完成了這一任務(wù),與當(dāng)今主流處理器的差距已經(jīng)基本全部補齊。
要知道,2002年的龍芯一號,和當(dāng)時主流的奔騰4差距有20多倍。
2021年的龍芯3A5000已經(jīng)將這一差距縮小到不到1倍,相當(dāng)于第三代酷睿i3四核心,而僅僅兩年后,我們就幾乎完全追了上來!
龍芯3A6000還只是全新微架構(gòu)的第一站,未來一兩年我們還將看到面向服務(wù)器的龍芯3C6000、龍芯3D6000、龍芯3E6000,分別支持16核心32線程、32核心64線程、64核心128線程,大大縮小和世界領(lǐng)先產(chǎn)品的差距,無論單核性能還是多核性能。
針對移動終端,下一步將是龍芯2K3000,微架構(gòu)有所不同采用LA364,當(dāng)然也是自主的LoongArch龍架構(gòu)指令集,最多8核心8線程。
龍芯3C6000目前已經(jīng)完成設(shè)計,單芯片放入16個核心,內(nèi)存支持四通道DDR4-3200,擴展連接支持64條PCIe 4.0,實現(xiàn)成倍乃至數(shù)量級的提升。
雖然和世界最先進的十二通道DDR5、128條PCIe 5.0還有一代的差距,但也并非不可逾越的鴻溝。
再通過龍鏈技術(shù)(Loongson Coherent Link),將兩顆、四顆龍芯3C6000整合在一起,就可以得到龍芯3D6000、龍芯3E6000。
這是一項支撐Chiplet晶粒設(shè)計的關(guān)鍵技術(shù),可以對標Intel CXL、NVIDIA NVLink、AMD Infinity Fabric等先進互連技術(shù),相比于傳統(tǒng)PCIe總線可以大大提高效率、降低延遲。
同時,龍鏈技術(shù)支持高速緩存一致性協(xié)議傳輸,可以保證CPU與GPU、CPU與GPGPU、GPGPU與GPGPU之間高速、穩(wěn)定互相連接,完全擴展開來。
最關(guān)鍵的是,這一切都基于龍芯全自研的物理接口,無論標準性、性能和效率,還是擴展性、升級性都可以自主掌握。
針對筆記本、云終端的新一代龍芯2K3000,目前已經(jīng)完成前端設(shè)計,后續(xù)還有不少工作要做,包括內(nèi)核、后端、外圍等等。
它最多可以做到8核心,單核性能可媲美上代桌面級的龍芯3A6000,集成自研密碼模塊,支持PCIe 4.0、SATA 3、USB 3、HDMI等豐富的擴展和輸入輸出。
很關(guān)鍵的一點,它會集成新一代自研的LG200 GPGPU核心,不但能用來做圖形渲染,還能做到計算加速、AI加速,是一個統(tǒng)一高效的新架構(gòu)。
作為龍芯自研的第二代圖形核心,LG200已經(jīng)突破了GPGPU的關(guān)鍵技術(shù),圖形渲染支持OpenGL 4.0,通用計算支持OpenCL 3.0,AI加速支持INT8整數(shù)張量加速。
它還支持多節(jié)點互連,結(jié)合龍鏈技術(shù),未來會有同樣架構(gòu)的專用獨立GPGPU芯片!
在路線圖上,服務(wù)器級的龍芯3D7000、龍芯3E7000,桌面級的龍芯3B6000、龍心3B7000也都安排上了,它們都會是LA664微架構(gòu)的升級版本。
二、龍芯3A6000:軟件生態(tài)成型 第三大體系屹立
有了硬件,更需要系統(tǒng)軟件生態(tài)跟上,目前龍架構(gòu)已經(jīng)初具規(guī)模。
在國內(nèi),眾多操作系統(tǒng)、基礎(chǔ)應(yīng)用軟件都已經(jīng)有了龍架構(gòu)版本,滿足基本的辦公、娛樂需求已經(jīng)毫無障礙。
在國外,龍架構(gòu)得到了幾乎所有開源社區(qū)、開源軟件的快速支持,包括Linux系統(tǒng)內(nèi)核、GCC/LLVM兩大支柱性編譯器、Rust/Golang/Pascal等傳統(tǒng)與新興編程語言、Nodejs/.net等主流應(yīng)用開發(fā)框架等等,基于這些開源支持甚至已經(jīng)可以打造出一套完整的龍芯開源系統(tǒng)。
現(xiàn)在,龍架構(gòu)也有了自己的開源生態(tài)編號258,真正與x86、Arm、RISC-V處于等同的地位,可以說是得到了“官方認證”。
更可喜的是,一些國外基礎(chǔ)軟件也開始關(guān)注龍架構(gòu)并予以支持,這是非常不容易的。
面對規(guī)模最為龐大的x86應(yīng)用生態(tài),龍芯并沒有一味等待應(yīng)用適配自己,也采取了二進制轉(zhuǎn)譯執(zhí)行的策略,通過將x86指令翻譯為龍架構(gòu)指令、將Windows接口翻譯為Linux接口函數(shù),使之可以直接運行。
當(dāng)然,這么做代價是很大的,會明顯影響執(zhí)行效率和性能(官方稱最高可達80%),但至少能跑起來,能有的用。
目前,龍芯已經(jīng)可以運行大量的x86/Windows應(yīng)用,在辦公、娛樂方面可以保證流暢的體驗,甚至可以在龍芯服務(wù)器上執(zhí)行EDA芯片設(shè)計,從而用龍芯設(shè)計龍芯。
面向未來,龍芯希望用一兩年的時間,讓絕大多數(shù)x86/Windows應(yīng)用都可以跑在龍芯上,可以滿足商用需求。
下一代龍芯處理器也會進一步完善二進制翻譯,比如支持x87 80位浮點指令。
當(dāng)然,龍芯自己也設(shè)計了大量第一方軟件,滿足特定需求,尤其是龍芯瀏覽器,可以最大程度上滿足我國信息系統(tǒng)基于IE瀏覽器環(huán)境的兼容適配問題。
當(dāng)然,這并非長久之計,更合理和長遠的做法還是讓網(wǎng)銀等“老頑固”跟上時代,2023年了還抱著ActiveX不放實在說不過去。
經(jīng)過20多年的不斷摸索和努力,龍芯在硬件、軟甲上已經(jīng)基本完成了“補課”的過程,性能達到市場主流水平,軟件生態(tài)基本建成,形成了獨立于x86、Arm之外的第三體系。
雖然這個體系還是比較薄弱的,各方面差距都很大,但是從0到1的階段性跨越已經(jīng)完成,最艱難的步驟已經(jīng)基本完成,接下來就是一點一點繼續(xù)完善。
三、龍芯開放授權(quán):從CPU核到指令集 永久免費
從硬IP到軟IP,龍芯CPU的所有主要IP,都是自主研發(fā)的,可以牢牢掌握在自己手中。
但這并不意味著,龍芯的IP只為自己所用,正在開始走向開放,首先是CPU核的開放授權(quán),然后還會開放龍架構(gòu)指令集。
首批開放授權(quán)的龍芯CPU IP核有三種,分別是面向MCU微控制器的LA132、面向嵌入式的LA264、面向嵌入式和終端的LA364,它們的性能可分別對標Cortex-M4、Cortex-A55、Cortex-A75,后兩者也是前兩年智能手機移動平臺的主流。
至于面向桌面和服務(wù)器領(lǐng)域的比較新的LA464、LA664,暫時不會開放。
以上都是基于LoongArch龍架構(gòu)指令集的IP核,注意命名方式:LA代表LoongArch龍架構(gòu),第一位數(shù)字代表流水線發(fā)射數(shù),后兩位數(shù)字代表32/64位架構(gòu)。
LA132是單發(fā)射順序流水線設(shè)計,也是唯一的32位指令集。
對比Cortex-M4,它的流水線更長一些,可選支持浮點運算與指令、數(shù)據(jù)緩存,性能略微領(lǐng)先。
LA264是雙發(fā)射10級亂序流水線,可選支持128位SIMD,可配置單/雙/四核心,每個核心都有自己的一級數(shù)據(jù)和指令緩存,多核心共享二級緩存,可以直接交付多核簇,加快開發(fā)。
28nm工藝下,它的單個核心典型面積只有區(qū)區(qū)1.1平方毫米,就這還包含32KB一級數(shù)據(jù)緩存、32KB一級指令緩存,而典型評論可達1.3GHz。
LA364可以看作是LA264的增強版,三發(fā)射11級亂序流水線,標配128位SIMD。
28nm工藝下典型面積僅為3.86平方毫米(包括64KB一級指令緩存、64KB一級數(shù)據(jù)緩存),典型頻率可達1.5GHz,性能在同類產(chǎn)品中屬于一流水平。
以上這些CPU IP核,還都會持續(xù)迭代優(yōu)化,包括提升流水線調(diào)度與執(zhí)行效率、針對特定領(lǐng)域的應(yīng)用提供定制加速、與自主工藝的深入磨合(你懂的)。
龍架構(gòu)指令集現(xiàn)在應(yīng)有2000多條指令,正考慮開放授權(quán),正在起草相應(yīng)的技術(shù)規(guī)范協(xié)議。
只要簽署同意這個規(guī)范協(xié)議,就可以永久免費使用龍架構(gòu)指令,而且可以自行增加符合規(guī)范的指令,既擴展性能、能力,也保證兼容性。
在發(fā)布會現(xiàn)場,首批10家企業(yè)與龍芯中科簽訂了CPU核IP授權(quán)協(xié)議,包括:
蘇州雄立科技有限公司、大唐可再生能源試驗研究院有限公司、得一微電子股份有限公司、山東領(lǐng)能電子科技有限公司、三峽智控科技有限公司、國家超級計算無錫中心、北京得瑞領(lǐng)新科技有限公司、北京科技大學(xué)工業(yè)互聯(lián)網(wǎng)研究院、西安微電子技術(shù)研究所、北方自動控制技術(shù)研究所。
其中,蘇州雄立科技集成龍芯CPU IP的網(wǎng)絡(luò)交換芯片XL63系列已經(jīng)研制成功,并批量交付市場,相關(guān)系統(tǒng)解決方案接近20款。
XL63系列是雄立科技自主研發(fā)的低功耗、高集成度、高安全的三層千兆網(wǎng)絡(luò)交換芯片,集成多個龍架構(gòu)CPU IP核心,可提供充足的運算能力。
它支持28Gbps交換帶寬;集成最多24端口千兆PHY,并支持QSGM II和SGM II模式,具有二層、三層交換功能,支持NAT/NAPT,支持SYNC-E和IEEE1588V2,可滿足企業(yè)和工業(yè)以太網(wǎng)接入業(yè)務(wù)需求。
四、龍芯整機:日益壯大的“朋友圈”
大會現(xiàn)場還舉行了基于龍芯3A6000處理器的整機產(chǎn)品發(fā)布儀式,合作伙伴達到了50多家。
其中,可以看到一些我們耳熟能詳?shù)钠放坪彤a(chǎn)品,比如同方計算機、聯(lián)想開天、攀升、海爾雷神、方正數(shù)碼、上海華碩。
也有一些你可能不太熟悉、但同樣是行業(yè)大牌:航天七〇六、超越科技、升騰資訊、國光信息、北方自控、視睿、寶德網(wǎng)安、百信、黃河信產(chǎn)、大眾電子、西計、北聯(lián)國芯、航天龍夢、卓怡恒通、云涌科技、上海六聯(lián)、智微智能、高能計算機、騰凌科技、百代存儲、天安星控、派若樂、龍邁科技、眾達、盛博科技、昆山嘉提、江蘇嘉擎、集和誠、迅為電子、馭芯科技、深中微、航普電子、華龍訊達、道蒞智遠、吉斯凱達、配天技術(shù)、智流形機器人、松科智能、電科網(wǎng)安、高鴻信安、天融信、銨泰克、寬域、木鏈科技、全訊匯聚、長焜科技。
他們不但帶來了臺式機、筆記本,還有各種各樣的服務(wù)器、工作站、特種計算機、工控計算機、工控器、網(wǎng)絡(luò)安全設(shè)備、主板、存儲產(chǎn)品、網(wǎng)關(guān)/管控/組態(tài)一體機、防火墻、密碼機、機器人控制器、等等。
正是他們的眾星捧月,才讓龍芯還有了大展拳腳的空間。
一定程度上可以說,正是這一份長長的名單,才真正體現(xiàn)了龍芯的強大之處。
其中,華碩的到來讓人意外有驚喜,全球第一大主板廠商帶來了第一款龍芯主板:XC-LS3A6M。
該主板集成龍芯3A6000處理器、龍芯7A2000芯片組,DrMOS聚合式供電,提供兩條DDR4內(nèi)存插槽、一條PCIe x16(物理帶寬x8)/一條PCIe x8、一條PCIe x4擴展插槽、四個SATA接口、兩個M.2接口、雙千兆以太網(wǎng)、VGA/HDMI輸出接口、前后多個USB接口。
它還貼心提供了多重硬件防護、物理網(wǎng)絡(luò)開關(guān)、DEBUG指示燈等等,還有可以確保持久耐用的五重保護、多項嚴苛測試。
作為最會玩的主板品牌,華碩還對龍芯3A6000進行了各種超頻,BIOS里自帶的狂暴模式可以將頻率超到2637.5MHz(核心電壓1.25V),超頻幅度5.5%,可以帶來2.2%的浮點性能提升、3.3%的整數(shù)性能提升。
華碩甚至嘗試了液氮超頻,-196.5℃低溫下達到了3GHz,沒有出現(xiàn)Cold Bug,可以穩(wěn)定運行甚至進行壓力測試。
而且,這只是目前BIOS的限制,并不是龍芯的限制。
五、龍芯2P0500:打印機也要自主
在國產(chǎn)化辦公場景中,打印機、掃描儀、復(fù)印機等一直是個老大難問題,硬件上無法自主可控,軟件上也和國產(chǎn)協(xié)同格格不入。
龍芯2P0500是一款適用于單/多功能打印機的主控SoC芯片,是打印/掃描整機中的核心控制部件。
它主要用于打印數(shù)據(jù)接收、解析和處理,打印引擎控制,掃描時序控制,掃描數(shù)據(jù),圖像處理,馬達控制等工作,單芯片即可滿足打印、掃描、復(fù)印等多種典型應(yīng)用需求。
它采用異構(gòu)大小核結(jié)構(gòu),包括一個龍芯LA364核心、兩個龍芯LA132核心,三個核心共享512KB二級緩存,同時集成DDR3內(nèi)存、GMAC、OTG等多種功能模塊。
龍芯中科基于龍芯2P0500推出了打印機、掃描儀、復(fù)印機等多種解決方案,并與國內(nèi)多個主流打印機整機廠家合作,完成打印、掃描、復(fù)印等多種應(yīng)用適配。
大會現(xiàn)場,12家打印機廠商與龍芯中科簽訂了協(xié)議,將共建國產(chǎn)打印機新生態(tài)。
它們包括:長城信息股份有限公司、中船漢光科技股份有限公司、上海漢圖科技有限公司、西安電子科技大學(xué)、恒科科技產(chǎn)業(yè)有限公司、寧波華高信息科技有限公司、云南南天電子信息產(chǎn)業(yè)股份有限公司、北京辰光融信技術(shù)有限公司、北京高德品創(chuàng)科技有限公司、天津光電通信技術(shù)有限公司、浙江滄田智能信息科技有限公司、大連中盈科技股份有限公司。
六、龍芯方案展示:玩原神、聊微信都不是事兒
在大會展區(qū),近60家龍芯合作伙伴展出數(shù)百款基于龍芯CPU的解決方案,涵蓋信息化辦公、工業(yè)控制、智能制造、智能家居、數(shù)字五金等多個場景。
在游戲體驗區(qū),搭載龍芯3A6000處理器的電腦支持暢玩《云·原神》、《古墓麗影》等大型3D游戲。
在工作體驗區(qū),不但可以使用QQ、微信、釘釘?shù)瘸S棉k公軟件,中望CAD、云桌面、WPS、數(shù)字孿生開發(fā)引擎軟件等行業(yè)應(yīng)用也可以流暢地運行在龍芯電腦上。
還有五金電子區(qū)、自主工業(yè)自動化展區(qū)、教育體驗區(qū)、國產(chǎn)自主打印機體驗區(qū)等等特色展區(qū),都展現(xiàn)著龍芯生態(tài)的穩(wěn)健發(fā)展。
源:IT之家
2017年九月份龍芯俱樂部辦了一個龍芯3A主板的團購。作為多年關(guān)注龍芯的愛好者,我參加了這次團購,購買了一個龍芯3A3000的主板。鑒于目前龍芯3A4000處理器即將流片,而目前對即將過氣的龍芯3A3000處理器的性能并沒有一個比較詳細的評測,我使用phronix-test-suite對龍芯3A3000處理器做了一個盡可能理性、中立、客觀、全面的評測,不吹不黑,不夸大成績也不回避問題。
龍芯3A3000主板介紹
首先,還是曬曬圖,回顧一下龍芯3A3000主板的模樣。
圖1龍芯3A3000主板照片,風(fēng)扇下面是龍芯的CPU。另外兩塊散熱片下面分別是南橋和北橋。
圖2拆下風(fēng)扇后,龍芯3A3000 CPU的近照,其中的LS3A3000D-LP意思是說這是一個低功耗版本的龍芯3A3000CPU
圖3開機后BIOS中的信息,可以看到CPU的主頻是1400MHZ,一級指令緩存64KB,一級數(shù)據(jù)緩存64KB,二級緩存4MB。
圖4主板上的國產(chǎn)Unilc(西安紫光國芯半導(dǎo)體)內(nèi)存條
我拿到的這塊龍芯3A3000處理器不是性能最高的1.5GHz主頻版本,而是性能略低的1.4GHz版本。因此,在估算龍芯3A3000(1.5GHz)的性能時,應(yīng)該將我的測試結(jié)果乘以1.07。此外,需要說明的是龍芯3A3000筆記本里帶的龍芯3A3000的主頻被限制在了1.2GHZ。
拿到主板后,參照主板手冊以及百度貼吧的手冊,另外在龍芯俱樂部群和龍芯電腦用戶和開發(fā)者群網(wǎng)友的幫助下,我裝了一臺龍芯3A3000的主機,并安裝了Debian buster和Loongnix兩個操作系統(tǒng)。
作為龍芯的老粉絲,我用過福瓏6003的龍芯盒子以及8089D筆記本,兩個機器都是用龍芯2F的處理器。從個人的體驗上,使用龍芯2F的的圖形界面只能說是“能用”,真正使用起來還是太慢。龍芯3A3000的性能和龍芯2F相比有了非常大的進步,不管是Loongnix還是Debian,在使用上都可以稱得上是真正的流暢了。使用Firefox進行網(wǎng)頁瀏覽,觀看本地高清視頻都都十分流暢。從用戶體驗上,龍芯3A3000已經(jīng)完全可以滿足辦公、上網(wǎng)、聽音樂、看視頻這樣的基本需求了。
龍芯3A3000處理器性能評測方案
和主流的x86處理器相比,龍芯3A3000究竟有多大差距呢?從性能上,龍芯3A 3000相當(dāng)于哪一款CPU,即將流片的3A4000又相當(dāng)與那個處理器?和其他國產(chǎn)處理器相比,龍芯3A3000的性能究竟是高還是低?
為了回答以上的問題,我使用phoronix test suite中提供的有關(guān)CPU性能的benchmark程序,對X270筆記本上的i5-7200U處理器和龍芯3A3000處理器進行了詳盡的對比。此外,openbenchmarking網(wǎng)站上提供了很多不同處理器性能測試的結(jié)果,可以供人們更客觀的評測系統(tǒng)的性能。
我在openbenchmarking網(wǎng)站上發(fā)現(xiàn)了飛騰1500A和飛騰2000+處理器的部分評測結(jié)果,在本次測試中也將對利用這些數(shù)據(jù)進行對比。作為參照,我又尋找了部分Intel J1900處理器的性能數(shù)據(jù)。
最近一段時間,兆芯處理器在性能上進步飛速,已經(jīng)出了ZX-C、KX-5000以及KX-6000等多個系列的處理器,并且在網(wǎng)絡(luò)上也有了一些測評,但在Openbenchmarking網(wǎng)站上我沒有找到任何兆芯的最新處理器的蹤跡,因此在本文中無法對比兆芯和龍芯的性能了。
為了比較兩塊CPU在相同主頻下的性能差距,在測試中將Intel i5-7200U處理器的睿頻模式關(guān)掉,去掉自動降頻的電源管理,將頻率鎖定在2.5GHz。i5-7200U處理器最高可以睿頻到3.1GHz,因此其實際峰值性能比本次測試時的數(shù)據(jù)的要高。
在測試中,我們同時關(guān)注處理器的單核性能和多核性能。最近,兆芯KX6000系列處理器在評測中根據(jù)7zip等多線程程序的測試結(jié)果,得出KX6000性能相當(dāng)于i5-7400處理器的結(jié)論,但卻有意無意的忽略了KX6000是8核8線程的處理器而i5-7400是4核4線程處理器。如果看單核性能,那么KX6000大致相當(dāng)于i5-7400的一半。
下面是本測評中的多款處理器的基本情況對比。
測試使用的是7.8.0版本的phronix-test-suite。
測試分別在配備了Intel i5-7200U處理器的X270筆記本電腦以及自行組裝的龍芯3A3000電腦上進行,其中對龍芯3A3000的測試在Debian testing系統(tǒng)上進行。測試環(huán)境如表2所示:
在測試過程中,我發(fā)現(xiàn)了疑似龍芯實驗室使用1.5GHz的龍芯3A 3000處理器在Loognix系統(tǒng)上進行的部分測試結(jié)果。因此,我就不再單獨使用Loongnix系統(tǒng)對該處理器的性能進行測試了。
對部分應(yīng)用,在編譯時采用了n32的abi,即增加參數(shù)-mabi=n32。
由于CPU性能是我最想了解的東西,因此在測試過程中主要關(guān)心能反應(yīng)CPU性能的測試,而不考慮對磁盤、顯卡、內(nèi)存等硬件的性能測試。
測試程序介紹及測試結(jié)果分析
科學(xué)計算
1。 scimark2
這個測試運行了SimiMark 2.0的ANSI C版本,它是由國家標準與技術(shù)研究所的程序員開發(fā)的科學(xué)和數(shù)值計算的基準。該測試由快速傅利葉變換、雅可比逐次超松弛、蒙特卡洛、稀疏矩陣乘法和密集LU矩陣分解基準構(gòu)成。本測試為單核性能測試。
測試結(jié)果:
圖5 Scimark2性能對比
測試結(jié)果如圖5所示。在圖中以龍芯3A3000(紅色)的性能為基準(1.0),i5-7200U(藍色)和J1900(綠色)的性能都與龍芯3A3000相比,數(shù)值越高性能越好。鑒于龍芯3A4000即將流片,根據(jù)龍芯方面放出的消息,龍芯3A4000相比3A3000同主頻性能提高了30%,同時主頻將從1.5GHz提高到2.0GHz。此外,龍芯3A4000還將增加256位SIMD指令,并將L3 cache從8MB增加到12MB,SPEC CPU2006的分值達到20分,達到龍芯3A3000的兩倍。
因此,我們以將3A4000的性能設(shè)為2.0,作為性能預(yù)測的參考。
從圖5的測試結(jié)果可以看出,在Scimark的Monte Carlo測試中,3A3000性能非常糟糕,只有i5-7200U的不到10%,甚至不到J1900的30%。這很不正常,可能有某個浮點運算沒有使用硬件浮點,而使用了軟件模擬的浮點運算。在其余的測試中,3A3000性能均與J1900相當(dāng),部分測試性能優(yōu)于J1900。J1900和i5-7200U相比,雖然其主頻也有1.99GHz,但單核性能只有i5-7200U的30%左右。
2.FFTE
FFTE是Daisuke Takahashi寫的計算1、2和3維的序列長度為(2 ^ p)*(3 ^ q)*(5 ^ r)的離散傅立葉變換的一個包。單核性能測試。
3.fhourstones
解Connect-4游戲,測試處理器的整數(shù)性能。單核性能測試。
4. gmpbench
用GMP 6.1.2數(shù)學(xué)庫進行的性能測試。注意,gmpbench只考慮程序的整數(shù)性能,不是浮點性能。單核性能測試。https://gmplib.org/gmpbench.html
5. minion
Minion是一個設(shè)計上具有可擴展性的開源約束求解器。單線程性能測試。
6. mpcbench
GNU MPC是復(fù)數(shù)算術(shù)的C庫。單線程性能測試。
multichase
This is a benchmark of Google‘s multichase pointer chaser program。單線程,多線程性能測試。
圖6 FFTE、Fhourstone、Minion、Multichase性能測試
在以上的測試中,我們找到了兩個關(guān)于J1900的測試數(shù)據(jù),其中ffte性能僅相當(dāng)于龍芯3A3000的2/3, fhourstone性能是龍芯的1.1倍。從總體性能上看,i5-7200U在以上的性能測試是龍芯3A3000的2倍到4.5倍不等,集中分布在2.3倍左右,我們預(yù)測龍芯3A4000的單核性能在這些測試中能達到i5-7200U的85%左右。i5-7200U在gmpbench和mpcbench中測試中性能是龍芯3A3000的4.5倍左右,優(yōu)勢明顯,可能與數(shù)學(xué)庫或者編譯器的優(yōu)化有關(guān)。
8. Bullet
Bullet物理引擎。 Bullet是一個開源的物理模擬計算引擎,世界三大物理模擬引擎之一。單線程性能測試。
9. himeno
The Himeno benchmark is a linear solver of pressure Poisson using a point-Jacobi method。單線程性能測試。
10. tscp
這是TSCP,Tom Kerrigan的簡單國際象棋程序的性能測試,它有一個內(nèi)置的性能基準。單線程性能測試。
圖7 Bullet、Himeno和TSCP測試
在這一組測試中,i5-7200U優(yōu)勢非常明顯,除了在國際象棋性能測試TSCP上速度是3A3000的3.6倍,在其他測試中速度基本都是龍芯3A3000的4倍以上,在bullet的ragdoll測試中性能甚至達到了龍芯3A3000的30倍。我們對bullet的代碼進行了分析,發(fā)現(xiàn)其中有大量的SIMD相關(guān)的代碼以及針對X86處理器的匯編語言優(yōu)化。這是bullet在Intel處理器下運行速度快的重要原因。而針對Ragdoll測試,我們發(fā)現(xiàn)代碼中有大量的三角函數(shù)運算,而龍芯目前三角函數(shù)的計算是有問題的,沒有啟用硬件浮點,而是使用的軟件模擬,因此速度較慢。
11. hpcg
高性能共軛梯度算法,由桑地亞國家實驗室開發(fā)的面向超算的科學(xué)基準程序。多線程測試。
12. npb
NPB,NAS并行基準,是美國國家航空航天局為高端計算機系統(tǒng)開發(fā)的基準。此測試配置文件目前使用MPI版本的NPB。多線程測試。
13. n-queens
OpenMP版本的N-皇后問題解法器。問題大小是18。多核性能測試。
14. mafft
100個丙酮酸脫羧酶序列的比對。多線程性能測試。
15. primesieve
Primesieve使用高度優(yōu)化的Eratosthenes篩法實現(xiàn)來產(chǎn)生素數(shù)。Primesieve對CPU L1/L2緩存性能進行基準測試。多線程性能測試。
圖8 HCCG、NPB、N-Queens、MAFFT和Primesieve測試
以上的測試都是多線程的性能測試,HPCG測試中i5-7200U性能達到了龍芯3A3000的3.76倍。在NPB的測試中,龍芯在其中3項超過了J1900,另外兩項不如J1900。在N-皇后問題、MAFFT以及素數(shù)篩選的測試中,i5-7200U性能是龍芯3A3000的兩倍左右;如果龍芯3A4000性能能夠達到3A3000的兩倍,在這幾個測試中龍芯3A4000將能夠達到i5-7200U的性能。再次強調(diào)一下,這是多線程測試!
加密算法
16. Botan
Botan是一個跨平臺的C++的開源加密庫,支持大多數(shù)的所有公開的加密算法。(單線程測試)
Gnupg
用GnuPG加密文件,統(tǒng)計耗時。單線程性能測試。
圖9 Botan和Gnupg測試
在Botan測試中,龍芯3A3000在部分項目上與i5-7200U的差距在3倍左右。在AES的加密和解密這兩個測試中,和i5-7200U有近80倍的性能差異!原因在于i5-7200U存在AES加密解密硬件實現(xiàn),效率很高,而龍芯3A3000沒有這樣的功能,或者暫時無法使用該功能。此外,在Botan中同樣存在針對X86的匯編優(yōu)化,在能使用到這些優(yōu)化的測試中,x86處理器就非常有優(yōu)勢。
多媒體編碼
18~22。 encode-flac, encode-mp3, encode-ogg, encode-opus, encode-wavpack?
將音頻文件轉(zhuǎn)碼為flac,mp3,ogg,opus和wavpack,統(tǒng)計所需時間。
espeak
這個測試需要花費多長時間的用espeak語音合成引擎讀取古騰堡項目的The Outline of Science,并輸出到WAV文件。單線程性能測試。
24. dcraw
用DCRAW轉(zhuǎn)換多個高分辨率RAW NEF圖像文件到PPM圖像格式,統(tǒng)計所需要的時間。單線程性能測試。
25. mencoder
這個測試使用mplayer的mencoder編碼器程序和LIVAVCODEC系列來測試系統(tǒng)的音頻/視頻編碼性。單線程性能測試。
26. Vpxenc
這是一個標準的視頻編碼性能測試,使用谷歌的libvpx庫和vpxenc命令實現(xiàn)VP8/WebM格式的編碼。單核性能測試。
圖10多媒體相關(guān)性能測試
在音視頻壓縮編碼的測試中,龍芯再次完敗于Intel處理器,不管是J1900還是i5-7200U。究其原因,還是在優(yōu)化上。以上這些多媒體應(yīng)用,針對x86處理器進行了大量的優(yōu)化,而沒有對龍芯處理器進行優(yōu)化。
壓縮算法
27. Compress-7zip
用7zip程序自帶的benchmark功能測試程序的多線程性能。
28. Compress-gzip
用tar程序壓縮Linux源碼包,檢驗系統(tǒng)自帶的gzip程序的單線程性能。
優(yōu)化以后的gzip程序
29. Compress-pbzip2
用并行的bzip2算法壓縮Linux內(nèi)核源碼包,統(tǒng)計所需時間。多線程程序。
網(wǎng)絡(luò)應(yīng)用
30. Apache
Apache基準程序,評價標準是發(fā)出100萬的請求,100個并發(fā),看系統(tǒng)每秒能夠處理多少。多線程性能測試。
31. ebizzy
Ebizzy測試。Ebizzy可以生成類似Web服務(wù)器的工作負載。
32. postmark
這是一個測試NETAPP的POSTMARK基準測試,旨在模擬類似于Web和郵件服務(wù)器所承受的任務(wù)的小文件測試。此測試配置文件將設(shè)置POSTMARK以同時執(zhí)行500個文件的25000個事務(wù),文件大小介于5到512千字節(jié)之間。
圖11壓縮算法和網(wǎng)絡(luò)應(yīng)用測試
從以上的測試結(jié)果可以看出,在壓縮算法以及網(wǎng)絡(luò)應(yīng)用上,龍芯3A3000和J1900性能接近。和i5-7200U處理器相比,差距也在有兩倍左右。需要指出的是,除了gzip是單線程測試,其余的測試都是多線程測試。
內(nèi)存測試
33. Cachebench
這是Calebench的性能測試,它是LLCBench的一部分。Cachebench是用來測試內(nèi)存和緩存帶寬性能的。
34. stream
系統(tǒng)內(nèi)存(RAM)性能基準測試。
圖12訪存性能測試
在stream測試和CacheBench測試中,龍芯3A3000終于實現(xiàn)了對J1900的全面優(yōu)勢。另外,除了在Cachebench中有兩項數(shù)據(jù)明顯若與i5-7200U,在其他測試內(nèi)容中龍芯3A3000和i5-7200U性能相當(dāng)。能有這樣好的性能,還是因為龍芯處理器歷史上因為訪存性能太差深受其害,然后花了很大的力氣優(yōu)化了訪存。可以期待龍芯3A4000一樣會有較好的訪存性能。
最后,根據(jù)openbenchmarking網(wǎng)站上找到的部分FT1500A和FT-2000+的數(shù)據(jù),和龍芯3A3000進行了對比。
基本上,龍芯3A3000的性能強于FT1500A,但明顯弱于FT-2000+。和FT1500A相比,F(xiàn)T-2000+性能有了很大的提升,部分得益于工藝的改進,從28納米提升到了16納米;部分得益于架構(gòu)的更新。我們預(yù)測,龍芯3A4000在繼續(xù)使用28納米工藝的前提下,將能夠在單核性能上追平甚至超越飛騰2000+處理器。由于飛騰2000+處理器有多達64個核,龍芯要在多核性能追趕飛騰還有很長的路要走。
3A3000在Monte Carlo模擬上性能意外的糟糕,很可能是某關(guān)鍵函數(shù)缺少優(yōu)化。
總結(jié)與展望
從縱向上看龍芯的發(fā)展,相比龍芯2F,龍芯3A3000的性能有了很大的進步。工藝上,從龍芯2F的90nm,提高到了龍芯3A3000處理器的28nm;主頻從龍芯2F的800MHZ提高到了1.5GHz。在用戶實際應(yīng)用上,基本可以達到流暢使用的程度。與Intel處理器相比,龍芯3A3000綜合性能相當(dāng)于Intel J1900處理器,單核性能相當(dāng)于intel i5-7200U的30%~40%。
通過本文中所進行的34項測試,我們發(fā)現(xiàn)龍芯3A3000在性能不好的根源有以下幾個:
同主頻性能較弱。從同主頻性能來看,龍芯3A3000已經(jīng)超過了J1900,但只有intel i5-7200U的60%~70%。預(yù)計2019年流片的龍芯3A4000同主頻性能至少有30%的性能提升。
主頻太低。這是龍芯處理器讓眾多愛好者耿耿于懷的的一個難以回避的弱點。誠然,主頻不代表所有性能,但主頻太低是萬萬不行的。J1900的同主頻性能弱于龍芯3A3000,但由于它的主頻可以到1.99GHz,并且還可以睿頻到2.4GHz,在多項測試中一樣超過了龍芯3A3000。Intel i5-7200U基礎(chǔ)主頻達到2.5GHz,睿頻可以到3.1GHz。飛騰2000+主頻可以到2.2GHz,而兆芯的KX-6000主頻甚至可以到3.0GHz。飛騰、兆芯處理器可能在同主頻性能上弱于龍芯,但還是可以靠著較高的主頻擊敗龍芯3A3000。
龍芯主頻較低的原因之一是落后的工藝制程,目前還在使用28nm工藝,而Intel、飛騰、兆芯等已經(jīng)在使用14nm工藝。根據(jù)龍芯的發(fā)展規(guī)劃,到2020年龍芯將使用14nm工藝對了龍芯3C5000進行流片,主頻能夠達到2.5GHz。
系統(tǒng)軟件優(yōu)化不夠。在測試中,我們發(fā)現(xiàn)的問題有三角函數(shù)等數(shù)學(xué)函數(shù)運算速度過慢,看起來部分硬件浮點運算的沒有得到應(yīng)用,而且龍芯缺少一個優(yōu)化的數(shù)學(xué)函數(shù)庫。在加密解密指令上,缺少AES硬件實現(xiàn)。在測試中,我們發(fā)現(xiàn)使用Debian操作系統(tǒng)、GCC 7.3和1.4GHz的龍芯3A3000進行的各項測試基本優(yōu)于使用Loongnix操作系統(tǒng)、GCC 4.9編譯器和1.5GHz龍芯3A3000的組合。我們認為編譯器的優(yōu)化對發(fā)揮龍芯的性能非常重要。在測試中,我們也發(fā)現(xiàn)使用4.14的Linux內(nèi)核會比3.10的Linux內(nèi)核上有相當(dāng)程度的性能提升,龍芯依然缺少優(yōu)化的Linux內(nèi)核。
應(yīng)用軟件優(yōu)化不夠。由于MIPS架構(gòu)缺少軟件生態(tài),各種應(yīng)用軟件缺少針對MIPS架構(gòu)的優(yōu)化。具體表現(xiàn)就是在很多軟件有針對X86系統(tǒng)的匯編優(yōu)化。要建立龍芯的生態(tài),發(fā)揮龍芯處理器的性能,相同級別的優(yōu)化不可缺少。
隨著龍芯未來架構(gòu)的優(yōu)化、主頻的提升,影響龍芯發(fā)展的瓶頸將不是處理器的性能,而是軟件生態(tài)的建設(shè),也就是系統(tǒng)軟件優(yōu)化以及應(yīng)用軟件優(yōu)化。其中,各種應(yīng)用軟件的優(yōu)化將是提升龍芯用戶體驗的捷徑。實際上,龍芯也已經(jīng)意識到了這些問題,提出了要學(xué)習(xí)蘋果,”app by app, feature by feature, pixel by pixel”的進行優(yōu)化。
當(dāng)下,龍芯3A4000的流片工作正在開展,預(yù)計到2019年初就能看到芯片了。在3A4000出現(xiàn)之前,我們對3A4000的性能進行一下預(yù)測。基于我們的評測,我們認為,3A4000的同主頻性能將從i5-7200U的60%~70%,提升到80%~90%,2.0GHz下單核性能達到i5-7200U的2/3,多線程性能超過i5-7200U。和國內(nèi)其他CPU相比,龍芯3A4000的同主頻性能將超過飛騰以及兆芯,單核性能也將超過飛騰2000+,但由于3A4000落后的28 nm工藝、依舊較低的主頻(2.0 GHz),龍芯3A4000的綜合性能將可能依舊無法超過主頻3.0GHz的兆芯KX-6000。如果2019年兆芯KX-6000不能大規(guī)模量產(chǎn)上市,龍芯3A4000還是有可能成為2019年國內(nèi)可以買到的單核性能最強的國產(chǎn)自主處理器。
龍芯處理器和Intel、AMD的高性能處理器差距還是非常巨大,龍芯要走的路還很長。期待龍芯在未來采用更好的工藝,更優(yōu)化的微架構(gòu),也期待龍芯能夠在編譯器、數(shù)學(xué)庫、操作系統(tǒng)等系統(tǒng)軟件支持上有更好的表現(xiàn),構(gòu)建更好的應(yīng)用軟件生態(tài)系統(tǒng),期待著龍芯3A4000、3B 4000、龍芯3C 5000早日流片成功。
以上的評測只是一個非計算機專業(yè)的普通愛好者個人所為,不具有權(quán)威性,水平有限,時間倉促,數(shù)據(jù)繁多,有錯誤和疏漏在所難免,還請批評指正。