深度分析國產龍芯新架構CPU:自主當崛起
2024-12-26 20:55:10
談到國產CPU產品龍芯,圍繞它最大的爭議就是性能。雖然龍芯的早期產品並沒有讓大家滿意,但隨著新架構GS464E的披露,以及採用該架構的新一代CPU「3B2000」的正式問世,外界開始非常期待它倍增的性能究竟和Intel的主流產品存在哪些優勢和差距。
在前一次《信息科學雜誌》給出的數據測試結果中,早期編譯的GS464E已經接近Intel、AMD現在市場上的主流架構性能,與Intel Core i3-550和AMD FX-8320基本相當,與Intel Core i5-2300略有差距,同時明顯強於Intel Atom、VIA Nano、ARM Cortex-A57等低功耗架構。
而近日,《微型計算機》雜誌6月刊中進行了更深入地分析。那麼,龍芯的性能究竟到了何種地步,其設計水準距離國際競爭對手還差多遠,龍芯選擇MIPS究竟出於何種考慮,為何今日的龍芯不是基於現在的當紅小生一ARM架構?針對這些外界爭論多時的問題,本文將用專業而詳盡的分析予以解答。
一黑一白,今日孰是孰非?
坦白來說,龍芯近年來在輿論中受到圍攻已經不是新聞,今年初一篇名為《國產龍芯究竟水平如何?》的文章在網上掀起軒然大波,直指號稱面向高性能伺服器開發的龍芯3B-1500處理器尚不如今日ARM Cortex-A57手機處理器。
耐人尋味的是,不到一個月過後,該文的作者再次撰寫了一篇《詳解,新一代「龍芯」能否挑戰Core i7?》,筆鋒一轉為尚未正式公開露面的下一代龍芯大唱讚歌。
GS464E取指部件
在不訴諸陰謀論的前提下,筆者認為這樣劇烈起伏的輿情其實都指向一個事實:對於龍芯的現狀,其實外界並不了解,一般公眾並不具備從龍芯組公開發表的艱深論文中推斷其結構設計水平的能力,亦並不知曉編譯器,相關軟體系統與所用基準測試程序的偏好,因此對性能的對比也多有偏頗。
例如被抨擊為不如Cortex-A57的龍芯3B-1500雖然流片於2012年,但其核心卻是2006年左右完成的設計,當時其制定的競爭目標主要是Intel的奔騰3和早期奔騰4處理器,自然會落後於今日的手機CPU旗艦。
而被其描述為可以在IPC上與Ivy Bridge一戰的新一代龍芯微結構GS464E,雖然相比上一代產品取得了突破性的進步,但在頻率指標取得突破之前,又將憑藉什麼與Intel抗衡呢?
歷史原因 為何選擇MIPS指令集?
目前已經推出的龍芯核心主要分為三大系列,型號為GS1XX,GS2XXX和GS3XX,其中GS132系列對標ARM CortexM0和CortexM3,GS232和GS264對標ARM9,ARM11與Cortex-A12,GS464E也就是本文即將介紹的最新版龍芯核心,將對標Intel Ivy Bridge。
先前被認為不如手機CPU的龍芯3A 1000與龍芯3B1500均使用上一代GS464和其向量增強型GS464V核心設計,性能差距較大。
上述所有龍芯系列產品都兼容MIPS指令集,注意這裡的兼容並不是如同外界謠傳的那樣指代龍芯使用了來自MIPS的核心,而是僅僅讓龍芯的產品能夠運行MIPS所定義的指令集,例如000000在MIPS中代表加法操作碼,在龍芯處理器上也代表加法操作碼,僅此而已。
硬體方面,從龍芯的微結構到電路、版圖設計均為獨立自主進行。
很多人也有疑惑,為何龍芯沒有選擇當下如日中天,隱隱與Intel形成分庭抗禮之勢的ARM指令集呢?
其實龍芯項目開始前期調研的時間點是2000年前後,當時ARM的確有被列入考慮範圍之內,但是面對龍芯要求實現高性能的初始目標相比,ARM公司的定位則顯得不合時宜,彼時的ARM能拿出的最強核心設計是ARM11,沒有亂序執行,沒有多發射,沒有今天這樣先進的緩存系統。
ARM旗下第一款支持雙發射的Cortex-A8設計是2005年才對外公布的,在此基礎上加入亂序執行的Cortex-A9則更是到2007年前後才宣告面世。這倒不完全是因為ARM在高性能設計上實力孱弱,而更多地是因為ARM將自己的產品定位為面向嵌入式計算的產品,極為緊張的面積和功耗預算使得許多高性能設計上常見的特徵難以實現。隨著技術的進步以及嵌入式計算能力需求的暴增,ARM才開始著手打造高性能CPU。
GS464E微結構框架圖,紅色方框部分為亂序執行引擎
上世紀90年代,MIPS和DEC Alpha等幾大廠商都於1995年前後陸續實現了亂序四發射的設計,風頭甚至壓過當時的Intel、MIPS的R4000、R10000以及DEC Alpha 21164。
其中21264放眼今日仍然是有志於處理器微結構設計的後學晚輩們所必看的經典之作,深度流水線,分支預測,寄存器重命名,Load-Store推測,一應俱全。雖然在90年代後期MIPS和DEC Alpha逐漸式微,但虎落平陽餘威猶在。在x86陣營經營多年的專利壁壘無法攻破的情況下,高性能CPU廝殺的戰場上為當時蹣跚起步的中國CPU提供的選擇著實不多。
以當年的情況看,ARM在多年內都無力進攻嵌入式以外的市場,這意味著ARM的指令集系統在嵌入式以外幾乎等同於無根之水,沒有人會愚蠢到量產基於ARM11的個人電腦和伺服器。單純憑藉一個國產項目力圖對抗wintel聯盟的鐵桶江山與蚍蜉撼樹別無二致。
而與Intel正面交戰過並且曾經享有勝者頭銜的MIPS和DEC Alpha所留下的軟體生態環境自然要比ARM強大許多,國內先後上馬的龍芯和申威兩大擁有政府支持的CPU項目就是分別採用了MIPS與DEC Alpha指令集。
因此筆者認為,在堅持高性能設計並且想要獲取市場支持的前提下,選擇MIPS/DEC Alpha是一個正確的決策,以今日ARM的崛起來拷問當時的選擇難免有馬後炮的嫌疑,無人能夠超越歷史局限預估到十年之後的未來。
正像無人能夠預見到2000年正踩在鋼絲線上生死未卜的蘋果公司能夠在十年後登上浪潮之巔一樣。但是歷史終究已成歷史,今日龍芯面臨的困境也是眾人皆知的,那麼龍芯團隊能不能實現自己當初的目標,他們拿出的新一代GS464E又是什麼樣的呢?■