設萬維讀者為首頁 廣告服務 聯繫我們 關於萬維
簡體 繁體 手機版
分類廣告
版主:諍友
萬維讀者網 > 教育學術 > 帖子
MIPS和ARM授權差異引起的龍芯路線變遷
送交者: 香椿樹1 2019年12月30日14:13:46 於 [教育學術] 發送悄悄話

MIPS和ARM授權差異引起的龍芯路線變遷

guee        2019-12-30        來源:鐵君公眾號            

儘管由於資源不足,龍芯發展很艱難,但我認為只要路線是正確的,堅持下去就有希望。

  一、MIPS和ARM授權的異同

  MIPS授權和ARM授權都分為處理器核授權(Core License)和結構授權(Architecture License)兩類,核授權也稱為IP授權,這又分為兩類,即軟核和硬核。可以把軟核看作是電路原理圖,硬核除了原理圖之外,還有設計好的電路板和各元件的詳細參數。比如最簡單的照明電路就是由電源、導線、開關、電燈組成,這樣一個電路圖就像是軟核,而室內裝修安裝電線、電燈等時,電線的直徑、長度、走線的路徑,電燈的種類、功率、安裝的位置等等,就屬於物理設計,也就是硬核。有了物理設計之後,才可以進行生產,CPU的生產過程被稱為流片。

  軟核授權是指RTL形式的IP(加密版),獲得授權後需要自己做物理設計,再去流片測試,最後量產。廠商可以進一步對架構進行強化,但不得二次銷售最佳化完成的處理器IP,但是可以任意營銷其最終製品(包含芯片、開發樣版、完整系統等等)。

  硬核授權則可以取得CPU核心的閘極電路圖,並且也會一併提供抽象模擬測試以及相關的測試程序,獲得授權後幾乎可以直接生產和測試。

  結構授權就是指令集授權,指令集是CPU硬件與軟件之間的接口描述,比如加法指令需要使用到哪些寄存器、支持哪些尋址模式、如何傳入加數、從哪裡得到結果,以及指令的各種格式對應的二進制操作碼等。CPU核設計就是要自己設計電路按照指令集的規範去實現各個指令的功能。獲得指令集授權後,需要自己完成後續的所有工作,難度最大。因為難度大,所以一般指令集授權還包含技術支持、各種測試程序、檢測驗證等工具。通過結構授權自行設計的IIP,MIPS允許設計者二次銷售,ARM不允許,設計者只能銷售最終製成品。雖然MIPS和ARM公司都在賣自己的IP,但MIPS創始人是學院派,因此規矩比較寬鬆,而ARM則不能容忍使用自己指令集的其它公司搶自己的生意。

  定義指令集本身沒有技術難度,但由於指令是軟件與硬件之間的接口規範,規範不同就會導致不同指令集的CPU不能相互兼容。比如老師發出“起立”這一個指令,所有學生都會站起來,就是因為大家都知道“起立”的意思,如果師與學生語言不通,那指令就無法理解了。針對不同指令集編譯的軟件,也就只有對應的CPU可以正確執行。比如Windows系統以前只有x86版,就不能在其它指令集的CPU上運行,後來增加了ARM版Windows 10,但各種軟件都還是x86指令集的,在ARM CPU的Windows上也不能直接運行。這說明購買指令集授權,本質是購買兼容此指令集的軟件的運行權,也就是獲得軟件生態。指令集的價值體現在軟件生態,而不是指令集本身。

  MIPS的定價策略是核授權很貴,而架構授權很便宜。有能力的公司都可以使用MIPS指令集開發自己的CPU,並且可以對指令集進行擴展,而不受限制。這種模式在短期內造成了百花齊放的效果,但從長期而言,由於允許自行擴充指令,導致生態碎片化,相互不兼容,從而影響了開發者和使用者的熱情,這是MIPS沒落的主要原因。

  與MIPS相反,ARM則是核授權很便宜,架構授權很貴(據說大約每5年1億美元),以及每顆芯片賣出後的版稅(約售價的1~2%)。這樣即使沒有能力自己開發CPU核的公司,也能通過購買核授權來快速推出CPU產品,即使有研發能力的公司,使用現成的 ARM IP 來集成CPU,也可以大幅度降低產品開發成本和縮短開發周期。ARM 的商業模式漸漸驅逐了MIPS,並開闢和占領了更多市場,畢竟低成本的快速的產品方案可以提高市場競爭力,MIPS因此舉步為艱。

  由於MIPS生態碎片化的前車之鑑,ARM為了避免重蹈覆轍,對架構授權的限制就很嚴格,合作夥伴可以參於指令集的制定,但禁止私下修改。也就是可以向 ARM 貢獻自己設計的新指令,但是否能添加到指令集中則由重要合作夥伴們及ARM協商決定,新增的指令會成為ARM指令集的一部分。某些企業宣稱可以擴展ARM指令集,其實這話沒問題,畢竟只要滿足了擴展的條件,自然就可以擴展。或者私下添加了新指令,但只供專用的系統使用,不影響ARM生態,大概也是可以的。

  二、龍芯是 MIPS 生態的守衛者

  龍芯最初只是中科院計算所的一個課題組,研究目標是設計一款能用的CPU。當時如果自己設計一套指令集,將會面對沒有編譯器、沒有操作系統、沒有軟件可用的局面,全部都需要自己開發。由於資金和人員等條件有限,小小的課題組無法支撐這麼大的工程量,從現實考慮,就只能在現有的指令集中選擇一種。儘管目標很小,但也要夢想一下萬一發展壯大了,可能面臨的知識產權風險。無法獲得授權的x86直接排除,ARM當時比MIPS更加弱小且架構授權昂貴,MIPS架構授權容易獲得且當時軟硬件生態比ARM豐富,於是成為了最佳選擇。龍芯開始時只是進行CPU設計,目的是驗證設計能力而不是為了上市場銷售,加之課題組本身沒有大額資金的支配權,就沒有購買MIPS架構授權,這也為未來埋下了隱患。後來龍芯CPU少量試產和銷售時,通過意法半導體流片,使用意法半導體獲得的MIPS架構授權來規避了自己沒有得到授權的問題,但MIPS公司宣稱龍芯“抄襲”MIPS指令集——在沒有獲得授權的情況下使用確實可以稱為“抄襲”;還認為龍芯可能侵犯了MIPS公司4條專利——然而當時的龍芯CPU並沒有去實現這4條專利相關的指令。但國內一些媒體和讀者腦補成了龍芯抄襲了MIPS的CPU設計,且當時漢芯事件結束不久,頓時引起“龍芯造假”、“龍芯和漢芯是同一伙人”、“龍芯騙補”、“龍芯不是自主設計”等各種謠言,直至今日仍然沒有消除餘波。2009年,中科院購買了MIPS架構授權,龍芯才得以光明正大地宣稱自己兼容MIPS指令集。

  因漢芯事件導致對國內自主研發能力存疑,國家對各家芯片研究機構均縮減了支持。境外各CPU企業趁機嘗試通過技術授權、合資等方式進一步進入中國市場。2010年,因資金匱乏龍芯的研究難以為繼,於是課題組從中科院集體辭職,放棄體制內身份,組建了龍芯中科公司,試圖通過市場化和產業化獲取研究資金。2011年,也就是龍芯自立後不久,龍芯中科公司獨立購買了MIPS架構授權,因為如果繼續使用中科院獲得的授權,可能引起與MIPS公司的知識產權糾紛。龍芯從MIPS獲得的是終生授權,每5年續費一次(每5年40萬美元),雙方不需要重新談判,協議不能中止,除非雙方破產。若MIPS主體不復存在則龍芯不需繼續付費,可以一直兼容MIPS架構——傳聞MIPS歷經多次拆分轉賣,現在已經沒有收錢的人了。其實MIPS的架構授權費用不應該低到這個程度,每月大約5萬人民幣,僅相當於二三個工程師的工資而已。主要原因是龍芯剝離了MIPS的技術支持服務和各種工具軟件,購買的是“純淨版”指令集授權,才能把價格壓至最低。龍芯的發展過程中,起初是打算借用MIPS已有的軟硬件生態,這與使用ARM授權的國內同行們一樣。但沒有想到MIPS會逐漸淡出主流市場,然而這種出乎意料的發展,反而給了龍芯留下了更大的舞台。由於MIPS架構授權允許自行添加指令,且架構授權費用較低,使得有能力的公司紛紛推出自己的MIPS CPU,擴大了MIPS的市場占有率。然而此舉也導致生態碎片化加劇,沒任何一家公司可以主導MIPS軟硬件生態,各公司出於成本的考慮,最後紛紛轉投ARM陣營。龍芯則絲毫沒有轉向ARM的想法,一是因為多多少少已經有了一些合作單位,絕不能放棄好不容易得到的合作項目;二是因為龍芯以MIPS架構為基礎構建了自己的擴展指令體系,這些成果無法轉移到封閉的ARM指令集體系中;三是因為龍芯很窮,付不起ARM的架構授權費。龍芯成為了MIPS生態的堅定的守衛者,許多開源項目的MIPS分支都逐漸把龍芯作為編譯平台,龍芯也為MIPS的生態貢獻了大量成果。比如前段時間報道的龍芯對JAVA虛擬機的貢獻度排名全球第五,而它前面的幾家公司都是甲骨文、谷歌這樣的巨無霸。

  三、龍芯做了什麼

  在MIPS逐漸沒落的階段,龍芯在為把CPU銷售出去而努力,進行了各種軟件和底層庫的適配和開發,對Linux和很多開源項目的MIPS分支做出了大量貢獻,甚至成為某些開源項目的實際上的維護者。同時通過與國內部分軟件廠商的合作,使WPS、QQ等一大批國產軟件早早地支持了Linux。也許當時龍芯並沒有意識到這就是在建設自有軟件生態,目的純粹是為了讓龍芯CPU能夠在更多的設備和場景中使用,能擴大市場多賣幾塊CPU而已。

  龍芯為了能把CPU銷售出去而進行的努力還是有回報的,畢竟苦心人天不負。比如2006年時,863計劃有一項“低成本先進計算機(單機)”的項目,要求銷售成本價不超過1000元人民幣,要用Linux系統、有Web瀏覽器、Java虛擬機、電子郵件客戶端、文字處理軟件、媒體播放器等。龍芯承接了這個項目,然後在2010-2011年左右銷售了十多萬台單價不超過1000元的一體機,用於農村及邊遠地區學校的信息化教學。期間完成的軟件生態建設已經基本滿足在中小學教學、常規文檔辦公等方面的應用。之後2011年,有關部門在廣東雲浮開始推動國產化替代試點,擬定使用Linux系統、國產軟件、國產CPU、國產外部設備等。2013年進行第一期試點時,少量的龍芯3A1000的電腦在辦公環境中和x86電腦一起使用。2015年第二期試點時,龍芯電腦的可用性就已經提高了很多,此時兆芯大概也加入了試點項目,飛騰和申威的情況不清楚。2016年為了300台龍芯3A2000電腦能在辦公環境正常使用,龍芯專門派出靳國傑博士帶領技術團隊駐場雲浮,解決使用過程中遇到的各種軟件問題和硬件兼容性問題,讓博士帶領一群研究生做300台電腦的售後服務團隊,也是曠古絕今了。2017年底,經過龍芯及合作的國產整機和外設生產商及軟件廠商們的共同努力,龍芯電腦基本可以無障礙應用於辦公環境了。2018年在雲浮布署了2000台3A3000,由於CPU性能大幅度提升,終於得到了當地工作人員的廣泛認可。期間其它省市也陸續進行了國產化替代試點,龍芯、兆芯、申威、飛騰由用戶自由選擇,因此龍芯3A3000的累計銷售量才能超過30萬顆,在所有國產CPU中占據了超過70%的份額。大概在這個過程中,龍芯意識到了軟硬件生態的重要性,CPU不僅是CPU,它是承載軟硬件生態的基礎,只有良好的生態才能體現出CPU的價值。

  由於十幾年來,龍芯承擔了國家各部門推進的許多項目,某些“業內人士”便說龍芯自稱只拿了國家5億補貼,但實際上還有大量補貼是通過定向採購給的,都沒算進去——龍芯就是端起碗吃飯,放下碗罵娘。然而實際上可能除了抗輻照芯片等少量國防級項目屬於內定,其它項目大多是在國家各個部門的網站上公開招標投標的。比如上面說的低成本電腦項目在科技部官網上有招標文件,10年前售價不到1000元的一體機,恐怕生態完善的Intel都做不出來,裡面成本最高的應該是液晶屏而不是CPU,配套廠家努力壓製成本也功不可沒,為邊遠中小學的信息化教育作出了巨大貢獻。如果1000元的一體機算是定向採購,那麼這種“定向”獲得的收入也太少了。各地的國產化替代試點項目,龍芯、兆芯、申威、飛騰都在參與,多家有競爭關係的單位參與同一個項目,又怎麼可能是“定向”?。再比如“全軍武器裝備採購信息網”上從多年前開始,每年都有龍芯、飛騰等一些半導體企業,以及各個研究所中標的科研和採購項目。《解放軍報》上刊發的一篇文章提到:“生產CPU的龍芯中科曾接過一項芯片大單(科研項目)。當時,面對軍隊採購方提出的產品指標,有同行給出了2億元的報價,龍芯中科卻表示只需2000萬元”。可能因為龍芯有能力把成本做低,既能給國家省錢又能奪得項目,才引起了某些人嫉妒的情緒吧。

  事實上,龍芯更多的收入是來自於各種行業中使用的嵌入式CPU和特種芯片,以及對其它公司IP授權獲得的收益。嵌入式CPU主要是行業應用,比如路由器、防火牆、工控設備、智能交通、自動櫃員機、智能儀表、指紋鎖等,公開的詳細資料不多,特種芯片消息豐富一些,畢竟確實經常在打破國外封鎖和壟斷。比如用於衛星的抗輻照處理器(1J / 1E300 / 1F300),是國內唯一自研內核的宇航級CPU,國內同行大多是使用已有20年歷史的Sparc V8開源IP。2015年3月31日龍芯1E/1F進行搭載上天實驗,2016年2月1日之後升空的北斗衛星均全部使用龍芯CPU替代進口的AT695(AT697)和國產的3803,《<經濟半小時>20170404 中國芯生存狀態調查:龍芯還活着嗎?》專題對此有報道。宇航芯片的工藝限制和設計難度導致非自研內核極難提升性能,於是龍芯宇航CPU的性能在國內是第二名的2倍,在世界是領先水平。視國外同行的進度,龍芯明後年的新型號(1E1000)宇航芯片有可能會暫居世界第一。還有用於石油鑽探設備的耐高芯片,也是打破國外技術封鎖的研究成果,中石油、中石化等都在大量使用。某些武器裝備也使用龍芯CPU,消息確定的只有某火控系統使用龍芯,這方面保密太嚴。IP授權方面,2015年海信使用龍芯IP開發了畫質引擎芯片用於自家電視機,僅2016年海信銷售的機頂盒等產品就使用了300萬顆內含龍芯IP的芯片;還有國科微使用龍芯IP研製了固態硬盤主控芯片;還有一些因報道較少,而無法確定詳情的授權合作。

  由於龍芯只做芯片,不做板卡和成套設備,從而帶動了一大批配套企業加入龍芯的產業鏈共同發展,龍芯則依靠小芯片賺的錢來補貼桌面CPU的研發。歷經磨難,2015年才艱難地實現了收支平衡。龍芯通過帶動產業鏈的整體發展,認實到只依附於現有生態就始終是給地主種地的長工,只有主導了生態,開墾出自己的土地,才能夠真正地發展壯大,國家的信息化建設才能不受制於人,由此更加堅定了建設自主軟硬件生態體系的決心和信心。

  四、龍芯是MIPS生態的破壞者

  龍芯從只注重CPU研發,逐漸步入重視軟硬件生態建設的路線。由於MIPS生態本身的衰落,龍芯多年來已經成為了兼容MIPS的唯一的桌面和服務器CPU設計者,在設計兼容MIPS的CPU的公司中,是唯一的桌面和服務器軟硬件生態的建設者。這種尷尬的“領導者”身份使龍芯可以心無旁騖地發展自己的生態,向CPU中添加各種新的指令來提升性能和擴展功能,而不必操心與其它MIPS CPU的兼容性問題。龍世3A4000龍芯以MIPS R5為基礎,自行擴展了1380條指令,發展出了自己的指令集體系——LoongsonISA。LoongsonISA要比MIPS(216條基礎指令+311條DSP指令)龐大得多,MIPS只它的一個子集。上一代龍芯CPU只兼容MIPS R3,如今兼容R5大概是準備收割MIPS最後的遺產。MIPS原本的生態絕大部分已經是歷史,龍芯如今的軟件生態主要是來自龍芯自己維護的各種開源項目,以及國內各家軟件開發商對產品的移植,本質上已經不能再稱為MIPS軟件生態。即使MIPS R6以指令集免費、IP核開源等方式來吸引其它公司參與,希望喚起MIPS的第二春,龍芯也仍然堅持自己的路線不動搖,因為龍芯不需要再跟進MIPS的版本更新。可以說龍芯實際上成為了MIPS生態的破壞者,已經走出了一條擺脫MIPS影響的道路。在龍芯3A4000發布前夕,MIPS又取消了R6版IP核的開源,不知是否與龍芯拒絕跟進有相關性。MIPS R5 之後,再無 MIPS。

  反觀使用ARM的各家國內公司,即使是獲得了某一版本的架構授權,也仍然無法擺脫ARM的鉗制。首先添加新指令不自由,需要得到ARM的允許。其次強大的同行太多,為了不被淘汰,當ARM推出新版本的指令集時,就必須再次購買授權。如果不繼續購買授權,那麼當同類CPU的其它公司都升級之後,各家軟件開發商也不會死守在老版本的指令集上不動搖,即使軟件有兼容機制可以在老版指令集的CPU上運行,但新版的指令集肯定有加速某些計算的新指令,這樣即使CPU核心設計水平相當,也無法抵消巨大的性能差距,繼續使用老版本指令集就必然會落後於市場。ARM的陣營唯一特例是蘋果,因為它牢牢掌控了自己的操作系統。假如蘋果把IOS授權給其它廠商,或者蘋果手機也用安卓系統,那麼它就會立即失去生態獨立的優勢,泯然於眾人。造成這種困境的原因就是,ARM指令集的主導權不在自己手裡,ARM軟件生態只會跟隨主導者,在同類產品中,絕大多數用戶選擇的原則,永遠都是“更新型更先進”。再討論國內的ARM CPU的另一種生存模式,就是建設出國外同行暫時放棄或無力插手的ARM桌面和服務器生態,發展使用ARM指令集的桌面及服務器CPU。付出巨大的努力之後,也許能夠在公開市場上部分替代Intel和AMD,然而由於使用ARM指令集,那麼國外同行也能很快設計出用於桌面和服務器的ARM CPU,然後以性能和價格的優勢把國產ARM CPU從公開市場中徹底驅逐出去,竊取勝利的果實,只留下一些受政策保護的小眾市場。驅虎吞狼,又或兔死狗烹。

  而龍芯沒有這樣的風險,因為龍芯是自己建設的軟硬件生態的領導者,也是MIPS原生態的破壞者。MIPS已經窮途末路,在可以預見的未來不可能再干涉到龍芯的發展。運行於龍芯的系統和軟件一旦使用了龍芯的擴展指令集,就不能在其它的MIPS兼容CPU上直接運行,這也是對自己生態的保護措施。龍芯當前架構同頻性能已經與AMD 2017年的Zen架構相當,明後年持續改進內核並更換工藝提升頻率就能進一步接近AMD水平,即使逆天的出現其它更高性能的MIPS兼容CPU,也能保證龍芯不會被輕易取代。而使用ARM授權的CPU,無論是IP授權,還是架構授權,都無法做到這一點,因為ARM把生態統一性守得太緊,生態碎片化是不被允許的,而ARM IP授權又是那麼便宜。

  五、總結

  要想實現商業上完全的自主可控,對於CPU指令集和操作系統這兩樣東西,總要牢牢掌控住其中一種才行。比如 Intel 通過指令集升級、知識產權訴訟、技術路線改變等手段消滅了除AMD之外的歷史遺留的所有對手,AMD通過反壟斷苟延殘喘的時候,又憑藉自己設計出的AMD64架構在微軟支持下復興,成功倒逼Intel交叉授權。微軟、谷歌憑藉對操作系統的把持而分別統治了桌面和移動生態。蘋果通過對操作系統的封閉,依靠差異化競爭牢牢地在桌面和移動設備中占據了一席之地。而國家要想實現信息化建設的自主可控,那麼指令集和操作系統都必須掌握在自己手果。龍芯如AMD那般發展出了自己的指令集,且在國內軟硬件廠商支持下,成功構築了基本滿足辦公和日常使用的生態,MIPS的影響力卻已經可以忽略不計。儘管由於資源不足,龍芯發展很艱難,但我認為只要路線是正確的,堅持下去就有希望。

  世事變遷造就了龍芯的現狀,從研究CPU設計的課題組,轉變為在市場上艱難求存且默默無聞的小公司,再發展成了自建生態並帶動大批配套企業共同發展的核心企業。龍芯隨着政策的變化而自立,隨着MIPS的衰退而崛起,隨着中美對抗明朗化而更加重要,隨着20年技術積累而無所畏懼,也是時勢造英雄吧。儘管龍芯體量還很小,但對自己的命運卻能自主可控。


0%(0)
0%(0)
  作者沒有談RISC-V  /無內容 - 香椿樹1 12/30/19 (143)
標 題 (必選項):
內 容 (選填項):
實用資訊
回國機票$360起 | 商務艙省$200 | 全球最佳航空公司出爐:海航獲五星
海外華人福利!在線看陳建斌《三叉戟》熱血歸回 豪情築夢 高清免費看 無地區限制
一周點擊熱帖 更多>>
一周回復熱帖
歷史上的今天:回復熱帖
2018: 解“真”——幻與真,真與偽,真與假(
2018: 581、新年快樂、天體在運動
2017: 習哥為高崗平反。
2017: 電影《芳華》的善惡與報應問題
2016: 動畫《三字經》(十二):飲水思源
2016: 川普和希拉里是洪水和地震之間的選擇
2015: 108.有情皆有真心第八識(二)
2015: 范兒1020—「哈佛大學」:恆心與自律是
2014: 這位美國老先生怎麼看的
2014: 小樹:江西醫學院校友應有反思