tft每日頭條

 > 生活

 > cpu 性能對比十年前

cpu 性能對比十年前

生活 更新时间:2024-11-09 21:25:42

出品:科普中國

制作:鐵流

監制:中國科學院計算機網絡信息中心

一直一來,缺芯少魂一直是中國信息産業的心病,中國的CPU市場也一直被Intel、ARM等國外廠商壟斷,龍芯、申威、飛騰等國産CPU在社會上也往往遭到别有用心之徒諸如“打磨芯片”、“騙經費”、“政績工程”等輿論抨擊。不久前,采用申威26010的神威太湖之光在TOP500刷榜,飛騰也公布了采用ARM指令集的飛騰1500A和飛騰2000,龍芯的3A3000也順利完成流片,那麼這些國産CPU的性能到底如何呢?

如何評價CPU

如何評價CPU的性能呢?從體系結構的角度來看,有個指标叫MIPS,即每分鐘執行多少條指令,執行指令數量越多,性能就越好,但這存在一個問題,當CPU指令集不同的時候,比較MIPS就意義不大了——比如A一條指令隻算一個加法,B一條指令能做一個1024點的FFT。特别是在不同指令集的情況下,如何評價CPU的性能呢?

評價CPU性能必須考慮應用的多樣性,比如科學運算重視雙精浮點性能,但是如果數據供不上,運算能力再強也沒用;比如PC日常使用更偏重于定點性能;再比如計算中心多任務環境關注的是吞吐率......因此單純用某一個指标來衡量CPU性能是不科學的,必須綜合考量。

業界也推出了很多基準測試程序,比如針對CPU的SPEC,針對嵌入式應用的EEMBC等。SPEC測試是比較權威的測試程序。和一些黑箱測試程序調整計分方式和計分權重後測試結果就發生變化不同,SPEC測試到底跑了什麼程序,以及各項程序跑分和計分方式全部公開透明,而且覆蓋範圍廣——SPEC2000有12個定點程序,14個浮點程序,而且有比較強的代表性,比如gzip、vpr、GCC、mef、eon等。而SPEC2006則把定點程序擴展到14個定點程序和16個浮點程序。

在計分方法上,SPEC在計分上采用歸一化的幾何平均方法來進行綜合性能評估——将不同CPU的執行時間與參照對象相比較後得到一個相對值。SEPC2000的參照對象是Ultra SPARC 2工作站的主頻為300Mhz的CPU。如果運行測試程序1的時間是參照對象的十分之一的話,測試就是1000分,測試程序2的耗時是參照對象的八分之一的話,則為800分.....最後再算幾何平均——比如SEPC2000有12個定點測試,就将12個測試成績相乘再開12次方,SPEC2006相對于SPEC2000而言僅僅是擴展了幾項測試程序,使測試更加科學合理。這裡,我們以三星獵戶座7420和華為麒麟950為例計算SPEC測試成績。

cpu 性能對比十年前(CPU性能大亂鬥國産CPU實力揭露)1

以上為兩款芯片的跑分成績,由于兩款SOC均是購買ARM的IP授權做集成的産物,獵戶座7420的成績其實是ARM Crotex A57的成績,華為麒麟950則是ARM Crotex A72的成績,将12個子項相乘再開12次方後,得到ARM Crotex A57在2.1G主頻時定點測試成績為1376分,換算一下就是655/G,ARM Crotex A72的定點成績則為749/G。

不過SPEC也非盡善盡美,測試存在容易受編譯器影響的問題。舉例來說,SUN曾經通過編譯器優化提升SPEC跑分50%,龍芯的某一代産品也曾用自主研發的LCC編譯器,比使用GCC定點跑分提升了60%。另外,即便同樣是GCC編譯器,不同版本的GCC編譯器下,測試成績也會有很大差異。筆者認為,出現這種現象的根源并非SPEC測試的缺陷,反而用事實說明了,最後的用戶體驗是軟件 硬件的結果,充分說明了軟硬件磨合的重要性。

可能有的讀者對不明白什麼是編譯器,在此說明一下,程序員在編程的時候寫的是編程語言,但是計算機運行的時候是機器語言,編譯器就是将程序員的編程語言翻譯成機器語言的工具。

龍芯、飛騰、申威和Intel的比較

現在,我們先就龍芯和飛騰的桌面芯片與Intel的CPU做比較。由于桌面芯片更加注重單線程性能——單核性能是基礎,很多程序都依賴單進程的處理速度,如果單核性能上不去,核心數再多也沒用,這也是AMD 六核、八核芯片打不赢Intel 四核芯片的原因。另外,對于桌面芯片來說,日常使用中更加倚重定點性能。因此,在這裡我們以單線程實際測試的定點成績做比較。

在編譯器為GCC5.2的情況下,Intel I5 4460在3.2G主頻下SPEC2006的定點成績為32分;在編譯器為GCC4.4.7的情況下,龍芯3A3000在1.5G主頻下的定點成績為11分;在編譯器為GCC4.8的情況下,飛騰1500A在1.8G主頻的定點成績為10分。誠然Intel在編譯器上占有一定優勢,這裡為了方便比較就忽略編譯器帶來的差異了,就定點性能而已,龍芯3A3000和飛騰1500A的單線程性能大約為Intel I5 4460的三分之一。

差距在哪裡呢?主要是在主頻上,其次在微結構。龍芯3A3000的主頻隻有1.5G,飛騰1500A的主頻隻有1.8G,而Intel I5 4460的主頻達3.2G,而且如果需要的話,還能睿頻到3.4G,很顯然,在主頻上龍芯3A3000隻有Intel I5 4460的一半不到,而飛騰1500A也隻有Intel I5 4460的一半多一點。

微結構也就是常說的CPU核,在主頻相同的情況下,兩款CPU的性能差異取決于微結構的差異,像龍芯GS464E、Intel的Haswell、ARM的Crotex A72都是微結構。龍芯3A3000在1G主頻時,SPEC2006測試定點成績為7.3,飛騰1500A主頻為1G時,SPEC2006測試定點成績為5.5,而I5 4460在1G主頻時的定點成績為10。可以說,龍芯的GS464E大約有Intel的Haswell性能的73%,而飛騰的FTC660大約是Intel的Haswell性能的55%。

那麼如何提升主頻和微結構呢?提升微結構需要在指令分支預測,寄存器重命名,多指令通路,亂序發射,功能部件,訪存性能等方面做文章,目的是使整個的指令流水的效率盡可能高,因為如果有一個環節設計不好或不匹配的話,整個系統效率就發揮不出來,這是CPU的核心技術。提升主頻很大程度上要依賴後端設計能力,也就是要指物理層電路的具體優化,包括單元布局、時序優化等放方面下苦功。

接下來就國産服務器CPU與Intel的服務器CPU做比較,以國産服務器CPU中多線程性能最強的飛騰2000為例。在編譯器為GCC4.8的情況下,飛騰2000在2G主頻的單線程SPEC2006測試成績為定點12.4,浮點11.3,換算一下飛騰2000的CPU核FTC661的定點成績為6.2/G,和Intel Haswell 10/G的成績依舊有不小的差距,由于飛騰2000為64核芯片,在單線程性能相對有限的情況下,依靠核心數量的優勢,FT2000的多線程SPEC2006測試成績為定點570,浮點482,全芯片性能與Intel Xeon E5-2695v3相當,這是非常了不起的成績。

由于科學計算倚重雙精浮點性能,超算芯片的比較中就以雙精浮點性能為指标進行,申威26010的雙精浮點性能為3T,和Intel目前最好的超算芯片KNL相當,更難人可貴的是這是在制造工藝與Intel相差2代的情況下取得的成績,這充分體現出申威26010在設計思想上的先進性。

結語

在桌面芯片上,龍芯和飛騰目前最好的桌面四核芯片的單線程定點測試成績大約為Intel I5 4460的三分之一,雖然和Intel的差距依舊比較大,但目前龍芯和飛騰還沒有大型遊戲等對CPU性能要求較高的軟件應用,現在的性能對于絕大多數應用來說都是夠用的,特别是對黨政軍辦公電腦和一體機,龍芯3A3000和飛騰1500A的性能已經屬于性能過剩了,隻要軟件跟得上,在黨政軍領域能替換Intel的CPU。

在服務器CPU上,飛騰2000雖然在單線程性能上和Intel有一定差距,但其全芯片性能頗為不俗,能與Intel Xeon E5-2695v3相當,已經是全球全芯片性能最強的ARM服務器CPU,如果ARM等國外廠商能完善其服務器CPU的軟件生态,飛騰則有可能借着ARM的生态一飛沖天。

在超算芯片上,申威26010完全可以和Intel最好的加速器KNL硬碰硬的較量。

cpu 性能對比十年前(CPU性能大亂鬥國産CPU實力揭露)2

“科普中國”是中國科協攜同社會各方利用信息化手段開展科學傳播的科學權威品牌。

本文由科普中國融合創作出品,轉載請注明出處。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved