Intel甘拜下風,擠牙膏比不過兆芯CPU

本文比較長,有萬字左右,因此在前面先把小標題集中亮個相。

即使大家一晃而過,我也要讓精心擬定的各個小標題有個露臉機會。

兆芯承運應時生,搶得先機石成金,

架海擎天擔重任,同德一心報國恩。

多核增效非萬能,單核效能是根本,

烏合之眾難逞強,真機實測見原形。

十年提速靠工藝,同頻效能漲一成,

春蠶到死絲方盡,四十二年續傳承。

假子本是半人馬,雖著華服不改姓,

祖宗敝帚難續命,不敵自主莫怨人。

兆芯承運應時生,搶得先機石成金

2013年,廣東雲浮主動承擔了一項試點任務:在政府部門使用國產計算機裝置辦公,為將來在全國範圍內應用國產計算機裝置積累經驗。此舉釋放了一個訊號:即將誕生一個政策保護性市場,幫助國內硬體和軟體企業積累資金加速技術迭代。

兆芯前身是臺灣VIA(威盛)在上海的子公司。2013時,VIA(威盛)懷著報效祖國的熱忱,即使正在嚴重虧損,也要以飽滿的熱情與上海國資委合作,把上海子公司升級成合資企業。此舉解決國內以往有錢也買不到CPU技術的難題,也使VIA搖搖欲墜的財務狀況得以改善。

當時許多專家認為自主CPU發展多年,但效能和Intel/AMD仍然有巨大差距,將來也追不上世界主流。自主資訊化建設“

迫切

”需要能滿足桌面/伺服器應用需求的CPU產品,

因此,從兆芯開始,國產CPU發展政策全面傾向於引進技術。

此後,中晟宏芯、華芯通、海光等相繼成立,飛騰放棄以SPARC開源IP為基礎自主迭代,改用ARM架構。國內最大整機企業聯想一向支援主動融入國際,對兆芯、海光、飛騰均有投資。

VIA的CPU技術遠遠落後於Intel,產品全面潰敗,但國產化替代的專屬市場阻斷了進口CPU,VIA的產品就重新擁有了地位。

掌握在VIA美國子公司Centaur手中的CPU技術

,在面對Intel時毫無價值,卻明顯超過當時國內自主CPU的水平。

只要每次交易的成果只比當時的自主CPU高出一線,有限的技術儲備就能長期維持兆芯的優勢——直到國內自主CPU超過美國Centaur的水平。

Intel甘拜下風,擠牙膏比不過兆芯CPU

自主CPU雖主頻比較低,但每GHz的通用效能在2015年就已經超過了Centaur的設計,Centaur的價值迅速降低。2019年自主CPU主頻仍然不高,但每GHz的效能達到兆芯的2倍,單核效能小勝引進技術的產品。Centaur沒有老本可吃了,幾乎完全失去了存在的意義。剩餘的x86技術資料(不含專利權)被VIA在2020年10月出售給了兆芯,2021年11月VIA打包賣掉了Centaur的技術團隊,然後又甩賣Centaur的廠房和裝置。但VIA仍保留著x86架構授權。因為

Intel不允許x86授權擴散和轉移

,所以就算沒有了Centaur,VIA也仍然必須一如繼往地支援兆芯。

架海擎天擔重任,同德一心報國恩

兆芯2013年4月27日成立,工信部網站2013年5月3日釋出了《核高基重大專項實施管理辦公室關於2014年課題申報的通知》。兆芯成立得恰逢其時,趕上了“核高基國家科技重大專項《

面向事務處理型桌面計算機關鍵軟硬體研發與規模應用》

課題任務”釋出。

課題描述中對CPU沒有了“自主創新”和“自主可控”

等要求,取而代之的是“無智慧財產權糾紛”,“

具備良好生態環境”

,等新說法。單單“

具有良好生態環境”

這一條,就把龍芯、飛騰、申威這三家排除在了核高基之外,而引進的VIA 產品因為是x86架構,則具有得天獨厚的優勢。

為了解決國產計算機生態、產業化問題,剛剛成立的兆芯勇挑重擔,作為牽頭企業,帶領

聯想、華力共同承擔了這項總計投入57億的重大任務。

57億多不多?其實不足Intel研發費用的零頭!只是在兆芯橫空出世之前,

龍芯、飛騰、申威這三家十多年間零零星星總共只獲得國家20億資金扶持

。但以往的實踐證明了“

