幾個月前,上海兆芯最新的產品ZXD在2017年北京國際互聯網科技博覽會暨世界網絡安全大會上亮相。ZXD雖然相對於Intel和AMD的CPU還有不小差距,但相對應兆芯第一款CPU ZXA而言,確實有著很大的進步——自上海兆芯自2013年成立以來,從第一款產品ZXA,到如今最新的產品ZXD,上海兆芯用了數年時間實現以VIA的技術為基礎,將產品的裸CPU性能提升了80%以上。
ZXC相當於ZXA性能有多少提升?
ZX-A 是兆芯的第一款CPU,技術源自VIA,擁有2個核心,主頻1.6G,採用臺積電40nm製造工藝。就其性能來說,根據相關單位的SPEC2006測試,主頻1.6G的ZXC在採用Ubuntu 14.04操作系統,ICC編譯器的情況下,成績為:
SPECint2006 : 11.3
SPECint_rate2006: 20.5
SPECfp2006 : 12.4
SPECfp_rate2006: 18.7
STREAM測試的單線程成績為:
Copy 5502.8MB/s;
Scale 5042.9MB/s;
Add 5321.6MB/s
Triad 5252.7MB/s
STREAM測試的多線程成績為:
Copy 5191.1MB/s;
Scale 5104MB/s;
Add 5383.8MB/s
Triad 5461.9MB/s
這裡介紹下,SPEC2006是在行業內相對比較權威的測試軟件,通過26個程序對CPU進行測試,然後計算結果,分數越高性能越好。不過SPEC2006測試也並非無懈可擊——可以通過不說明編譯器等條件作弊,是否打開auto parallelization也有有成績差異,還有base分值和peak分值會有一定的差別等等。
即便如此,相當於一些黑箱測試而言,SPEC依舊是相對比較公正的測試,能夠比較客觀的反映CPU的實際性能,畢竟絕對客觀的測試是不存在的,就如同高考,即便存在這樣或那樣的問題,但目前來看,依舊是最具可操作性,相對公平合理的考評方式(北京、上海除外)。
ZX-C是對VIA技術的引進消化吸收,相對於ZXA的2個CPU核,ZXC改為4個CPU核,而且CPU核之間核心通過 L2 Cache 交互,相比較ZXA而言,ZXC的多核性能有所提升。針對從VIA引進的內核存在資源冗餘和不均衡的問題做了重新設計,並採用了臺積電28nm製造工藝,降低了功耗,提高了穩定性,減少了量產成本,將CPU的主頻從ZXA的1.6G,提升到ZXC的2G。
另外,兆芯還重新設計 FSB 接口,FSB 頻率從 1066MHz 提高到 1333MHz。對訪存單元進行了重新設計,設計了全新的 L1/L2 訪存控制單元,優化訪存性能等工作。
而這些修改最直接的體體現就是在性能上,根據相關單位的SPEC2006測試,主頻2.16G(睿頻)的ZXC在採用Ubuntu 14.04操作系統,ICC編譯器的情況下,成績為:
Specint 2006: 17
Specint rate2006: 50
Specfp 2006: 18.2
Specfp rate2006: 36.3
ZXC相對於ZXA,在單線程定點成績上提升了約54%,多線程提升了約147%;就浮點性能而言,ZXC相對於ZXA單線程性能提升了約50%,多線程性能提升了約50%。
雖然在Ubuntu 14.04操作系統,ICC編譯器的情況下,Specint 2006:17;Specfp 2006:18.2 的成績相對應Intel有較大的差距,但相對於ZXA而言,ZXC的進步著實不小。
ZXD性能再提升且彌補了ZXC的最大短板
之前介紹了,ZXC相對於ZXA,在單線程定點成績上提升了約54%,多線程提升了約147%;就浮點性能而言,ZXC相對於ZXA單線程性能提升了約50%,多線程性能提升了約50%。
但ZXC也有自己的短板,那就是前端總線——對於圖像、音頻、視頻、遊戲、FPGA綜合以及科學應用等應用,通常是對於大工作集的少部分數據進行操作,前端總線就成為一個主要的性能瓶頸。
ZXC延續了VIA原本的前端總線(VIA V4 bus)的設計——前端總線(front-side bus,FSB)是早期Intel芯片的計算機通信的接口,和AMD公司的EV6類似,其連接CPU和北橋芯片,內存控制器通常集成在北橋中——ZXC沒有將內存控制器集成到處理器上,而是在橋片裡。這樣一來,導致STREAM測試的成績就不太好看了。
根據STREAM 5.10測試的成績,單線程的成績為:
Copy: 7685.0 MB/s
Scale: 7446.4 MB/s
Add: 8129.5 MB/s
Triad: 7981.7 MB/s
4 線程測試成績為:
Copy: 7426.3 MB/s
Scale: 7504.0 MB/s
Add: 7656.8MB/s
Triad: 7787.7 MB/s
從中可以看出,ZXC的STREAM 測試成績是比較一般的,而且相對於ZXA而言提升也比較有限。
ZXD的最明顯改進之處就在於更換了更好的DDR4內存控制器,是國內首款集成了DDR4內存控制器的國產桌面CPU,而且ZXD還把內存控制器集成到芯片裡——相對於ZXC的DDR3內存控制器,ZXD採用了DDR4內存控制器,並把內存控制器集成到芯片裡,而非像ZXC那樣把內存控制器集成在橋片裡,而這個改變一定程度上提升了CPU的綜合性能。
此外,ZXD很有可能將FSB總線換了類似於Intel的dmi這樣的接口。兩者因素相加,使ZXC存在的短板不復存在。最典型的證明就是STREAM測試成績大幅提升。根據相關單位的測試,STREAM 5.10測試單線程成績為:
Copy: 10942.4 MB/s
Scale: 10371.4 MB/s
Add: 10603.1 MB/s
Triad: 9850.1MB/s
多線程成績為:
Copy: 12666.1 MB/s
Scale: 13060.3 MB/s
Add: 11270.2MB/s
Triad: 11302.6MB/s
從測試成績可以看出,ZXD的SRTEAM測試成績相對於ZXC有了顯著提升,彌補了過去的短板。並且通過更新了ddr4內存控制器,在商業上還能有效應對各家內存大廠的DDR3內存條停產的問題。
除了內存控制器上的改進之外,ZXD增加 X86 指令緩衝器,提供了更精確的循環緩衝功能,並通過整體流水線前後端各級優化,大幅減少流水線級數,有效降低了分支預測失敗的性能損失......經過一系列的改進,直接體現在ZXD相對於ZXC的性能提升,根據相關單位的數據,在採用Ubuntu 14.04操作系統,內存為 32GB DDR4內存,硬盤為Intel 530 系列120GB 的SSD硬盤,編譯器為ICC,ZXD睿頻到2.2G的情況下,SPEC2006測試成績為:
Specint 2006: 20.4
Specint rate2006: 63.3
Specfp 2006: 23
Specfp rate2006: 47.6
ZXD這個成績雖然相對於Intel和AMD依舊有不小的差距,就裸CPU性能而言,ZXD大約是Intel主流四核CPU的30%—40%。而且必須說明的是,兆芯對CPU架構的修改還是相對有限的,目前所做的修改並非脫胎換骨的大換血,比如沒有實現類似於AMD從“打樁機”到Zen的提升和飛躍。
不過,ZXD相對於ZXA而言,就對桌面CPU最重要的單線程性能來說,ZXD的Specint 2006成績相對應ZXA提升了80%,Specfp 2006成績相對於ZXA提升了90%,這已經是非常大的進步了