日前,龍芯在發布會上發布了3A3000和一系列產品。而且發布會上還公布了龍芯開發者計劃、龍芯高校計劃、龍芯產業基金。不過,筆者本文介紹的是龍芯正在研發的下一代CPU——3A4000。
龍芯3A4000的設計指標如何,要實現這個指標有何難度?龍芯3A4000性能會有哪些可能性呢?
關于3A4000的進度
關于龍芯3A4000,龍芯對其寄予了厚望,特別是吸取了3A2000和3A3000的不足后,做了修改,而且改動比較大,龍芯方面最理想的目標是實現GCC編譯器下SPEC06 定點20分,不過這個是最理想狀態下的。畢竟CPU公司跳票或者沒能達到計劃的情況很常見,即便是Intel、AMD都有這種黑歷史。
先介紹一下3A4000的進度。3A4000的研發會比較慢,主要是兩個目標定的很高,一個是GCC編譯器下,SPEC2006測試能達到10/G,另一個是主頻到2G。
10/G是什么概念呢?AMD的Zen大概也就這個水平——AMD自己公布的是3.4G,31.5分,換算以下就是9.26/G。不過由于一些優化選項沒開,而且編譯器是GCC4.6,換一下GCC編譯器版本,多開一些優化,10+/G的成績Zen還是能達到的。
Intel的Haswell,像賽揚的話,因為沒有AVX指令帶來的向量優化,以及緩存被“閹割”等因素,也就 9.3/G,而I5 4460因為不像賽揚被“閹割”,可以到11/G,網友測試Skylake,大約也就11+/G(畢竟Intel這些年在擠牙膏)。
因此,如果龍芯3A4000能到10/G,那在微結構上和Intel、AMD的差距就比較小了。不過,考慮到越往上走,微結構優化難度越大。像3A4000基本上是3A3000里一點一點的摳,因而要實現這一目標的難度很大。
難度到底有多大呢?作為參照,以AMD的實力憋出Zen都用了九牛二虎之力,而龍芯3A3000的微結構GS464E除了帶寬是K10的兩倍之外,總體上GS464E和K10相當。等于是龍芯要完成AMD從K10到Zen的跨越。
AMD憋出Zen都用了這么久,龍芯要實現這一點,難度可想而知。
第二是主頻,龍芯3A3000主頻上不去,固然有自身后端設計能力相對有限的因素,但也和人力、財力,以及和代工廠的能力息息相關。而境內的代工廠在同制程下只有臺積電的60%,和龍芯長期合作的ST在同制程下也只有臺積電的80%,而臺積電和Intel又有一定差距。
另外,如果主頻要做上去,IC設計公司和代工廠就必須建立非常密切的關系,要開放一些技術資料,像Intel和曾經的AMD、IBM都是IDM廠商,因此可以開放技術資料設計和工藝制造不斷磨合。雖然IBM和AMD把晶圓廠賣了,但依舊和GF保持了過去的密切聯系,很多技術儲備和資料也都保留了下來,這樣就可以繼續做高主頻CPU。但龍芯和ST不可能建立這種關系。
而境內的一些代工廠,在技術實力上還有待提高——境內工藝的一致性比境外工藝有一定差距,包括不同批次的一致性,仿真模型和實際晶體管參數的一致性都和國外工藝有一定差距,設計時要多留些裕量,蒙特卡羅仿真也要把參數波動范圍設大一些。
龍芯3A2000在研制中就因為和境內代工廠磨合多耗費了1年時間,而在ST流片的3A3000則非常順利了,從立項到流片也就用了1年時間左右。換言之,就是龍芯即便和境內代工廠建立了密切的合作關系,境內代工廠也只能說:臣妾做不到啊!
此外,微結構越復雜,后端設計壓力就越大,比如像把A53主頻做到2G和把Zen的主頻做到2G完全不是一個檔次的工作難度。像3A4000這種CPU的微結構,設計目標接近Haswell的東西,對于任何一家國內團隊來說,后端設計難度都非常大,而且龍芯3A3000和龍芯3A4000,還是使用同樣的制造工藝,這樣就不可能通過工藝的提升來提升主頻,完全靠自身的設計能力把主頻提升30%,難度可想而知。
最后,雖然目前微結構優化的成果比較喜人,而且已經有仿真結果了。但由于要達到2G主頻,最后可能會做一些權衡。最后能拿出怎么樣的產品,只有等待時間檢驗了。
筆者做一個預測,龍芯3A4000可能會采用ST 28nm FD SOI工藝,如果搶時間的話,保守估計主頻1.8-2.0,SPEC06 GCC編譯器下定點16-18分。
如果多花費一些時間進行優化,而且龍芯團隊發揮正常的話,3A4000主頻為2G,SPEC06 GCC編譯器下定點18+分。
如果龍芯團隊超水平發揮,ST也沒有掉鏈子,也許能實現GCC編譯器下SPEC06 定點20分。
關于龍芯走自主道路和發展方向
必須強調的是,雖然網絡上充斥著對龍芯各種不靠譜的報道,但龍芯對自己的能力,與Intel、AMD的差距認識的非常清楚。
在2020年前,龍芯主打方向是工控、網安,以及石油、電力、交通、金融等行業應用,這些行業應用一方面事關國家信息安全,另一方面在替換上不像桌面和手機存在龐雜的軟件生態的問題。
對于龍芯的PC,3A3000主要針對的是黨政軍辦公和龍芯愛好者、開發者。龍芯既沒有能力,也沒有心思進軍民用市場與Wintel一爭高下。
龍芯的思路是分步走,第一步能自己養活自己,在特殊市場和一些行業嵌入式應用賺錢,能夠養隊伍,賺來的錢能支持龍芯3號系列芯片的研發。這方面已經取得了不菲的成績,可以說龍芯是在幾家有官方背景的IC設計公司中獲得政府經費支持最少的,也是極其罕見的可以實現政府斷奶,自收自支、自負盈虧的。
第二步是特定市場,比如黨政軍辦公PC,并鼓勵開發者、愛好者使用龍芯電腦。同時進一步開拓行業市場,讓更多的行業和嵌入式設備使用龍芯,擴大自己的根據地,增加市場份額和營業收入,并逐步建立起產業聯盟和特定市場的軟件生態——比如軟件滿足黨政軍辦公使用,或者滿足對保密要求比較高的科研單位,或十大軍工的科研院所使用。
第三步才是進軍民用市場。到這一步還非常遙遠,有很長的路要走。龍芯目前,還處于第二步。
龍芯的路之所以會這么難,因為萬事靠自己,不可能像合資公司那樣,獲得國家巨額經費支持,去境外弄一個內核,然后去用臺積電最好的工藝做一個CPU/SoC,也不可能像一些公司買ARM的IP做集成,而且還有現成的AA體系來支撐商業化。
龍芯必須自己擴展指令集,開發各種IP,自己根據開源軟件改寫操作系統,自己建產業聯盟和軟件生態。這種做法步子自然是比與境外廠商合作或者合資的來的慢,但勝在根基扎實,不僅可以實現自主可控,而且可以掌握設計高性能CPU的能力。
而合作/合資,就意味著很多東西境外廠商已經幫你做好了,你就撿現成的就行了,而且合資或者合作中,肯定有很多限制條件,老外也不是活雷鋒,會把技術傾囊相授。比如汽車廠在合資中,就有圖紙上一條線,中國工程師都不能改,要改的話,也必須經老外層層上報由外國公司決定。這種限制性條款就杜絕了中國工程師通過修改原始設計,逐步吃透國外技術的可能性。
長遠來看,采用合資/合作模式,不僅無法形成獨立于AA、Wintel的第三級,而且自己的能力發展就受到了制約。這也是為何幾大車廠與國外巨頭合資N多年,但在自主創新上,依舊乏善可陳的原因