創新的必要條件之一,就是高強度投入

”,因此此次需要集中力量支援兆芯。

兆芯把VIA(威盛)的產品“

VIA Nano X2

”送去通過了有關專家的鑑定,證明了自己的資格和實力。

VIA Nano X2的CPU核心名稱是“Isaiah(以賽亞)”,VIA從2005就開始以這款核心為基礎不斷改進,推出多代多款產品。

這次鑑定之後,兆芯把“Nano X2 C4350AL”更名為“開先ZX-A C4350AL”,VIA美國子公司Centaur設計的CPU就名正言順地成為了國產CPU,

Isaiah核心也成了國產自主的CPU核心,

技術引進

的成功範例。

Intel甘拜下風,擠牙膏比不過兆芯CPU

我認為只要完成

兩項

基本工作,課題任務就算是攻克了重點難點。

VIA Nano X2 C4350AL/ZX-A C4350AL是40nm工藝,兆芯與華力合作,改用國內的40nm工藝流片。國內工藝重新流片的CPU型號是ZX-B KX-2620。

聯想VX11P-LM主機板原本使用VIA Nano X2 C4350AL,可以原位替換成KX-2620。然後再生產整機,安裝上國產化的Linux系統,達到一定的銷量

下圖中左側是VIA的CPU和對應的聯想主機板,右側是兆芯在國內流片的CPU,以及對應的聯想主機板。

兩塊主塊在外觀上的最大區別,是兆芯版的主機板左上方印了“

ZX

”兩個字母

,便於人們識別和區分。

Intel甘拜下風,擠牙膏比不過兆芯CPU

這兩項重點工作,兆芯、華力、聯想可能在2014年或2015年就

已經完成

。這項耗資57億的課題,是由兆芯,聯想、華力共同申報,華力要到2020年才有28nm量產能力,因此2015年兆芯28nm的ZX-C系列就與華力無關。

只有40nm工藝的ZX-B才是兆芯、聯想、華力三家共同完成的產品。

但是因為ZX-B讓兆芯成功的落地生根,所以兆芯後來的產品也都被視為對核高基課題的延續,共同享受完成重大課題的榮譽。任何報道中都沒有說明兆芯是用哪一款產品交付了核高基課題任務,但與兆芯有關的文字總樂意提到核高基01專項。給人的印象是兆芯每一款產品都是核高基課題支援下的產物,而忽略了

對於任何具體的CPU課題任務,都只能用一款具體的CPU產品透過成果鑑定

。除非兆芯持續地得到核高基支援,每一系列產品都有專項課題與之對應。

兆芯為了報答有關部門千金市骨的知遇之恩,接連不斷地推出了多個系列的CPU產品,主動爭取在國產資訊化建設中承擔更重大的責任。也只有不斷推陳出新,才能驅逐一直緊緊追趕的自主CPU產品。

Intel甘拜下風,擠牙膏比不過兆芯CPU

上表中是兆芯當前所有的產品系列,可以看出一個規律:

    只要工藝沒有提升,CPU的頻率就沒有提升;

    透過增加核心數量,提高CPU整體效能。

因為國內CPU企業對7nm這樣的新工藝心有餘悸,8個核心也幾乎是桌面CPU能保證有效效能的極限,

所以兆芯2019年之後至今沒有新的CPU產品問世。

多核增效非萬能,單核效能是根本

十年前,龍芯、飛騰、申威不約而同把

峰值浮點效能

眾核

作為研究重點。因為在當時,用於超算的計算卡、高效能GPU、甚至浮點效能強的伺服器CPU,有的已經斷供,有的有斷供風險。需要自主CPU的浮點效能夠強,才能造高效能計算節點、叢集、超算。

當時自主CPU的浮點效能是世界先進水平

,可惜投入有限就只能側重一面,在

通用處理效能

方面甚至比不VIA Nano。

Intel甘拜下風,擠牙膏比不過兆芯CPU

  上面的任何一款自主CPU,浮點峰值效能指標都超過i7-980XE,何況CPU的頻率還那麼低。當然,這些自主CPU的成熟度還不是很高,需要繼續迭代。“神威·藍光”全部使用申威的SW1600、龍芯的3B1500用於“曙光6000”的部分計算節點、飛騰的FT1500用於“天河2號”的前端節點。

2013年之後,自主CPU科研經費大幅度減少,後來只有

申威深耕超算

,用SW26010造出了

登頂TOP500

的“

神威·太湖之光

”。

飛騰轉投ARM架構

,新產品的浮點效能與其它ARM產品沒有區別,放棄了自己的驕傲。飛騰

64核

的伺服器CPU也無法承擔超算計算節點的重任,只能用在網路、前端等節點中。但是飛騰的伺服器CPU畢竟有64個核心,

整體效能

在國產CPU中保持了

多年領先

龍芯專注於提高CPU通用效能

,是徹底放棄了超算。

龍芯

2015年

釋出的3A2000的單核通用效能是3A1000的

2.5倍

,每GHz的效能比VIA Nano X2

高30%

以上,缺點是主頻只有兆芯同期產品的一半。兩年後1。5GHz的3A3000單核效能和兆芯同年的KX-5000系列相當了,但兆芯把核心數量翻了一番。直到龍芯

4個核心

的3A5000與

8核

的兆芯KX-U6780A

打成平手

,因單核效能高,在實際應用方面又能提供更佳體驗,龍芯才算揚眉吐氣。此時龍芯3A5000單核通用效能已經是3A1000的

10倍。

  在桌面計算機中,核心數量遠沒有單核效能重要

。超算無數的並行任務之一,對桌面計算機就是災難。龐大又複雜的工程可以分解出大量可以並行的小任務,就像做滿漢全席時,無論10個人還是100人,都能找到事做,各司其職。可要是隻炒一盤土豆絲,“洗淨”、“削皮”、“切絲”、“入鍋”、“翻炒”、“裝盤”,這些步驟就

只能按順序進行

了。也就“切絲”這一步,可以兩三個人並行,能提高一點速度,要是二三十個人來切同一個土豆,反而會消耗更多時間。

Intel甘拜下風,擠牙膏比不過兆芯CPU

桌面計算機上執行的程式,任務規模小,許多工都像“炒土豆絲一樣”無法拆分成並行處理,只能單核單執行緒執行。有的任務雖然可以並行,或者同時執行多個程式,可是計算機的軟體和硬體,總會有各種因素降低並行效能。無論多少個核心、多少個執行緒,有的時候甚至只能順序執行。就像幾個廚師都要切土豆,但只有一把菜刀,無論怎麼分配,都只有單個廚師的速度越快,總速度才能越快。

烏合之眾難逞強,真機實測見原形

“單核強、核心少”與“單核弱、核心多”的CPU在實際使用中的區別,許多資深電腦使用者都有深刻感受。使用專業的效能評估軟體,則可以量化它們的差距。

比如

SPEC CPU主要測試“CPU、記憶體”子系統效能。常說的CPU“通用效能”,指標就是SPEC CPU的int(整數)效能測試成績。

可以只測試單任務,不啟用“自動並行化”時就只有一個核心會滿負載,只有不啟用“自動並行化”的單任務測試,才能代表CPU的單核效能。也可以測試多工並行,評估CPU的整體效能,此時通常把任務數量設定為核心數量,測試成績是所有任務成績的累加。

多核並行多工的總成績肯定比單任務更高,但平均成績總是更低

。核心、任務越多,平均效率就越低。

Intel甘拜下風,擠牙膏比不過兆芯CPU

SPEC CPU測試允許測試者最佳化使用任何編譯器、最佳化編譯引數、使用第三方最佳化庫……但是極端最佳化的測試成績只能代表CPU能達到的最高效能,卻不能代表普通使用者能享受到極限效能。上表中的測試都是在使用者能獲得的系統環境中,使用GCC編譯器測試得到的int_base成績。

前面說過在2015年時,龍芯3A2000每GHz的效能已經超兆芯同期的產品,但由於未知原因,3A2000使用的工藝比前代產品更加落後,導致頻率降低,錯失了超過兆芯的機會。但現在龍芯每Ghz的效能差不多是兆芯的2倍,頻率也相差不多。兆芯儘管在KX-U6780A中塞了8個核心,整體效能也只是和4核的龍芯3A5000基本相同。

FT-2000+是64個核心的伺服器CPU,因為記憶體通道更多,所以不用擔心在SPEC CPU測試中多工平均效能低到令人髮指。主要原因是SPEC CPU的測試只考驗“CPU、記憶體”子系統,和超算上平行計算的情況類似。

另一款測試整機效能的工具UnixBench,就更能體現出在實際的桌面、伺服器系統中,單核強的CPU所具有的巨大優勢。它的測試專案是

模擬伺服器的日常工作任務

