龍芯:中國一定要建立自己的CPU生態 不能重複日本錯誤

2021年12月9日-11日,2021第六屆全球人工智能大會(GAIR2021)於深圳正式召開。歷經五年,見證數次潮水的轉向,成為目前為止粵港澳大灣區人工智能領域規模最大、規格最高的學術、工業和投資領域跨界盛會。

在大會第二天舉辦的“集成電路高峰論壇:國產高端芯片之路”上,匯聚來自學術界、產業界和投資界的15位大咖,共同探討了國產高端芯片的實力以及RISC-V帶給中國芯片的機會。

CPU是一個複雜系統,在我們國家追求自主性的過程中,牽涉到三個維度的自主性,包括基於自主IP核的芯片設計、基於自主指令系統的軟件生態,以及基於自主材料設備的生產工藝。

一個芯片里集成大量的IP核,IP核是否自主設計是最基礎的維度。指令集系統承載着軟件生態,軟件生態控制着產業體系,而產業體系是最大的卡脖子環節,基於國外指令集不可能發展自主的信息產業體系。由此,自主性顯得十分重要。

龍芯:中國一定要建立自己的CPU生態 不能重複日本錯誤

龍芯彭飛指出,中國一定要下定決心構建獨立於Wintel(Windows+Intel)體系和AA體系(ARM+Android)之外的自主的信息技術體系和產業生態體系。

前兩大生態體系——X86的生態體系和ARM的生態體系——是美國主導的信息化生態體系,未來要有基於我國的指令系統、國產的操作系統形成的,和這兩個生態體系平行的一套生態體系。

除了自主性,指令集的兼容性也很重要。龍芯中科基於二十年的CPU研製和生態建設積累推出的LoongArch指令系統,充分考慮兼容生態的需求,融合X86、ARM等國際主流指令系統的主要功能特性,並依託龍芯研發團隊在二進制翻譯方面十餘年的技術積累創新,可實現跨指令平台應用兼容,從而達到融合生態的目的。

以下是彭飛在GAIR 2021的演講內容,進行了不改變原意的編輯整理:

今天從CPU的角度介紹一下基於指令集的國內發展現狀。CPU是一個複雜系統,在我們國家追求自主性的過程中,主要牽涉到三個維度的自主性:

1、自主IP核。

一個芯片會集成大量的IP核,CPU、GPU僅是其中一個IP核,IP核是否能自主設計是考慮自主性最基礎的維度。

2、基於自主指令系統的軟件生態。

指令集是芯片對外的接口,同時是承載上面軟件生態的體系基礎。

過去,全世界基本上是基於兩大生態體系:一是基於Windows+Intel,X86架構的產業生態體系;二是AA體系,就是ARM+Android,ARM架構的產業生態體系,分別在桌面服務器、移動設備領域構建出了兩大體系。我們國家要打造第三套信息化體系。

2020年,龍芯中科正式推出了自主指令系統LoongArch,不包括國外任何授權,是跟X86、ARM平行的指令系統。

3、自主材料的設備工藝自主性。

現在外界常說的“卡脖子”問題,“卡”得最嚴重的就是這個維度。為什麼會出現這種情況?

可能有兩方面原因:一是我國沒有承接國外先進的產業轉移。集成電路起源於美國,當集成電路生產,從美國向外產業轉移的時候,有的轉移到日本、轉移到韓國,有的轉移到我們國家的台灣,但沒有轉移到中國大陸。

另一個是過去國家集成電路設計相對比較薄弱,不能通過設計帶動工藝的發展。不過,這幾年我國芯片設計能力有了大幅提升,通過芯片設計帶動整個工藝快速發展,從行業發展來看,雖然還有差距,但相信再過五到十年,這個差距可以補齊。

在70年代,美國硅谷的各種芯片蓬勃發展,當時芯片設計還不是美國一家獨大,日本、歐洲、韓國都有芯片設計能力。Intel曾在70年代向日本公司授權,讓其採用兼容Intel的架構設計CPU,這些CPU既便宜又好用,後來還反銷到美國。1986年,美國揮起了制裁的大棒。

回顧那段歷史可以發現,美國制裁他國高端芯片的發展並不新鮮,歷史在反覆上演。為什麼會出現這樣的情況?

當時日本犯了一個最大錯誤,就是只重視CPU產品的研發,忽視生態主導權。如果一直做生態里某一款產品,會難以實現超越。因此,掌握生態主導權極其重要。

1982年,NEC生產的個人PC用的是Intel的芯片,1985年換成了自研芯片,1986年又換回去了。為什麼?因為制裁失去了生態的主導權,這給我們很大的啟示。

