三易指令集 飛騰CPU演進之旅

源正流清 發佈 2020-01-11T08:15:42+00:00

雖然用Spec2006 INT 實測的 IPC 只有 6.x/GHz,但由於核心數量多達64個,因此整體性能可以和14個核心的Intel Xeon E5-2695v3相當,強硬地展現了飛騰替代Intel伺服器的信心和決心。

百度「飛騰」有許多名字類似的企業,我說的這個「飛騰」全名叫「天津飛騰信息技術有限公司」,成立於2014年8月21日。它起源於國防科技大學,是一家有J和科技院校背景的高科技企業,國產「飛騰」CPU就是它的產品。


  我偶然見到了一張飛騰的CPU演進圖譜,上面大約記錄了飛騰歷史上的所有產品,包括了飛騰技術團隊從1999年開始至2014年飛騰成立公司之前,在國防科大期間的研究成果。然而,在圖譜上除了在成立公司之後推出的基於ARMv8架構的系列CPU標註了型號之外,之前的那些產品卻連型號都沒有,這對於一家公司的產品圖譜來說是不可思議的事情。我非常好奇,想知道那些似乎連名字都不配擁有的產品到底是些什麼,儘管花了不少時間通過網絡搜集資料,但也只是補齊了部分產品的簡略信息,對ARMv8架構系列的CPU也儘量補上了收集自官方宣傳的性能參數,仍然不完整。但聊勝於無,在此釋出與君共賞。在收集資料的過程中,我深深體會到了我國半導體行業面對國外技術封鎖之無奈,我國晶片技術研究之艱難,以及至今仍然存在的發展窘境,令人沉默,令人心酸。

  《解讀自主可控路上飛騰CPU與天河超算的不解之緣》一文中提到「國防科大先後嘗試了X86、Epic(VLIW,惠普把IA-64命名為Epic)、SPARC、ARM四個指令集,並以Sparc開原始碼為基礎設計了FT-1000和FT-1500兩款CPU,之後,飛騰選擇了ARM陣營……」可見飛騰CPU發展之艱辛,為了繞開外國的技術封鎖,獲取有限的技術資源,只得如游魚一般頻繁改變前進路線,從仿製產品,到使用開源設計,之後再依賴技術授權,一步一個腳印,每一步都開啟新的征程。

  在1999年至2005年間,飛騰團隊研發了至少4款(查得資料中有更多)產品,或許不能稱之為產品,因為這4款CPU中至少有兩款是仿製的Intel的產品,沒有Intel的授權也就不能公開出售,但如果用於武裝裝備或其它保密設備Intel也無法追究。在當時「仿製」其實大多是「反向工程」,就是把CPU拆開炭化剝離後,再在顯微鏡下一層一層地掃描電路重新繪製,對於數字電路的逆向遠比模擬電路艱難,國內能完成CPU仿製的團隊並不多見。也有通過正向設計進行仿製的團隊,但通過反向工程進行學習和借鑑也是常見的手段。還有一些團隊選擇從頭自行開發,從設計到生產走完所有流程。為了保障關鍵設備安全可控,在我國半導體工業和技術十分薄弱的年代,各個技術團隊缺少理論研究,沒有經驗積累,大多只能通過仿製來獲取某些關鍵元器件,真是說不盡的辛酸,道不盡的無奈。年代久遠,飛騰前面幾款CPU難以找到相關資料,只對飛騰團隊最後仿製的FT64找到了一些隻言片語的描述。它的原型應該是Intel的IA-64構架的Itanium 2,在文檔中有「第一代和第二代飛騰FT64都採用IA64指令集(《中國國產CPU研發現狀》)」、「我們的FT64比Itanium2執行性能更高或者至少相當(《FT64流處理技術:體系結構、程式語言、編譯技術及編程方法》)」這些說法。幸好當時的CPU製程都比較低,Itanium 2的製程只有0.18µm,換算成現在流行的nm就是180nm,放大1000倍就是0.18mm,在顯微鏡下能夠清晰可見。因此短短几年就完成了至少4款互相沒有技術路線關聯的CPU,平均每款CPU開發周期最多只用了一年半。2005年FT64的浮點計算性能就達到了16 GFLOPS,而當時國內另一個CPU團隊偏執地非要從頭編寫代碼設計CPU,其在2006才發布的2E型CPU浮點性能僅堪堪達到3.99 GFLOPS,不到FT64的1/4,無法滿足信息化建設的需要,說明在當時仿製國外產品才是快速實現CPU國產化的捷徑,飛騰為各種裝備的國產化作出了巨大貢獻。

後來,由於CPU製程越來越高,內部設計也越來越複雜,仿製產品也就變得越來越艱難,飛騰團隊迅速轉變思路,也幸運地找到了對CPU更新換代的其它方法。在2006和2007年,SUN 開源了 Sparc V9 架構的高性能伺服器CPU——UltraSPARC T1 和 T2,飛騰抓住了機會,以開源的CPU設計為基礎,花了將近3年時間研究,才在2009年底發布了與UltraSPARC T2基本相同的FT-1000,在「北城百科」網中對FT-1000的說明是這樣的:「本代架構採用了當時OpenSPARC開放原始碼項目最新公開的UltraSPARC T2源碼,可兼容於SPARCv9指令集。晶片內置8個CPU核心,每核心可運行4線程,共64線程;」儘管是使用開源設計,但並不影響飛騰的壯志雄心,再次花了3年時間,成功地把原本的8核設計改成了16核,在2012年底發布了FT-1500。這也從側面反映了當時國內CPU技術方面的羸弱,從現成的源碼到產品也花了3年,從8核改成16核又花了3年,儘管過程很艱難,但收穫很豐盛,2012年發布的FT-1500在1.8GHz的頻率下,16核峰值性能達到了驚人的115~144 GFLOPS。

