0
雷峰網(wǎng)(公眾號(hào):雷峰網(wǎng))按:2021 年 12 月 9 日-2021 年 12 月 11 日,2021 第六屆全球人工智能大會(huì)(GAIR 2021)于深圳正式召開(kāi)。歷經(jīng)五年,見(jiàn)證數(shù)次潮水的轉(zhuǎn)向,成為目前為止粵港澳大灣區(qū)人工智能領(lǐng)域規(guī)模最大、規(guī)格最高的學(xué)術(shù)、工業(yè)和投資領(lǐng)域跨界盛會(huì)。
在大會(huì)第二天舉辦的“集成電路高峰論壇:國(guó)產(chǎn)高端芯片之路”上,匯聚來(lái)自學(xué)術(shù)界、產(chǎn)業(yè)界和投資界的 15 位大咖,共同探討了國(guó)產(chǎn)高端芯片的實(shí)力以及 RISC-V 帶給中國(guó)芯片的機(jī)會(huì)。
CPU 是一個(gè)復(fù)雜系統(tǒng),在我們國(guó)家追求自主性的過(guò)程中,牽涉到三個(gè)維度的自主性,包括基于自主 IP 核的芯片設(shè)計(jì)、基于自主指令系統(tǒng)的軟件生態(tài),以及基于自主材料設(shè)備的生產(chǎn)工藝。
一個(gè)芯片里集成大量的 IP 核,IP 核是否自主設(shè)計(jì)是最基礎(chǔ)的維度。指令集系統(tǒng)承載著軟件生態(tài),軟件生態(tài)控制著產(chǎn)業(yè)體系,而產(chǎn)業(yè)體系是最大的卡脖子環(huán)節(jié),基于國(guó)外指令集不可能發(fā)展自主的信息產(chǎn)業(yè)體系。由此,自主性顯得十分重要。
彭飛指出,中國(guó)一定要下定決心構(gòu)建獨(dú)立于 Wintel 體系和 AA 體系之外的自主的信息技術(shù)體系和產(chǎn)業(yè)生態(tài)體系。
前兩大生態(tài)體系——X86 的生態(tài)體系和 ARM 的生態(tài)體系——是美國(guó)主導(dǎo)的信息化生態(tài)體系,未來(lái)要有基于我國(guó)的指令系統(tǒng)、國(guó)產(chǎn)的操作系統(tǒng)形成的,和這兩個(gè)生態(tài)體系平行的一套生態(tài)體系。
除了自主性,指令集的兼容性也很重要。龍芯中科基于二十年的CPU研制和生態(tài)建設(shè)積累推出的 LoongArch 指令系統(tǒng),充分考慮兼容生態(tài)的需求,融合 X86、 ARM 等國(guó)際主流指令系統(tǒng)的主要功能特性,并依托龍芯研發(fā)團(tuán)隊(duì)在二進(jìn)制翻譯方面十余年的技術(shù)積累創(chuàng)新,可實(shí)現(xiàn)跨指令平臺(tái)應(yīng)用兼容,從而達(dá)到融合生態(tài)的目的。
以下是彭飛在 GAIR 2021 的演講內(nèi)容,雷峰網(wǎng)進(jìn)行了不改變?cè)獾木庉嬚恚?/strong>
今天從 CPU 的角度介紹一下基于指令集的國(guó)內(nèi)發(fā)展現(xiàn)狀。CPU 是一個(gè)復(fù)雜系統(tǒng),在我們國(guó)家追求自主性的過(guò)程中,主要牽涉到三個(gè)維度的自主性:
1、自主 IP 核。
一個(gè)芯片會(huì)集成大量的 IP 核,CPU、GPU 僅是其中一個(gè) IP 核,IP核是否能自主設(shè)計(jì)是考慮自主性最基礎(chǔ)的維度。
2、基于自主指令系統(tǒng)的軟件生態(tài)。
指令集是芯片對(duì)外的接口,同時(shí)是承載上面軟件生態(tài)的體系基礎(chǔ)。
過(guò)去,全世界基本上是基于兩大生態(tài)體系:一是基于 Windows+Intel,X86 架構(gòu)的產(chǎn)業(yè)生態(tài)體系;二是 AA 體系,就是ARM+Android,ARM 架構(gòu)的產(chǎn)業(yè)生態(tài)體系,分別在桌面服務(wù)器、移動(dòng)設(shè)備領(lǐng)域構(gòu)建出了兩大體系。我們國(guó)家要打造第三套信息化體系。
2020 年,龍芯中科正式推出了自主指令系統(tǒng) LoongArch,不包括國(guó)外任何授權(quán),是跟 X86、ARM 平行的指令系統(tǒng)。
3、自主材料的設(shè)備工藝自主性。
現(xiàn)在外界常說(shuō)的“卡脖子”問(wèn)題,“卡”得最嚴(yán)重的就是這個(gè)維度。為什么會(huì)出現(xiàn)這種情況?
可能有兩方面原因:一是我國(guó)沒(méi)有承接國(guó)外先進(jìn)的產(chǎn)業(yè)轉(zhuǎn)移。集成電路起源于美國(guó),當(dāng)集成電路生產(chǎn),從美國(guó)向外產(chǎn)業(yè)轉(zhuǎn)移的時(shí)候,有的轉(zhuǎn)移到日本、轉(zhuǎn)移到韓國(guó),有的轉(zhuǎn)移到我們國(guó)家的臺(tái)灣,但沒(méi)有轉(zhuǎn)移到中國(guó)大陸。
另一個(gè)是過(guò)去國(guó)家集成電路設(shè)計(jì)相對(duì)比較薄弱,不能通過(guò)設(shè)計(jì)帶動(dòng)工藝的發(fā)展。不過(guò),這幾年我國(guó)芯片設(shè)計(jì)能力有了大幅提升,通過(guò)芯片設(shè)計(jì)帶動(dòng)整個(gè)工藝快速發(fā)展,從行業(yè)發(fā)展來(lái)看,雖然還有差距,但相信再過(guò)五到十年,這個(gè)差距可以補(bǔ)齊。
在 70 年代,美國(guó)硅谷的各種芯片蓬勃發(fā)展,當(dāng)時(shí)芯片設(shè)計(jì)還不是美國(guó)一家獨(dú)大,日本、歐洲、韓國(guó)都有芯片設(shè)計(jì)能力。Intel 曾在 70 年代向日本公司授權(quán),讓其采用兼容 Intel 的架構(gòu)設(shè)計(jì) CPU,這些 CPU 既便宜又好用,后來(lái)還反銷到美國(guó)。1986 年,美國(guó)揮起了制裁的大棒。
回顧那段歷史可以發(fā)現(xiàn),美國(guó)制裁他國(guó)高端芯片的發(fā)展并不新鮮,歷史在反復(fù)上演。為什么會(huì)出現(xiàn)這樣的情況?
當(dāng)時(shí)日本犯了一個(gè)最大錯(cuò)誤,就是只重視 CPU 產(chǎn)品的研發(fā),忽視生態(tài)主導(dǎo)權(quán)。如果一直做生態(tài)里某一款產(chǎn)品,會(huì)難以實(shí)現(xiàn)超越。因此,掌握生態(tài)主導(dǎo)權(quán)極其重要。
1982 年,NEC 生產(chǎn)的個(gè)人 PC 用的是 Intel 的芯片,1985 年換成了自研芯片,1986 年又換回去了。為什么?因?yàn)橹撇檬チ松鷳B(tài)的主導(dǎo)權(quán),這給我們很大的啟示。
中國(guó)一定要下定決心構(gòu)建自己的信息化生態(tài)體系,前兩大生態(tài)體系,X86 的生態(tài)體系和 ARM 的生態(tài)體系是美國(guó)主導(dǎo)的信息化生態(tài)體系。希望未來(lái)基于我們自己的指令系統(tǒng)、國(guó)產(chǎn)操作系統(tǒng)形成和這兩個(gè)生態(tài)體系平行的一套生態(tài)體系,它是產(chǎn)業(yè)的基礎(chǔ),在別人的基礎(chǔ)上蓋房子總是不牢靠的。
目前基于自主 CPU 的發(fā)展情況是怎么樣?
左圖是龍芯 3A5000 芯片結(jié)構(gòu)圖,這里每一個(gè)方塊其實(shí)都是一個(gè) IP,這些 IP 都是完全自主設(shè)計(jì)、自主演進(jìn),左下角羅列了芯片里面的 IP 核。
右上角反映了近十年自主 CPU 的發(fā)展速度,第一代 3A1000 跑分是 2-3 分,經(jīng)過(guò)近十年的快速迭代,現(xiàn)在能達(dá)到 30 分(目前國(guó)際主流 CPU 跑分在 20-40 分之間)。右下角圖片是芯片產(chǎn)業(yè)里性能提升的曲線,可以看到,前幾年呈現(xiàn)線性快速增長(zhǎng),越往后增長(zhǎng)越緩慢,龍芯CPU也即將達(dá)到性能增長(zhǎng)的頂端。
指令集是信息產(chǎn)業(yè)繞不過(guò)去的話題,前面提到,我國(guó)不可能基于國(guó)外的指令系統(tǒng)構(gòu)建自己的產(chǎn)業(yè)生態(tài)體系,就像中國(guó)人可以用英語(yǔ)閱讀和寫作,但是用英語(yǔ)構(gòu)建我們國(guó)家的文化體系、構(gòu)建民族文化是不可能的。
另一方面,應(yīng)該如何考慮指令集的自主和兼容性?過(guò)去十幾年,業(yè)界一直在爭(zhēng)論這個(gè)問(wèn)題,兼容性和自主性孰優(yōu)孰劣?兼容有兼容的好處,可以直接利用現(xiàn)有生態(tài)里的軟件產(chǎn)品,有現(xiàn)成的生態(tài),一開(kāi)始發(fā)展速度可能會(huì)快一些,但最大的問(wèn)題是受制于人。
那么,我們能否做到既自主又兼容的指令系統(tǒng)?從龍芯過(guò)去二十年的發(fā)展來(lái)看,這是可以做到的,重點(diǎn)是要打造“3+3+3”的核心能力。一是三大編譯器,GCC、LLVM、GOLANG。二是三個(gè)虛擬機(jī),Java、JavaScript、.NET。三是三個(gè)翻譯器,實(shí)現(xiàn)對(duì) MIPS、X86、ARM 的二進(jìn)制翻譯,直接運(yùn)行其應(yīng)用軟件。
目前,龍芯中科推出了自主指令系統(tǒng) LoongArch ,包括基礎(chǔ)架構(gòu)部分和向量指令、虛擬化、二進(jìn)制翻譯等擴(kuò)展部分,近2000條指令,是充分考慮兼容的指令系統(tǒng)。
LoongArch的特點(diǎn)主要表現(xiàn)在兩個(gè)維度:一是用戶態(tài),二是核心態(tài)。LoongArch 是一個(gè)精簡(jiǎn)指令系統(tǒng),32 位長(zhǎng)指令、32 個(gè)通用寄存器、32 個(gè)浮點(diǎn)寄存器。用戶態(tài)是給編譯器、程序設(shè)計(jì)者使用。核心態(tài)在內(nèi)存管理、控制寄存器的數(shù)量、規(guī)格都進(jìn)行了大量的創(chuàng)新性設(shè)計(jì),是符合現(xiàn)代操作系統(tǒng)的設(shè)計(jì)。
我們對(duì) LoongArch 的性能進(jìn)行了測(cè)試,在相同 IP下,一個(gè)用 MIPS 指令集,一個(gè)用 LoongArch 指令集,可以看到,動(dòng)態(tài)指令數(shù)下降了 15% 到 20%,總體性能提升了 12% 左右。
LoongArch 指令系統(tǒng)能夠支持二進(jìn)制翻譯,融合了 X86、ARM、MIPS、RISC-V 指令系統(tǒng)的主要功能特性。
自主指令系統(tǒng)的生態(tài)是如何構(gòu)建的。龍芯中科推出了二進(jìn)制翻譯器,又稱 LAT 翻譯體系。最底層是 LoongArch 架構(gòu)的芯片,再往上是操作系統(tǒng),操作系統(tǒng)往上有幾個(gè)維度:基于 LoongArch 的原生 Linux 應(yīng)用,比如說(shuō)本地化的辦公、音視頻的應(yīng)用。
同時(shí),龍芯中科推出了三個(gè)翻譯器 :MIPS 應(yīng)用往 LoongArch 上翻譯,ARM應(yīng)用 往 LoongArch上翻譯,X86應(yīng)用 往 LoongArch 上翻譯,未來(lái)希望能夠做到:從MIPS 翻譯過(guò)來(lái)百分之百性能不損失,從ARM 翻譯過(guò)來(lái)90% 性能不損失,從X86 翻譯過(guò)來(lái)做到 80%的性能不損失。
目前,Photoshop、微信、一些游戲都可以在國(guó)產(chǎn)平臺(tái)上很好地運(yùn)行,生態(tài)是有保障的,包括一些主流的 Linux 應(yīng)用框架都可以原生支持。國(guó)產(chǎn)操作系統(tǒng)廠商統(tǒng)信和麒麟也都推出了對(duì)應(yīng)的國(guó)產(chǎn)操作系統(tǒng)版本。
關(guān)于 LoongArch 平臺(tái)的 AI 計(jì)算,龍芯中科構(gòu)建了全域異購(gòu) AI 硬件支撐體系,龍芯 CPU +GP GPU、龍芯CPU+ASIC、龍芯CPU+FGPA分別應(yīng)用于通用 AI 計(jì)算和專用AI計(jì)算。軟件方面,龍芯中科構(gòu)建多層級(jí)AI軟件生態(tài)體系,包括系統(tǒng)支撐、計(jì)算框架、算法模型層級(jí),AI 領(lǐng)域有完整的解決方案。
目前圍繞龍芯中科的產(chǎn)業(yè)合作伙伴已經(jīng)有上千家,通過(guò)一系列的措施,包括標(biāo)準(zhǔn)建設(shè)、開(kāi)源軟件建設(shè)、解決方案提供、安全體系、產(chǎn)品認(rèn)證、人才培養(yǎng)、出版書(shū)籍等,從多個(gè)維度構(gòu)建 LoongArch 產(chǎn)業(yè)生態(tài)體系。
同時(shí),LoongArch 正在構(gòu)建技術(shù)產(chǎn)業(yè)聯(lián)盟,在聯(lián)盟里與產(chǎn)業(yè)合作伙伴實(shí)現(xiàn)知識(shí)產(chǎn)權(quán)的共享,一起打造一套生態(tài)。希望在2025年消除指令系統(tǒng)之間的壁壘。
謝謝大家。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。