中國一定要下定決心構建自己的信息化生態體系,前兩大生態體系,X86的生態體系和ARM的生態體系是美國主導的信息化生態體系。希望未來基於我們自己的指令系統、國產操作系統形成和這兩個生態體系平行的一套生態體系,它是產業的基礎,在別人的基礎上蓋房子總是不牢靠的。

目前基於自主CPU的發展情況是怎麼樣?

龍芯:中國一定要建立自己的CPU生態 不能重複日本錯誤

左圖是龍芯3A5000芯片結構圖,這裡每一個方塊其實都是一個IP,這些IP都是完全自主設計、自主演進,左下角羅列了芯片裡面的IP核。

右上角反映了近十年自主CPU的發展速度,第一代3A1000跑分是2-3分,經過近十年的快速迭代,現在能達到30分(目前國際主流CPU跑分在20-40分之間)。右下角圖片是芯片產業里性能提升的曲線,可以看到,前幾年呈現線性快速增長,越往後增長越緩慢,龍芯CPU也即將達到性能增長的頂端。

指令集是信息產業繞不過去的話題,前面提到,我國不可能基於國外的指令系統構建自己的產業生態體系,就像中國人可以用英語閱讀和寫作,但是用英語構建我們國家的文化體系、構建民族文化是不可能的。

另一方面,應該如何考慮指令集的自主和兼容性?過去十幾年,業界一直在爭論這個問題,兼容性和自主性孰優孰劣?兼容有兼容的好處,可以直接利用現有生態里的軟件產品,有現成的生態,一開始發展速度可能會快一些,但最大的問題是受制於人。

那麼,我們能否做到既自主又兼容的指令系統?從龍芯過去二十年的發展來看,這是可以做到的,重點是要打造“3+3+3”的核心能力。一是三大編譯器,GCC、LLVM、GOLANG。二是三個虛擬機,Java、JavaScript、.NET。三是三個翻譯器,實現對MIPS、X86、ARM的二進制翻譯,直接運行其應用軟件。

目前,龍芯中科推出了自主指令系統LoongArch,包括基礎架構部分和向量指令、虛擬化、二進制翻譯等擴展部分,近2000條指令,是充分考慮兼容的指令系統。

LoongArch的特點主要表現在兩個維度:一是用戶態,二是核心態。

LoongArch是一個精簡指令系統,32位長指令、32個通用寄存器、32個浮點寄存器。用戶態是給編譯器、程序設計者使用。核心態在內存管理、控制寄存器的數量、規格都進行了大量的創新性設計,是符合現代操作系統的設計。

我們對LoongArch的性能進行了測試,在相同IP下,一個用MIPS指令集,一個用LoongArch指令集,可以看到,動態指令數下降了15%到20%,總體性能提升了12%左右。

LoongArch指令系統能夠支持二進制翻譯,融合了X86、ARM、MIPS、RISC-V指令系統的主要功能特性。

自主指令系統的生態是如何構建的。龍芯中科推出了二進制翻譯器,又稱LAT翻譯體系。最底層是LoongArch架構的芯片,再往上是操作系統,操作系統往上有幾個維度:基於LoongArch的原生Linux應用,比如說本地化的辦公、音視頻的應用。

同時,龍芯中科推出了三個翻譯器:MIPS應用往LoongArch上翻譯,ARM應用往LoongArch上翻譯,X86應用往LoongArch上翻譯,未來希望能夠做到:從MIPS翻譯過來百分之百性能不損失,從ARM翻譯過來90%性能不損失,從X86翻譯過來做到80%的性能不損失。

目前,Photoshop、微信、一些遊戲都可以在國產平台上很好地運行,生態是有保障的,包括一些主流的Linux應用框架都可以原生支持。國產操作系統廠商統信和麒麟也都推出了對應的國產操作系統版本。

關於LoongArch平台的AI計算,龍芯中科構建了全域異購AI硬件支撐體系,龍芯CPU+GPGPU、龍芯CPU+ASIC、龍芯CPU+FGPA分別應用於通用AI計算和專用AI計算。軟件方面,龍芯中科構建多層級AI軟件生態體系,包括系統支撐、計算框架、算法模型層級,AI領域有完整的解決方案。

目前圍繞龍芯中科的產業合作夥伴已經有上千家,通過一系列的措施,包括標準建設、開源軟件建設、解決方案提供、安全體系、產品認證、人才培養、出版書籍等,從多個維度構建LoongArch產業生態體系。

同時,LoongArch正在構建技術產業聯盟,在聯盟里與產業合作夥伴實現知識產權的共享,一起打造一套生態。希望在2025年消除指令系統之間的壁壘。

(0)
上一篇 2021-12-24 17:20
下一篇 2021-12-24 17:21

相关推荐