當時國內其它團隊在同年發布的8核CPU,儘管以更少的核心數和更低的工作頻率達到了更高的150~192 GFLOPS浮點性能,但由於設計團隊缺少經驗,設計極不均衡,低效率的內存訪問性能嚴重拖累了實際使用時的計算效率。一些技術引進派人士認為,這說明使用國外成熟設計才是正確的技術發展路線,其它團隊自行設計的CPU根本無法應用在需要高性能的實際環境,不但白白浪費人力物力,還影響了對國外先進水平的快速追趕。

2010年,在對國防科大建造的「天河一號」超算進行二期擴充升級時,加入了2048顆FT-1000作為一部分機組的服務節點,儘管與數萬顆Intel和AMD晶片相比並不起眼,但卻是飛騰CPU在國產超算中首次使用,媒體宣傳中大量出現的類似「天河一號CPU採用的是國產飛騰,二期系統的峰值性能和持續性能分別提高了2.89倍和3.45倍。」這樣的文字,極大地滿足了人們對國產CPU的期待,提振了國民對科技領域的信心。後來,國防科大在天河二號一期建造中則使用了4096個FT-1500晶片用於處理網絡數據,使用了32000顆「Xeon處理器和48000顆「XeonPhi」協處理器來作為計算節點,媒體盛傳「使用了飛騰CPU的天河二號成為2013年全球最快超級計算機」,記錄了飛騰在國內超算領域得到的應用和實踐。

  可惜的是,在SUN被Oracle收購之後,就再也沒有開源SPARC架構新的CPU設計,但是真正的勇士總是不懼否定自己過往的成績,永遠不會在布滿荊棘的道路上踽踽獨行。2011年末ARM公司宣布了ARMv8架構誕生,在2012年中開始對外授權。飛騰團隊毫不猶豫地選擇了追隨ARM的技術路線,儘管授權費用高昂但得大於失,各種技術資源的完備性是以前無法比擬的。即使從ARM開放架構授權的時間計算,也僅僅兩年就完成了從零開始設計ARMv8架構新一代CPU的任務,2014年10月就推出了型號為FT-1500A的4核和16核版兩款CPU,遠遠高於之前使用SPARC開源設計時兩款CPU花了6年的效率,除了得益於ARM有效的技術支持,這也說明技術團隊的水平有了極大的提高。飛騰的第一款ARM架構的CPU就達到了與ARM Cortex A57公版核心相近的同頻性能,通過1.8~2.0G的頻率。飛騰團隊的實力與十多年來飛騰團隊博採眾家獲得的技術積累不無關係,這一支技術團隊終於在國外技術封鎖的環境中走出了新的發展路徑。

  從2014年8月飛騰公司成立,2014年10月發布第一款ARMv8架構的CPU以來,飛騰保持了每一到二年推出一款新核心的效率,把CPU核心從最初的FTC660演進到了FTC663。儘管數年來每一代新的微架構IPC沒有明顯變化,Spec 2006 INT 測試成績總是在 5.x/GHz 到 6.x/GHz 之間徘徊,但總體上仍然是呈上升趨勢,大概是初次獨立設計CPU核心就達到了ARM A57公版核心的性能之後,飛騰團隊的設計能力就進入了瓶頸,5、6年都沒有大的突破,這也說明設計CPU核心的工作極為複雜,難度極高,在缺少技術資料的條件下,難以取得進展無可厚非。在IPC難以進步的情況下,飛騰團隊並沒有放棄提高CPU整體性能的努力,比如把CPU核心數量增加為64個,再比如把製程從28nm改進為16nm以提高頻率,其4核CPU的整體性能在這5年里至少提高了50%,量產產品的頻率從1.8GHz進步到了2.7GHz。

  飛騰並非沒有為提高IPC而努力,畢竟只依賴提高CPU頻率很快就會進入瓶頸,軟體生態帶來的性能加成也可能會被逐漸逼近。在2015年的「第27屆國際高性能微處理器研討會(IEEE 2015 Hot Chips)」會上,飛騰展示了「火星」微架構設計,雖然受到了國際同行的冷嘲熱諷可是飛騰不改初衷。在次年8月第28屆的相同會議上,飛騰展示了基於「火星」架構的64核CPU和伺服器整機,也就是同年5月發布的 FT-2000/64 CPU。雖然用 Spec2006 INT 實測的 IPC 只有 6.x/GHz,但由於核心數量多達64個,因此整體性能可以和14個核心(28線程)的Intel Xeon E5-2695v3相當,強硬地展現了飛騰替代Intel伺服器的信心和決心。我國的半導體技術發展之路,長期以來就處在嘲諷和質疑的聲音中,放棄憤怒,沉默前行,我們已經能在市場上替代國外的產品。

  飛騰CPU技術演進路線是國內CPU企業的一種發展模式,面對外國的技術封鎖,從20年前開始通過仿製國外產口來積累寶貴的技術和經驗,在崇山峻岭間撿拾國外遺落的設計資料,在夾縫中不停轉進,最後再以市場為導向獲得了國外企業的技術授權,從小處著手開始參與市場競爭。正如那張飛騰CPU的演進圖譜中寫的那樣:不忘初心,牢記使命。

關鍵字: