中國(guó)X86 CPU同主頻能超越AMD?這才是真相
日前,由北京市網(wǎng)信辦、北京市公安局主辦的北京國(guó)際互聯(lián)網(wǎng)科技博覽會(huì)暨世界網(wǎng)絡(luò)安全大會(huì)在北京展覽館開幕。上海兆芯(VIA Alliance Semiconductor)以“自主安全可靠的國(guó)產(chǎn)x86解決方案”為主題,攜公司自主設(shè)計(jì)研發(fā)的國(guó)產(chǎn)x86通用處理器,以及PC、服務(wù)器等參展。“首次公開亮相的兆芯ZX-D系列處理器及國(guó)產(chǎn)整機(jī)VR體驗(yàn),更成為現(xiàn)場(chǎng)矚目的焦點(diǎn)”——這種報(bào)道更是出現(xiàn)在一些媒體的稿件中。
本文引用地址:http://2s4d.com/article/201705/358646.htm而且根據(jù)現(xiàn)場(chǎng)的一塊展板,兆芯ZX-D的SPEC2006定點(diǎn)成績(jī)達(dá)到20分,考慮到ZX-D只有2G主頻,也就是2G主頻下實(shí)現(xiàn)了20分,換算一下就是10/G。而根據(jù)AMD公布的數(shù)據(jù),Zen在3.4Ghz頻率下,使用GCC4.6編譯器,優(yōu)化參數(shù) -O2,定點(diǎn)成績(jī)?yōu)?1.5,換算一下就是9.26/G。
這家名不見經(jīng)傳的中國(guó)IC設(shè)計(jì)公司的CPU在同主頻的情形下竟然超越了AMD,這實(shí)在令人震撼!那么,事實(shí)究竟怎么樣呢?
“超越”AMD的兆芯是何許人也
上海兆芯集成電路有限公司(英文名:VIA Alliance Semiconductor)是成立于2013年的國(guó)資控股企業(yè)。上海市國(guó)資委下屬上海聯(lián)和投資有限公司、臺(tái)灣威盛電子是兩大股東,其中上海聯(lián)和投資有限公司出資2億美元,占股80%,威盛電子出資4975萬美元,占20%。
VIA在收購了美國(guó)Cyrix和半人馬半導(dǎo)體等公司后,開發(fā)了一系列產(chǎn)品,不過由于性能有限,被Intel和AMD碾壓而被趕出X86 CPU市場(chǎng)。
而VIA曾經(jīng)輝煌過的橋片,也因遭遇Intel的X86專利大棒暴擊而失去了市場(chǎng)份額。雖然由于HTC曾經(jīng)的輝煌(一度市值高于諾基亞),且VIA和HTC的幕后老板都是王雪紅,VIA即便半死不活,王雪紅也可以支撐,但隨著HTC的手機(jī)業(yè)務(wù)在幾年時(shí)間內(nèi)急轉(zhuǎn)直下,這使得王雪紅不得不向大陸尋求資金援助。于是就有了上海國(guó)資委和VIA成立合資公司的事件。隨后,兆芯承接了核高基01專項(xiàng),獲得了數(shù)十億項(xiàng)目經(jīng)費(fèi)支持。
關(guān)于兆芯的具體介紹,官方有詳細(xì)的介紹,如下圖,因此就不詳細(xì)說了。
可以說,兆芯的技術(shù)源自VIA,而VIA的技術(shù)源自收購自美國(guó)的Cyrix和半人馬半導(dǎo)體。
因此,如果兆芯官方展板沒有水分——只有2G主頻的ZX-D SPEC2006定點(diǎn)成績(jī)達(dá)到20分,也就意味著在同主頻下ZX-D的性能超越了AMD。
換言之,就是VIA在寂滅數(shù)年后,得道中國(guó)大陸資金輸血,在主頻相同的情況下,能立馬秒翻了AMD苦心孤詣才開發(fā)出來的Zen......這實(shí)在是令人目瞪口呆。
VIA Alliance Semiconductor的ZX-D真的能超越AMD的Ryzen?
其實(shí),北京國(guó)際互聯(lián)網(wǎng)科技博覽會(huì)暨世界網(wǎng)絡(luò)安全大會(huì)并非ZX-D的第一次亮相,在“SEMICON China 2017國(guó)際半導(dǎo)體展”上,兆芯(VIA Alliance Semiconductor)副總裁傅城博士在會(huì)議上公布繼開先ZX-C系列處理器之后,兆芯最新一代ZX-D系列4核和8核通用處理器目前已經(jīng)成功流片。
此外,媒體還報(bào)道:在展會(huì)上業(yè)內(nèi)人士還向我們透露,兆芯將在明年(2018年)推出16nm的ZX-E 8核CPU,并公開了Fritz Chess Benchmark國(guó)際象棋性能測(cè)試的成績(jī)。而且在測(cè)試成績(jī)的圖片上還有“兆芯處理器媲美國(guó)際主流水準(zhǔn)”的字樣。
在這張圖表中,首先要說明的是,存在比較嚴(yán)重的數(shù)據(jù)錯(cuò)誤,比如I5 7500被拔高了3000分左右,而ADM FX8370的成績(jī)被壓低了3000分。一些媒體根據(jù)圖表報(bào)道的文章中稱:“運(yùn)行在3.0GHz頻率下的ZX-E8核心處理器性能已經(jīng)超過了AMD的FX-8370處理器”,這完全是將FX 8370處理器的測(cè)試成績(jī)壓低3000多分的前提下,得出的結(jié)論。
四核版的ZX-C的國(guó)際象棋分?jǐn)?shù)是3523,四核版的ZX-D的國(guó)際象棋分?jǐn)?shù)為4316。而同樣四核的Zen的分?jǐn)?shù)為9360,是ZX-D(四核版)的2倍有余。由于該圖表中沒有標(biāo)注Zen的具體主頻,考慮到AMD的銳龍?zhí)幚砥髦黝l很可能會(huì)在3G以上,如果以3G主頻來計(jì)算,同主頻下Zen的國(guó)際象棋分?jǐn)?shù)也是ZX-D的1.5倍。即便表格中的Zen主頻達(dá)到4G(不過GF代工的Zen主頻貌似只有3.6G),ZX-D在同主頻下的國(guó)際象棋測(cè)試依舊不敵Zen。
因此,根據(jù)上海兆芯在北京國(guó)際互聯(lián)網(wǎng)科技博覽會(huì)暨世界網(wǎng)絡(luò)安全大會(huì)公布的展板,在同主頻下,VIA Alliance Semiconductor的ZX-D是優(yōu)于ADM四核的Zen。
但根據(jù)“SEMICON China 2017國(guó)際半導(dǎo)體展”上兆芯后,媒體發(fā)布的印有兆芯官方字樣的圖表,在同主頻下,在單線程性能方面,ZX-D和ADM四核的Zen,差距還是比較大的。
如此一來,兆芯給出的官方宣傳就自相矛盾了。那么,在自相矛盾的背后,到底隱藏了怎樣的真相呢?
ZX-D的性能到底怎么樣?
要探究ZX-D的性能,其實(shí)只要探究ZX-C的性能,并根據(jù)國(guó)際象棋測(cè)試中展示的ZX-C和ZX-D性能差距做一定增幅就可以了。
那么,ZX-C性能到底怎么樣呢?
根據(jù)實(shí)際測(cè)試,測(cè)試的編譯器采用GCC 4.8.4,編譯的選項(xiàng)采用-Ofast以及profiling,ZX-C(2G主頻)的SPEC06測(cè)試成績(jī)?nèi)缦拢?/p>
400.perlbench 11.9
401.bzip 2 8.39
403.gcc 10.5
429.mcf 10.9
445.gobmk 10.6
456.hmmer 10.7
458.sjeng 10.9
462.libquantum 23
464.h264ref 14.7
471.omnetpp 7.12
473.astar 7.49
483.xalancbmk 9.59
SPEC CINT2006 10.77
410.bwaves 12.9
416.gamess 8.25
433.milc 11.2
434.zeusmp 9.59
435.gromacs 5.79
436.cactusADM 9.64
437.leslie3d 9.58
444.namd 7.68
447.dealII 13
450.soplex 11.7
453.povray 11.3
454.calculix 6.44
459.GemsFDTD 10.6
465.tonto 6.76
470.lbm 14.1
481.wrf 10.1
482.sphinx3 12.8
SPEC FP2006 9.77
作為參照筆者找來了Intel G1840和Intel i5 4460,在同樣的測(cè)試環(huán)境下,以ZX-C4600、Intel G1840和Intel i5 4460三款處理器的成績(jī)做對(duì)比。
從圖中可以看出,C4600、G1840和i5 4460三款處理器CINT2006的分值分別為10.77、25.8和35.32,也就是定點(diǎn)性能G1840是兆芯/VIA C4600的2.4倍,i5 4460是兆芯/VIA C4600的3.3倍。三款處理器CFP2006的分值分別是9.77和27.1和40.33,也就是說浮點(diǎn)性能G1840是兆芯/VIA C4600的2.8倍,i5 4460是兆芯/VIA C4600的4.1倍。
從SPEC CPU2006單線程程序的性能對(duì)比可以看出,2GHz的兆芯/VIA C4600和主流處理器如3.2GHz的i5 4460性能差3.3(定點(diǎn))到4.1(浮點(diǎn))倍。
從每GHz的SPEC CPU2006分值可以算出,C4600每GHz為5分左右,而Intel Haswell處理器每GHz的分值為9-12分左右——賽揚(yáng)G1840和i5 4460的分值差距可能源自AVX等指令的向量?jī)?yōu)化加成,L3 cache大小和ddr頻率等差別。
因此,在定點(diǎn)和浮點(diǎn)每GHz主頻的SPEC2006測(cè)試都為5分左右的情況下,根據(jù)國(guó)際象棋測(cè)試,ZX-D在測(cè)試成績(jī)上僅僅小幅度優(yōu)于ZX-C。在此情形下,每GHz主頻的SPEC CPU2006定點(diǎn)成績(jī)優(yōu)于AMD公布的9.26的可能性是非常小的。
ZX-D的SPEC2006定點(diǎn)、浮點(diǎn)達(dá)20分的關(guān)鍵在于編譯器
SPEC2006存在一個(gè)問題,那就是測(cè)試結(jié)果非常依賴編譯器和所選擇的優(yōu)化選項(xiàng)。
在SPEC測(cè)試中,不同的編譯器會(huì)帶來不同的結(jié)果。而且是否開啟向量?jī)?yōu)化,以及并行選項(xiàng)都會(huì)對(duì)測(cè)試結(jié)果造成很大影響。比如SUN就曾經(jīng)通過編譯器優(yōu)化將測(cè)試成績(jī)提升50%,而作為業(yè)界巨頭的Intel,其ICC編譯器更是威力無窮——在采用ICC的情況下,可以取得大幅優(yōu)于GCC的測(cè)試成績(jī)。
筆者有幸從權(quán)威第三方單位,拿到了ZX-C的ICC測(cè)試成績(jī),單線程定點(diǎn)17.4,浮點(diǎn)18.2。
相對(duì)于編譯器采用GCC 4.8.4的成績(jī):定點(diǎn)10.77,浮點(diǎn)9.77。使用ICC后成績(jī)可謂突飛猛進(jìn),單線程定點(diǎn)成績(jī)提升了61.5%,單線程浮點(diǎn)成績(jī)提升了86.2%。
既然ICC這么好,那為何大家還普遍使用GCC呢?其中的原因之一就在于ICC的很多優(yōu)化過于極端,在一些應(yīng)用中甚至?xí)?dǎo)致運(yùn)行出錯(cuò),所以目前GCC是主流。ICC對(duì)于兆芯/VIA而言,不服跑個(gè)分的因素遠(yuǎn)遠(yuǎn)大于日常中能起到的作用。
而ZX-D的SPEC2006定點(diǎn)、浮點(diǎn)達(dá)20分的成績(jī),其實(shí)就是使用ICC測(cè)試后得出的成績(jī)。為此,筆者專門咨詢了參與ZX-D測(cè)試的專家,得到的回復(fù)是:如果要達(dá)到20分這個(gè)水平,那必然是ICC下的測(cè)試結(jié)果。
另外ZX-D在緩存和內(nèi)存控制器上的改進(jìn)也一定程度上提升了SPEC測(cè)試的成績(jī)。
ZX-D將內(nèi)存控制器和CPU集成到了一起,這種做法可以使SPEC2006的測(cè)試成績(jī)相對(duì)于ZX-C提升5-6%左右(ZX-C的內(nèi)存控制器沒有和CPU集成在一起)。將緩存從ZX-C的2M提升到4M,也有助于提升SPEC2006測(cè)試成績(jī)。
不過優(yōu)化片外的訪存模塊和集成度的提升實(shí)際效果比較有限,遠(yuǎn)遠(yuǎn)比不了微結(jié)構(gòu)改進(jìn)優(yōu)化帶來的IPC提升。什么是微結(jié)構(gòu)優(yōu)化改進(jìn)呢?比如AMD采用Zen替換了性能相對(duì)落后的打樁機(jī)和挖掘機(jī),這種改變才能給CPU性能帶來質(zhì)的飛躍。
對(duì)ZX-D的SPEC2006定點(diǎn)、浮點(diǎn)成績(jī)持保留態(tài)度
由于兆芯(VIA Alliance Semiconductor)在之前的宣傳中存在很大水分和數(shù)據(jù)造假的前科。比如在“十二五”科技成果展上,兆芯官方資料宣稱:國(guó)產(chǎn)X86通用處理器的成功自主研發(fā)和量產(chǎn),令國(guó)產(chǎn)處理器在性能方面完成了一次跨越式的提升,從“十二五”初期的不足國(guó)際整體水準(zhǔn)的10%提升到了目前的80%。
而當(dāng)時(shí),兆芯/VIA只有ZX-C,而ZX-C和Intel G1840和I5 4460的成績(jī)對(duì)比之前已經(jīng)介紹了,就定點(diǎn)而言,I5 4460是ZX-C的3.3倍,G1840是ZX-C的2.4倍。就浮點(diǎn)而言,I5 4460是ZX-C的4.4倍,G1840是ZX-C的2.8倍。
在此情形下,在“十二五”科技成果展上宣傳:從“十二五”初期的不足國(guó)際整體水準(zhǔn)的10%提升到了目前的80%”,這種宣傳注水太過嚴(yán)重。
而在“SEMICON China 2017國(guó)際半導(dǎo)體展”之后公布的國(guó)際象棋測(cè)試圖表,也存在數(shù)據(jù)造假的問題。比如Intel I5 7500跑分虛高3000分。
再比如AMD的FX 8370的測(cè)試成績(jī)有很大問題——兆芯提供的圖表中,F(xiàn)X8370的成績(jī)只有9000多分,但這個(gè)分?jǐn)?shù)大約只和FX 6350差不多。
根據(jù)網(wǎng)絡(luò)公布的測(cè)試,F(xiàn)X 8370在國(guó)際象棋測(cè)試中跑出了12751,還的測(cè)試甚至跑出了13546分的成績(jī)(這個(gè)成績(jī)可能是超頻下取得的)。而在兆芯提供的圖表中,F(xiàn)X8370的成績(jī)只有9300多分,明顯少了3000多分。由于偏差幅度實(shí)在是太大,這已經(jīng)不能用測(cè)試誤差來自圓其說了。
有鑒于兆芯(VIA Alliance Semiconductor)官方宣傳資料有嚴(yán)重注水和造假的前科,對(duì)于本次展板上的ZX-D的SPEC2006定點(diǎn)達(dá)到20分,浮點(diǎn)超過20分,特別是在沒有標(biāo)注測(cè)試環(huán)境的情況下,大家沒必要將之奉為圣經(jīng)。
考慮到ZX-D其實(shí)是ZX-C的“增加集成度+增加緩存”版本,筆者認(rèn)為,如果是采用ICC編譯器的結(jié)果,那么在SPEC測(cè)試中優(yōu)化選項(xiàng)全開,取多次測(cè)試的最好成績(jī),到達(dá)20分還是有一定可能性的。
但如果兆芯(VIA Alliance Semiconductor)官方或者有媒體宣稱ZX-D定點(diǎn)達(dá)20分,浮點(diǎn)超越20分是在GCC下的成績(jī),在沒有權(quán)威第三方給出測(cè)試成績(jī)錢,筆者持保留態(tài)度。
畢竟,根據(jù)AMD公布的數(shù)據(jù):
在3.4Ghz頻率下,使用GCC4.6編譯器,優(yōu)化參數(shù)為-O2,Piledriver(打樁機(jī))和excavator(挖掘機(jī))的SPECint06測(cè)試值分別為:20.7、19.2。換言之,如果ZX-D SPEC2006定點(diǎn)達(dá)20分的成績(jī)是GCC下的,那么意味著ZX-D可以匹敵3.4G主頻下的Piledriver和excavator,而這個(gè)成績(jī)顯然也和兆芯自己發(fā)布的國(guó)際象棋測(cè)試圖表相違背。
而且經(jīng)過實(shí)測(cè),VIA Alliance Semiconductor的ZX-D實(shí)際性能和Intel atom j1900相當(dāng)。本質(zhì)上說,ZX-D是基于ZX-C的改版,在微結(jié)構(gòu)不動(dòng)情況下,做的SoC設(shè)計(jì),集成了內(nèi)存控制器,pcie控制器等,二級(jí)cache變大。為何只做SoC設(shè)計(jì)呢?原因在于微結(jié)構(gòu)的改動(dòng)容易錯(cuò),周期長(zhǎng)。而SoC的設(shè)計(jì)相當(dāng)于集成,用ip攢芯片見效快。
總而言之,ZX-D實(shí)際性能遠(yuǎn)遠(yuǎn)達(dá)不到3.4G主頻下的Piledriver和excavator的水平。在北京國(guó)際互聯(lián)網(wǎng)科技博覽會(huì)暨世界網(wǎng)絡(luò)安全大會(huì)現(xiàn)場(chǎng)展板——兆芯ZX-D的SPEC2006單線程定點(diǎn)成績(jī)達(dá)到20分,浮點(diǎn)超越20分,這個(gè)成績(jī)也是在ICC下取得的。
評(píng)論