Zen架構!國產海光x86 CPU實測:雖有縮水 意義非凡
2020年03月02日07:18

  本文來自快科技

  這幾年,國產CPU處理器突飛猛進,而且在不同架構上齊頭並進,包括x86架構的兆芯、海光,MIPS架構的龍芯、君正,ARM架構的飛騰、鯤鵬,Alpha架構的申威,RISC-V架構的阿里玄鐵等等。

  其中,海光(Hygon)是一個非常特殊的存在,因為他居然拿到了AMD的官方授權(注意不是技術轉讓),而且是大獲成功的最新Zen架構,在性能方面是最值得期待的,但到底能達到什麼程度一直撲朔迷離。

  最近,權威硬件評測網站AnandTech拿到了海光處理器,包括8核心的桌面版Dhyana、32核心的服務器版Dhyana Plus,進行了深入分析和測試。

  一、AMD和海光的複雜合作

  其實,海光能獲得AMD x86架構授權是非常曲折的。雖然美國政府對此大開綠燈,但為了規避Intel專利限製和相關法律,繞了一個大圈子:

  AMD、天津海光信息技術有限公司(天津海光)作為兩家主體合作公司,通過合資的方式成立了兩家新的公司,一個是成都海光微電子技術有限公司(海光微電子),另一個是成都海光集成電路設計有限公司(海光集成電路)。

  海光微電子由AMD主要控股51%,擁有AMD授權IP(知識產權)併負責芯片生產,海光集成電路則由天津海光主要控股70%,負責芯片設計與銷售。

  而一顆海光處理器的誕生,可以分為11個步驟:

  1、AMD將核心設計授權給海光微電子,並提供建議的SoC佈局

  2、海光微電子向海光集成電路提供芯片設計平面圖

  3、海光集成電路將修改建議反饋給海光微電子

  4、AMD工程師審核修改建議,予以批準或否定

  5、海光微電子將最終設計平面圖返回給海光集成電路,並準備接訂單

  6、海光集成電路向海光微電子訂購晶圓、矽片

  7、海光微電子聯繫GlobalFoundries進行代工製造

  8、GlobalFoundries按照設計達成預定頻率/電壓、良品率

  9、海光微電子將完整矽片賣給海光集成電路

  10、海光集成電路在中國國內完成矽片封裝

  11、海光集成電路在中國內地市場銷售成品處理器

  是不是繞暈了?沒辦法,想獲得最先進技術,就是這麼難。

  特別注意的是,海光獲得的只是AMD 14nm Zen架構的IP授權,而不是完整的技術轉讓,底層設計和技術、專利依然屬於AMD,海光只能在高級層面根據自己的需要進行修改、定製。

  打個比方,技術轉讓相當於買了塊地皮,你就是房地產商,可以自己規劃蓋高樓,想怎麼蓋就怎麼蓋,ARM架構的華為麒麟等就是這種。

  IP授權相當於買了個毛坯房,你只是業主,可以自己裝修、安裝傢俱,但不能改變樓房結構,牆壁里安裝個竊聽器你也沒辦法。

  並且,AMD授權的也不是完完整整的Zen架構,而是閹割後的殘血版,性能和銳龍、霄龍相比不在一個層次上,所以對後邊的測試成績要做好心理準備。

  但無論如何,你付了錢買了房子,你就是主人,所以海光確確實實是一款國產處理器,而且能對如此複雜、先進的x86架構吸收並改進設計,並不是誰都能做到的。

  採用海光處理器的曙光工作站

  二、海光Zen架構的閹割與修改

  海光並非直接把AMD Zen架構芯片拿過來打磨改個名,AMD也沒這麼大方,一方面允許自行修改設計,但另一方面也在架構規格上做了不少精簡。

  這方面沒有任何官方資料,AMD、海光都異常低調、守口如瓶,但是通過各種分析檢測,AnandTech還是發現了很多秘密。

  1、基本架構不變

  海光處理器在核心佈局上和原版Zen完全相同,緩存容量、TLB容量、端口佈局等都沒變,比如一級指令緩存4路64KB,一級數據緩存8路32KB,二級緩存8路512KB,三級緩存16路8MB。

  測試顯示,內存訪問時間一級緩存4個週期、二級緩存12個週期、三級緩存37-40個週期,內存延遲284-307個週期。

  一級緩存讀取速度每核心約100GB/s,寫入速度約51GB/s。八核心的DDR4內存讀取速度38.5GB/s,寫入速度35.8GB/s。

  Zen架構內核簡圖

  2、新的加密機製

  出於安全考慮,海關在這方面做了大刀闊斧的改變。

  Zen架構的霄龍中有AMD SEV虛擬化加密技術,涉及RSA、ECDSA、ECDH、SHA、AES等加密算法,海光則改成了我國自己發佈的SM2、SM3、SM4,更有可控性。

  SM2是橢圓曲線公鑰密碼算法,相比於RSA更先進、更節能、更安全,國家密碼管理局2010年12月17日發佈。

  SM3是哈希算法,屬於密碼散列函數標準,用於數字簽名及驗證、消息認證碼生成及驗證、隨機數生成等,原理、安全性和效率都類似SHA-256,國家密碼管理局2010年12月17日發佈。

  SM4是分組密碼算法,用於數據加密,分組和秘鑰長度都是128位,類似AES-128,國家密碼管理局2012年3月21日發佈。

  Linux內核也加入了相應的指令,以支援這些加密算法,不過有趣的是,他們不但在海光處理器上測試成功,AMD霄龍上也能運行。

  3、指令集大縮水

  這是AMD下手最狠的地方,大量指令要麼把速度降了下來,要麼直接砍了,對性能影響非常大。

  測試發現,海光獲得架構的整數性能基本沒變,但是浮點性能損失很大,DIV、SQRT等浮點指令直接消失,大量的女生X/SSE簡單指令則被降速:

  這些都是基礎指令,對於日常基本性能至關重要,速度變慢直接就把實際性能給拉了下來。

  另外,桌面版Dhyana、服務器版Dhyana Plus的差別也很大,比如至關重要的隨機數生成算法,就在服務器版上嚴重削弱。

  RDRAND算法在海光這邊其實更快了,服務器版上更是快得多,RDSEED算法在海光桌面上也加快了,但服務器上慢了足有10倍之多。

  事實上,二者都可以在海光的BIOS里選擇開啟或關閉。

  AVX、AVX2指令集也很奇怪,檢測顯示海光是支援的,但似乎已被禁用,相關測試根本無法運行,AESNI、SHA、CLMUL、FMA4、BMI、BMI2等指令無一例外。

  缺少這些指令會影響到什麼程度呢?比如AES編碼,兩顆32核心的海光竟然都跑不過入門級的4核心銳龍3 1200:

  三、海光處理器就長這樣

  說了半天,是時候請出本尊了。

  這是一個8核心海光桌面處理器的工程樣品,表面印有HYGON中科海光的標識,“用芯計算未來”的口號,還能看到成都封裝字樣,但沒有具體型號和規格。

  C86應該是代表China x86。

  不同於AM4獨立封裝的AMD銳龍,海光採用BGA整合封裝,直接銲接在主板上,無法更換和升級,輔以簡單的6相供電,不過奇怪的是,散熱器安裝孔距並非AMD AM4規格,而是Intel的。

  整體板型為mciroATX,供電接口有24針主供電、8針輔助供電和D形大4針輔助供電。還有兩塊電池,一塊顯然是保存BIOS,另一塊未知。

  兩條內存插槽位於處理器上方,典型的服務器佈局以方便散熱,另有四個SATA 6Gbps磁盤接口、兩條PCIe 3.0 x16和一條PCIe 3.0 x4擴展插槽。

  海光其實也是SoC,為了擴展輸入輸出搭配了一顆Lattice Semiconductor FPGA,提供SATA接口、四組LED指示燈和各種定製接口、插針、按鈕。

  集成GPU當然沒有,使用的是服務器上常見的IPMI控製器和ASPEED AST2500芯片,提供簡單的2D圖形輸出。

  放上去一顆銳龍處理器,尺寸是完全一樣的。

  這是32核心的海光服務器版本,外形尺寸和線程撕裂者、霄龍幾乎一模一樣,也有保護支架,同時表面可以看到7185的型號標識,其他類似桌面版。

  服務器整機來自曙光,面向計算和存儲市場,雙路共計64核心,每路支援4塊U.2硬盤、16塊SATA硬盤,內存支援八通道,但本次測試因為一些限製跑的是四通道。

  CPU-Z軟件還不支援海光,服務器版直接無法運行,桌面版也只能檢測出極少量信息,比如八個核心、3.2GHz主頻,但奇怪的是,指令集里顯示有AVX、AVX2、FMA3,但實際測試卻無法用上,至少目前還沒找到能利用的方法。(其實應該用AIDA64檢測的,去年已支援海光。)

  四、終於要跑分了

  測試中,8核桌面海光搭配Windows 10專業版,雙路32核服務器海光搭配Windows 10企業版,但由於AVX、AVX2指令集不正常,很多測試無法跑,項目有限。

  8核海光的性能大致類似6核銳龍5 1600X、8核銳龍7 1800X,但在特定測試中甚至可能還不如雙核速龍200GE,比如最後一項GeekBench 4單線程加密性能。

  雙路32核海光的表現一團糟,很多時候還不如銳龍7 1800X,當然更沒法和銳龍9 3950X甚至是撕裂者相比,唯一較好的就是更突出整數性能的Corona,可見浮點指令集削減造成的嚴重影響。

  五、難得機遇 意義非凡

  可能看完跑分,大家會感到非常失望,坦白地說乍一看確實也有點出乎意料,但其實也是合情合理的。

  x86 CPU架構作為Intel、AMD兩家美國巨頭的核心資產,是絕對不會輕易外泄的,尤其是Zen這樣非常成功的最新架構,按照一般邏輯我們能拿到手的可能性應該是零,以往想都不敢想,但是在各種因素的促成下,它確確實實到了我們手中。

  AMD對海光的架構底層開放程度到底是什麼層次,我們不得而知,但確確實實整套搬了過來,儘管規格上有些縮水但並沒有本質性的削減,而且允許海光自行修改、設計(尤其是敏感的安全加密),已經足夠我們的科研人員研究很久很久了。

  可以說,這是一次空前難得的歷史機遇,可以讓我們一窺最新、最先進的集成電路設計,獲得極為寶貴的經驗,這次的合作模式也值得思考和借鑒。

  可能在未來很長時間里,都不會再有這樣的機會了,至少AMD已經明確表態,後續的Zen 2/3/4等等無意繼續授權給海光。

  整體來看,無論是桌面上還是服務器上,海光處理器的性能確實很平淡,畢竟指令集等關鍵特性做了大幅度的削減,對於這麼先進架構的研究、優化也需要時間。

  但是海光處理器的意義,絕不是達到多高的性能,而是有了一個全新的開端和突破。對於一些特殊、敏感的行業和領域,目前需要的也不是絕對高性能,而是首先解決有無的問題,解決能用的問題。

  而且我們還有兆芯,來自威盛的x86技術,雖然架構技術相對Intel、AMD差了很多,但是在我們手裡的自由度更大,滿足一些特定需求是毫無問題的,甚至已經開始向零售市場滲透。

  路,總是要一步一步走的,只要堅持走下去,就有希望,就有未來,更何況,我們的路還不止一條。

關注我們Facebook專頁
    相關新聞
      更多瀏覽