,有一些專案的多核提升比例比較低,總的來說單核越強,處理這些工作的速度越快。增加並行任務、核心,給總成績帶來的增加要比單純的 CPU測試小得多。核心、任務越多,平均效率下降得越厲害。在UnixBench測試中,多核心的平均效率令人抓狂。因為

它不是專測CPU的工具,而是測試系統整體效能表現

,所以使用的

測試用例會放大弱多核的缺點

Intel甘拜下風,擠牙膏比不過兆芯CPU

上表中FT-2000+和3C5000的成績來自官方的公開資料,其中因龍芯只公佈了3C5000的多工成績,故單任務成績我直接使用了3A5000的實測結果。可以看到,因為3C5000的單核效能是飛騰64核FT-2000+的兩倍,就導致了多工測試中16核的3C5000要比64核的FT-2000+成績更高。雖然單純的CPU效能16核比不上64核,但是處理實際事務時,單核強的CPU確實有明顯的優勢。4核的龍芯3A5000因為整體效能與8核的KX-U6780A差不多,更強的單核在執行各種應用軟體時的就會表現得更好。

前面提到浮點效能,

現在桌面電腦上,影片、音訊、影象、AI、3D等應用場景越來越多,對浮點效能的需求也越來越高

。過去了這麼多年,自主CPU的浮點效能有變化嗎?飛騰轉向ARM之後,原本引以為傲的浮點效能不見了,與其它的ARM CPU沒有什麼區別。龍芯著重提高通用效能,單核每GHz的浮點峰值還和10年前的3B1500完全一樣。申威深耕超算,繼續增強浮點,桌面CPU也沒有落下,我因沒有申威CPU的實物而無法實測,但它現在的桌面產品的峰值浮點和龍芯是相同水平。

不過峰值浮點是理論值,下面用High Performance Linpack(HPL)實測一下兆芯、飛騰、龍芯當前CPU的浮點效能,並用AMD R5-5600G作為對比。HPL的測試內容是用高斯消元法求解線性方程組,因此

測試結果不是理論上的峰值浮點效能

。但只要軟體環境正常,就可以認為

單核

的測試成績與峰值浮點存在比例關係。

多核

環境下的實測,仍然遵循

平均效率隨核心增加而降低

的規律。

Intel甘拜下風,擠牙膏比不過兆芯CPU

可以看到

與AMD R5-5600G是接近的是龍芯3A5000

,單核的平均成績還更高一些。AMD R5-5600G在測試過程中頻率在4。2Ghz上下輕微波動,龍芯3A5000頻率只有2。5Ghz。龍芯10年前的浮點效能水平,現在也不算落伍。飛騰D2000和兆芯KX-U6780A都有8個核心,可浮點效能還不到龍芯3A5000的一半,與主流產品的差距不是一星半點。KX-U6780A的單核平均效能比ZX-A C4350AL只高一點,也是因為8核的平均效率總是比2核更低。

  無論是實際的程式執行,還是各種效能測試,都證明了單核效能的重要性。

CPU的單核效能等於“IPC × 頻率”,IPC就是每個時鐘週期(1Hz)執行指令的數量,但對於現代CPU,IPC這個引數已經不適用。因此現在是把使用測試程式得到的CPU單核成績換算到1GHz,把每GHz的成績稱為IPC或PPC。奔騰4的頻率與現代CPU差不多,但因PPC/IPC不到Intel 11代酷睿的1/5,所以在頻率相同的時候,奔騰4的單核效能就不到11代酷睿的1/5。

  CPU的IPC比頻率更加重要

,因為

IPC代表了CPU核心的設計水平

,頻率則只要使用更新的工藝,就幾乎一定能得到提升。國產CPU暫時不能使用更加先進的工藝,也沒有海量資金反覆流片刷經驗改進後端設計。何況CPU核心設計一旦有變化,上一代產品的後端最佳化成果不一定可以沿用,因此Intel每代產品都要花費數十億美元。

現在國產CPU的IPC和Intel還有很大距離,最需要的是迭代核心提高IPC,而不應該過餘關注每款產品的頻率。

如果CPU核心長期沒有重大改進,而只寄希望於更好的工藝,那就是本末倒置了。

CPU的核心設計會影響提高頻率的難度,通常IPC越高,頻率就越難提高,但也不是決定性的因素。因為Intel的CPU不但IPC比國產CPU都高,頻率還能超過5。0GHz。國產CPU遠沒到與Intel/AMD比拼頻率的時候,

先把PPC/IPC提起來,再花費巨資提高頻率才不是資源浪費。

後端(物理)設計的最佳化水平、生產工藝的先程序度,未來很長時間我們都和Intel/AMD比不了,但是

提高PPC/IPC主要靠單純的設計能力,是比誰的腦漿子更耐燒,燒腦漿子咱們怕過誰?

十年提速靠工藝,同頻效能漲一成(從ZX-A到ZX-E)

Nano X2 C4350AL是VIA於2011年釋出的產品,兆芯的型號叫ZX-A C4350AL。同年Intel釋出了酷睿i系列的第二代產品,2011年釋出了第11代,

10年時間,Intel的IPC提升約50%,同檔產品主頻提升約35%,

單核效能大約是10前的2倍。

龍芯2011年釋出了3A1000,10年後的3A5000主頻是3A1000的2.5倍,IPC是4倍左右,

單核效能是10年前的10倍,提升幅度能這麼大,既說明龍芯確實努力,也說明起點確實很低。飛騰和申威早期CPU實物和資料都不好找,不好評估效能增長。

連高處不勝寒的Intel都在10年間把單核效能翻了一番,IPC提高了50%。 那麼,從ZX-A C4350AL到現在兆芯最高效能的KX-U6780A,兆芯CPU的單核效能和IPC提升幅度又有多少呢?

ZX-A C4350AL使用40nm工藝,雙核,標稱主頻1。6Ghz,睿頻1。73GHz。KX-U6780A是16nm工藝,8核,主頻2。7GHz。在它們之間還有幾代產品,下表中整理了每一代產品的典型型號相關資訊:

Intel甘拜下風,擠牙膏比不過兆芯CPU

隨著生產工藝越來越先進,兆芯的CPU頻率和核心數量也水漲船高。雖然看起來

兆芯CPU的頻率只受工藝影響

,但也提高了56%。提高幅度比Intel高,也是因為起點低。兆芯IPC的起點是龍芯3A1000的2倍,但和Intel還差得很遠。以擠牙膏聞名的Intel都把IPC提高了50%,兆芯從ZX-A C4350A到KX-U6780A又提高了多少?

上面已有這兩款CPU的部分測試成績,下而會對它們進行更多專案的測試,所有的測試都只記錄單核單執行緒的成績。為了展示IPC的提升,下表中還會把它們的測試成績歸一化到1GHz進行對比。兩款CPU的頻和它們所使用的記憶體頻率相近,因此可以視為記憶體效能和CPU頻率同步提升。

Intel甘拜下風,擠牙膏比不過兆芯CPU

Intel甘拜下風,擠牙膏比不過兆芯CPU

從上表中的測試成績來看,相對於C4350AL,KX-U6780A在Windows10下要比UOS(Linux)下的提升大一些,其實本質的原因是

Windows10系統本身的消耗比UOS高

,C4350A又比KX-U6780A弱,效能中被Windows系統消耗掉的比例就更高。在UOS下CPU被測試程式使用的比例更高,測試成績能更加準確地體現出兩款CPU的實際效能差距。

從測試情況來看,

效能差距最大的測試專案是GeekBench

,在Window下和UOS下增幅都超過了80%,每GHz的效能提升分別為20%和16%,兩者都是在UOS下的測試成績更好。對GeekBench的每個測試子項單獨對比,發現是

因為KX-U6780A增加了用於AES加密的x86擴充套件指令,

便AES加密的速度提高到了25倍,每GHz的速度是原本的16倍。但是其它測試子項的提升幅度這麼高,成績浮動範圍和另外那些測試程式差不多。下面是測試後在GeekBench網上進行成績對比時截的圖,為了避免圖片佔太多篇幅,只截取了一小部分:

Intel甘拜下風,擠牙膏比不過兆芯CPU

從其它的測試專案來看,

每GHz的成績提高幅度都在10%左右

,特別是SPEC CPU的測試成績,最為準確地驗證了

KX-U6780A相比於C4350AL,IPC提高了10%

從VIA Nano X2 C4350AL(兆芯 ZX-A C4350AL)到KX-U6780A,IPC不是一成不變,而是變了一成。因為KX-U6780A的快取增大很多,所以核心似乎有改進,又似乎沒改進,VIA和Centaur的技術支援似乎不以核心技術為主。

春蠶到死絲方盡,四十二年續傳承

兆芯CPU從ZX-A和ZX-E都

一直在依靠工藝提高頻率,而IPC只提高了10%左右

。繼續更新工藝的路線又被暫時阻斷,繼續提升CPU效能就會比較艱難。這種時候,就更加顯出與VIA合資的前瞻性。雖然設計CPU的能力買不到,但只要能買到更多更好的技術也行。

VIA為了讓兆芯更加尊重知識、珍惜技術,即使是落後的技術,VIA也會用高昂的價格體現知識的價值。

2020年10月,兆芯又花了17億人民幣向VIA購買技術。

    包括“部分x86晶片組相關技術、資料等IP產權(不含專利權)”。

    還包括“部分x86處理器相關技術、資料等IP產權(不含專利權)”。

VIA已經

離開主流電腦市場十幾年

,晶片組技術也至少落後了主流十幾年。現在才把相關技術轉讓給兆芯,可能是

為了避免拔苗助長,才敝帚自珍

這次出售的x86處理器IP肯定會比兆芯現有產品優秀,但也不可能有多強勁。因為Centaur無論是在被VIA收購之前還收購之後,所設計的CPU都只和Intel的低端產品競爭。

這次交易掏空了VIA所剩無幾的技術儲備,Centaur新設計的CPU核心也沒能超過國內自主設計的水平,因此Centaur已經失去了繼續存在的價值。

VIA在2021年11月把Centaur的技術團隊賣給了Intel,之後又出售廠房和裝置,完全放棄了繼續研發CPU的能力。自主CPU其實幾年前就已經超越了兆芯,兆芯的壓力令VIA感同身受——Centaur最後的心血,仍然落後國內自主的對手一籌!!!

業務可以放棄,公司可以解散,但是傳承絕對不能斷絕。VIA把所有的x86技術儲備都交給了兆芯,

取代Centaur繼續這一脈的傳承

。只是由於x86架構授權不能轉賣,VIA就不能徹底放手離開兆芯,否則兆芯就不能合法地設計、生產、銷售x86架構的CPU產品。

兆芯的傳承起至1980年,那一年美國Integrated Device Technology(IDT公司)成立。1988年美國Cyrix公司成立。這兩家公司都設計x86架構CPU,以價效比與Intel產品競爭。

威盛(VIA)在1999年6月先後買下Cyrix微處理器設計部門和Centaur(從前的IDT)後,合併為VIA在美國的處理器研發總部,仍然叫作Centaur。這是第一次傳承轉移,然後VIA把Centaur在x86方面的技術成果全盤出售給兆芯,完成了第二次衣缽傳承。

  從1980年至今,兆芯能追溯的“商業化半導體器件設計歷史和技術傳承”已經42年。

假子本是半人馬,雖著華服不改姓

  VIA美國設計中心Centaur,中文意思是“半人馬”。

它在被VIA拋棄前產出的最後精華,就是Centaur在2019底釋出的x86 CPU核心,

內部代號是CNS

。Centaur把自己設計的AI模組與CNS核心整合在一塊CPU上,

CPU的代號是CHA

。CHA在2019年就有了樣品,

7nm工藝,8核主頻2.2GHz

。兆芯不需要AI模組,假如它使用CNS核心開發自己的產品,我覺得至少會把AI模組換成GPU。

下面的截圖是來自GeekBench網站的CPU資訊。

左邊是兆芯ZX-F

,兆芯現有的CPU產品從ZX-A到ZX-E,ZX-E就是KX-6000系列。那麼ZX-F就一定是KX-7000系列——兆芯的下一代產品。

右邊是Centaur的CHA

,兩者的標題上都有“CHA001”這個代號,雖然兩款CPU的名稱有區別,但

“Processor ID”都是“CentaurHauls”

,一點都不含糊。x86架構中有一個cpuid指令用來讀取CPU資訊,下面關於CPU的資訊都是使用cpuid指令得到的。

Intel甘拜下風,擠牙膏比不過兆芯CPU

GeekBench網站上的“Processor ID”包含了“Vendor ID”、“Family”、“Model”、“Stepping”這幾個部分。

“Vendor ID”也叫“廠商ID”,是CPU核心設計廠商的標識,

就是誰的孩子跟誰姓,代表著血脈傳承。Intel的都是“GenuineIntel”,AMD的都是“AuthenticAMD”。VIA/Centaur/兆芯的“Vendor ID”都是“CentaurHauls”。

用“Family”、“Model”進一步確定CPU核心的身份,就和“三姨太的二兒子”意思差不多。“Stepping”是標識核心的改進版本,與其它資訊共同組成了CPU核心的唯一身份標識。每一款核心可以派生出多個型號的產品,每款產品有不同的名稱/型號,就像換上校服叫“小明”,內褲外穿叫“超芯”那樣,只有CPU核心的身份標識可以識別真身。

兆芯自稱自主設計,但“Vendor ID”卻不是“Zhaoxin”。因此就

有一些人汙衊兆芯不修改“Vendor ID”是為了佔便宜,

他們說有些軟體會根據“Vendor ID”來判斷是否啟用程式中的針對性最佳化,那些軟體可能會認“Centaur”但不會認“Zhaoxin”。

這是無稽之談,在VIA Nano還活躍的年代,確實出現過一款最佳化開關程式碼寫法錯誤的軟體,因為忽略了VIA,沒有給予VIA與Intel/AMD相同的待遇而被VIA在媒體上控訴。

可那是“忽略了VIA”,而不是優待VIA。

並且是由於程式碼用了錯誤的方式判斷最佳化開關才造成了錯誤的結果。

正常的最佳化開關程式碼絕對不會把“Vendor ID”作為判斷條件,就算加上其餘的能確定核心身份的資訊也不行。因為那需要程式設計師知道所有型號CPU的詳細資訊,已有的CPU資料還可以收集整理,未來的CPU怎麼辦?

  要是僅僅檢查“Vendor ID”,那甚至不能區分Pentium4和12代i9,

它們都是“GenuineIntel”。正常的x86程式最佳化開關程式碼,都是使用cpuid指令讀取CPU提供的一系列標誌位,每個bit代表一種擴充套件指令,0表示不支援,1表示支援。下圖是Linux下用lscpu命令列出的KX-U6780A的CPU資訊,“標記”欄目中列出了它支援的擴充套件指令。

唯一正確的最佳化開關判斷,就是檢查CPU是否支援有對應最佳化程式碼的擴充套件指令。

Intel甘拜下風,擠牙膏比不過兆芯CPU

因此兆芯不改“Vendor ID”絕不可能是為了蹭最佳化,而是因為“Vendor ID”代表了傳承,不能忘本。

祖宗敝帚難續命,不敵自主莫怨人

下面我們來盤點一下VIA收購Centaur之後釋出的產品,兆芯佔了相當大的比重。

CPU核心資訊除了“Vendor ID”之外,還有核心名字和核心代號。核心名字用於對外宣傳,核心代號一般內部使用。

從VIA Nano系列開始,使用名字為Isaiah的核心,

同時更改了核心代號的命名規則,並沿續至今。

新的核心代號取自Centaur中的兩個字母——CN,第一代Nano的核心代號為CNA,然後是CNB,以此類推。但是在輪到CND時Centaur決定命名為CNQ,跳過了中間的字母。因為以CNQ為核心的是Centaur的第一款4核CPU,於是使用QuadCore的首字母來命名核心代號,但後面的核心代號仍然沿用字母順序規則,例如CNR,以及2019年Centaur釋出的絕唱——CNS。

VIA的第一款產品距今太久,我既找不到實物,也難找到詳細資料,“Family”、“Model”、“Stepping”這三項代表核心版本的資訊缺失,但後面的產品資料都比較完整。

Intel甘拜下風,擠牙膏比不過兆芯CPU

Intel甘拜下風,擠牙膏比不過兆芯CPU

從這裡開始,正式

使用“CN”字首來命名CPU核心代號。依次為CNA、CNB、CNC、CNQ、CNR、CNS。

其中CNS是Centaur的最後一款x86核心,極有可能成為兆芯的ZX-F。因為CNC就是兆芯ZX-A、ZX-B的核心,CNR是兆芯ZX-C、ZX-D、ZX-E的核心,那麼只要不出意外,ZX-F的核心就應該是CNS。

Intel甘拜下風,擠牙膏比不過兆芯CPU

Intel甘拜下風,擠牙膏比不過兆芯CPU

從這裡開始,兆芯準備登場。兆芯的第一款產品,就是把VIA Nano X2 C4350AL重新命名為ZX-A C4350AL,然後以兆芯的名義銷售。

Intel甘拜下風,擠牙膏比不過兆芯CPU

兆芯的ZX-B KX-2620和ZX-A C4350AL是相同的設計,不過是使用國內工工藝流片,市面上很少見到。

Intel甘拜下風,擠牙膏比不過兆芯CPU

VIA QuadCore 系列其實是兩個 Nano X2組成的膠水4核,但Centaur可能覺得很有紀念意義,CPU核心的代號跳了過很多字母,直接命名為CNQ。

Intel甘拜下風,擠牙膏比不過兆芯CPU

下面的VIA Eden X4 和VIA QuadCore都是VIA沒有正式釋出的型號,它們其實是同一個系列。兆芯的ZX-C也是指的這個系列,型號規則也與VIA相同。這是核心代號CNR 的第一次亮相,也是VIA/Centaur/兆芯的第一款真4核的CPU產品。

這一列表CPU很有意思,因為

兆芯聲稱這是國內團隊自主設計的產品,Centaur又稱是他們設計的,還專門拍了一個記錄片。

兆芯對ZX-C的介紹是:“ZX-C系列處理器是兆芯自承接國家“核高基”重大專項之後的重要成果之一,其整個研發流程都由

本地員工組成的研發團隊在國內完成

,實現了全部研發流程的透明可控,是一顆真正意義上的國產X86通用處理器。”

Centaur在紀錄片《半人馬的崛起》中介紹了一款CPU的設計和流片,以及封裝測試過程。影片中 Centaur 員工說“

這是我們伊今為止設計得最好的CPU……它是銷售到中國的關鍵

”。影片中封裝完成的CPU的外型、尺寸、顏色以及封裝、甚至表面幾個貼片元件的位置都和兆芯的ZX-C一模一樣。

下圖那塊斜著的CPU就是從《半人馬的崛起》影片中截的圖,擺正了的照片是兆芯的C4600。

Intel甘拜下風,擠牙膏比不過兆芯CPU

下面這張經銷的商的展示圖上,明確寫著:“架構:CNR”。這裡的“架構”是指“微架構”,此處屬於誤用。在計算機科學專用名詞中,“架構”實際上是“指令集”。

Intel甘拜下風,擠牙膏比不過兆芯CPU

如果ZX-C/C+說不清楚到底是不是自主設計,那麼後續的KX-5000/6000也就兩樣說不清楚是不是自主設計。自家的孩子怎麼能姓“CentaurHauls”?“Centaur”中文名叫“半人馬”,又不是什麼好詞!!!

Intel甘拜下風,擠牙膏比不過兆芯CPU

KX-6000系統和KX-5000是相同的CPU核心,是換了工藝提高頻率的版本。

Intel甘拜下風,擠牙膏比不過兆芯CPU

下面就是Centaur的CHA,使用了它最後設計的CNS核心,集成了AI模組。這款CPU沒有作為商業產品釋出,Centaur釋出的是它的核心和AI模組。下面的實物照片是Centaur的樣品,如果兆芯使用CNS核心開發新產品,外觀不一定相同。

Intel甘拜下風,擠牙膏比不過兆芯CPU

下面是CHA的版圖照片,左邊中間是CPU的8個核心,右邊是AI模組。兆芯如果以CHA為藍本,我覺得至少會把沒什麼用的AI模組摳掉,換成GPU核心。

Intel甘拜下風,擠牙膏比不過兆芯CPU

據已知資訊推測,CNS核心的IPC大約和龍芯3A4000等同,他們都於2019年年底釋出。不過龍芯釋出的是產品,Centaur釋出的是CPU核心設計指標和樣品。Centaur的樣品使用了7nm工藝,但主頻僅達到2。2GHz,單核效能介於龍芯3A4000和3A5000之間,不過3A4000和3A5000僅分別為28nm和14/12nm工藝。

兆芯很可能不會使用7nm工藝,那麼原本按照7nm工藝設計的核心,如果改退到12~16nm工藝,頻率必然下降,功耗必然上漲,單核效能必然降低。本來單核效能就與龍芯3A5000存在差距,再下降一些就只能和龍芯3A4000匹敵。何況龍芯研製中的下一代產品仍然使用14/12nm工藝,預計IPC會提升30%,頻率提升10%,就更讓前途未卜的CNS望塵莫及。兆芯ZX-F KX-7000系列產品有可能遙遙無期。

宣告:本文中對所有CPU的效能測試成績只有兩種來源:一是本人自己測試,二是官方公開資料。自測試的成績反映表本人購買的裝置的實際效能,不保證不存在個體差異,若質疑測試成績過低或過高,可透過影片連線對質同款裝置測試過程。本文其它資料來自對媒體公開報道的收集整理,不存在斷章取義和臆造。