龍芯曲折的自主CPU之路
通用CPU被稱作是集成電路中的“珠穆朗瑪峰”,對(duì)集成電路和軟件產(chǎn)業(yè)具有基礎(chǔ)性和帶動(dòng)性作用。但CPU的微架構(gòu)需要長(zhǎng)期積累,且需要對(duì)應(yīng)用、操作系統(tǒng)、編譯、邏輯和電路的行為都融會(huì)貫通。我國由于缺少自主的CPU技術(shù)和產(chǎn)業(yè),在信息產(chǎn)業(yè)嚴(yán)重受制于人。在自主CPU的研發(fā)道路上,國內(nèi)以龍芯為代表的企業(yè)手握自主創(chuàng)新的“槍桿子”走過了坎坷的十八年。
本文引用地址:http://m.butianyuan.cn/article/201912/408617.htm行走在路上的龍芯
回顧龍芯十八年多的發(fā)展歷史,走的是“之”字形的發(fā)展道路,彎路比直路多。
2000年10月,一個(gè)偶然的機(jī)緣,胡偉武開始參與中科院計(jì)算所的CPU開發(fā)項(xiàng)目。
2001年8月,中國自主研發(fā)的龍芯1號(hào)FPGA成功地運(yùn)行了Linux操作系統(tǒng)。
2002年8月10日,“龍芯1號(hào)”問世,中國人結(jié)束了只能用國外CPU造計(jì)算機(jī)的歷史,被業(yè)內(nèi)人士譽(yù)為民族科技產(chǎn)業(yè)化道路上的一個(gè)里程碑。
2003年4月18日,由中科院計(jì)算技術(shù)研究所自主研發(fā)的國產(chǎn)首款64位高性能通用CPU——“龍芯2號(hào)”問世。龍芯2號(hào)在性能上有著大幅提高,對(duì)我國行成具有自主知識(shí)產(chǎn)權(quán)的計(jì)算機(jī)產(chǎn)業(yè)有著重要的推動(dòng)作用。
此后研制龍芯3號(hào)系列CPU發(fā)展道路之曲折、奮斗之艱辛,付出之巨大無人知曉,直到2016年,龍芯3A3000才研制成功,因2016年是紅軍長(zhǎng)征勝利80周年,因此以CZ80命名,每顆芯片的硅片上都刻有CZ80字樣。
十年來,龍芯先后研制了龍芯3A1000、3B1000、3B1500、3A2000/3B200、3A3000/3B3000五款龍芯3號(hào)系列芯片。為什么龍芯CPU研制經(jīng)歷這么多坎坷呢?除了龍芯的質(zhì)量流程需要持續(xù)改進(jìn)以外,究其根本原因,是因?yàn)辇埿臼冀K堅(jiān)持芯片中的核心模塊自己研制,龍芯長(zhǎng)期堅(jiān)持芯片中的核心IP自己掌握。
胡偉武在《龍芯的足跡》一書中寫到:“做任何事情,依靠別人總是容易一些,完全靠自己則困難的多。但依靠的多了,吃過虧后才明白還得靠自己”。
比肩AMD,龍芯新一代CPU實(shí)現(xiàn)自主可控
那么自主CPU與國外先進(jìn)水平主要差距在哪?在胡偉武看來,自主CPU在技術(shù)上的核心問題是由于沒有很好地掌握處理器的微架構(gòu)技術(shù),自主處理器單核性能較低,而不是處理器核不夠多,在CPU芯片中多放些處理器核是容易的,難的是要把處理器核做好。再就是通用處理能力和設(shè)計(jì)能力不行。
龍芯的設(shè)計(jì)原則是練好內(nèi)功,通過設(shè)計(jì)優(yōu)化來提高單核通用處理性能。在昨天的龍芯新產(chǎn)品發(fā)布暨用戶大會(huì)上,龍芯發(fā)布了新一代通用CPU產(chǎn)品3A4000/3B000。3A4000/3B000基本完成了單核通用處理性能“補(bǔ)課”。
龍芯3A4000/3B4000在片內(nèi)集成了安全機(jī)制,實(shí)現(xiàn)自主可控和安全可靠的統(tǒng)一。3A4000/3B4000主要有三大特點(diǎn):
特點(diǎn)一:相同工藝性能(28nm)成倍提高
龍芯3A4000/3B4000使用與上一代產(chǎn)品3A3000/3B3000相同的28nm工藝,通過設(shè)計(jì)優(yōu)化成倍提升性能。具體可表現(xiàn)為SPEC CPU2006單核peak分值雙21分,base分值雙18分;3B4000支持四路直連,四路服務(wù)器性能是3B3000雙路服務(wù)器的四倍;科學(xué)計(jì)算性能是3A3000的四倍以上,支持128/256位向量;據(jù)胡偉武介紹,3A4000通用處理性能與AMD公司28nm工藝最后產(chǎn)品“挖掘機(jī)”處理器相當(dāng),且單核性能高于用14nm實(shí)現(xiàn)的ARM處理器。
特點(diǎn)二:片內(nèi)安全機(jī)制
龍芯3A4000/3B4000能夠從機(jī)制上有效防范Meltdon和Spectre等漏洞,支持MD5、AES、SHA等加解密算法,支持專用安全可信模塊及國密算法,支持“影子?!钡仍L問控制機(jī)制。據(jù)龍芯中科董事長(zhǎng)胡偉武介紹,傳統(tǒng)的CPU安全機(jī)制只是在處理器核外增加安全可信模塊,龍芯3A40003B4000專門在處理器核內(nèi)設(shè)計(jì)了安全控制機(jī)制,從而達(dá)到本質(zhì)安全。
特點(diǎn)三:一如既往地自主研發(fā)
龍芯3A4000/B4000一如既往地強(qiáng)調(diào)自主研發(fā)。芯片中的所有功能模塊,包括CPU核心、片內(nèi)互聯(lián)總線、DDR4內(nèi)存控制器及各種接口模塊等的所有源代碼均自主設(shè)計(jì)。芯片中各類全定制模塊,包括多端口寄存器堆、鎖相環(huán)、DDR4PHY、PLL等均自主研發(fā)。除了流片廠家提供的基本設(shè)計(jì)環(huán)境,龍芯3A4000/3B4000沒有使用任何第三方IP。
3A4000/3B4000使用龍芯公司最新研制的新一代處理器核GS464V,主頻1.8ghz-2.ghz,通過優(yōu)化功耗管理,基于龍芯3A4000筆記本工作時(shí)間比上一代產(chǎn)品延長(zhǎng)一倍以上。采用37.5mm*37.5mm封裝工藝,還支持BGA、LGA以及CBGA的多種封裝形式,同時(shí)其桌面主板可支持四層布線。
胡偉武還指出,3A4000/3B4000還存在一些問題,例如DDR4內(nèi)存頻率不夠高,功耗偏大,但這也是龍芯進(jìn)一步改進(jìn)的動(dòng)力。下一步龍芯的主要工作重點(diǎn)就是提高主頻和核數(shù)。龍芯將于明后年推出使用12nm工藝的四核3A5000和16核3C5000,其主頻將提高到2.5GH以上,通用處理性能將達(dá)到當(dāng)時(shí)AMD的水平,3A5000通過工藝改進(jìn)提高主頻,3C5000工藝改進(jìn)增加核數(shù)。通過20年積累完成CPU性能“補(bǔ)課”。
龍芯操作系統(tǒng)的“三條線、兩個(gè)面”
龍芯的“初心”是打造獨(dú)立于Wintel和AA (ARM+Android)的第三大生態(tài)體系。優(yōu)秀的生態(tài)有三個(gè)重要特點(diǎn):一是開放,越開放合作伙伴越多,產(chǎn)業(yè)生態(tài)力量越大,Google和ARM做得最好;二是兼容,越兼容越容易形成合力,產(chǎn)業(yè)生態(tài)不易碎片化,Intel和微軟做得最好;三是優(yōu)化,以用戶體驗(yàn)為中心,通過軟硬件緊密結(jié)合進(jìn)行優(yōu)化,蘋果做得最好。
他山之石,可以攻玉。經(jīng)過多年探索,龍芯形成了“Intel+ Google+ Apple”的商業(yè)與技術(shù)模式。一是學(xué) Intel商業(yè)上形成CPU、OS、ODM核心并向外輻射,技術(shù)上做好 Outside規(guī)范,保持結(jié)構(gòu)的兼容和穩(wěn)定,實(shí)現(xiàn)操作系統(tǒng)級(jí)二進(jìn)制兼容。二是學(xué) Google“做OS但不賣OS”,谷歌研制 Android但不賣 Android操作系統(tǒng),而小米的米OS和華為的麒麟OS均基于 Google的 Android;龍芯研制 Loongnix形成龍芯CPU的基礎(chǔ)版操作系統(tǒng)并免費(fèi)開放給合作伙伴,支持合作伙伴推出發(fā)行版操作系統(tǒng)產(chǎn)品。三是學(xué) Apple以用戶體驗(yàn)為中心從全系統(tǒng)角度進(jìn)行優(yōu)化,把細(xì)節(jié)做精。
結(jié)合龍芯生態(tài)建設(shè)的要求,龍芯在實(shí)踐中形成了軟件生態(tài)“三條線、兩個(gè)面”的總體思路。
龍芯操作系統(tǒng)的“三條線”: Loongnix面向通用信息化系統(tǒng),基于通用Linux平臺(tái)進(jìn)行完善和優(yōu)化,為統(tǒng)一操作系統(tǒng)龍芯版提供支持;LoongOS面向高可靠實(shí)時(shí)終端,基于Linux/RT-Linux構(gòu)建簡(jiǎn)潔高效的OS,沒有Xserver的圖形系統(tǒng);LoongWorks面向?qū)崟r(shí)嵌入式應(yīng)用,針對(duì)歷史應(yīng)用,基于VxWorks內(nèi)核,完善圖形、網(wǎng)絡(luò)等API,把VxWorks從“DOS”階段升級(jí)到Windows階段;龍芯操作系統(tǒng)的“兩個(gè)面”指的是在“三條線”的基礎(chǔ)上,通過統(tǒng)一系統(tǒng)架構(gòu)實(shí)現(xiàn)操作系統(tǒng)跨硬件的二進(jìn)制兼容,完善API實(shí)現(xiàn)應(yīng)用的二進(jìn)制兼容及優(yōu)化。
一是面向硬件,對(duì)不同主板實(shí)現(xiàn)二進(jìn)制兼容,ARM系統(tǒng)做不到OS的二進(jìn)制兼容,其設(shè)計(jì)OS、BIOS、橋片等多方面規(guī)范,ARM只能管住CPU核及AMBA總線,Intel能管住UEFI、PCI軟件協(xié)議等;
二是面向應(yīng)用,對(duì)不同應(yīng)用實(shí)現(xiàn)二進(jìn)制兼容,API是OS的指令系統(tǒng),也是建立生態(tài)的必爭(zhēng)之地,我國用JS和Java編程的工程師數(shù)以百萬計(jì),但會(huì)寫JS和java虛擬機(jī)的不到百人,再加上開源軟件的不兼容性,使得瀏覽器升級(jí)就會(huì)導(dǎo)致應(yīng)用的不兼容。龍芯通過基礎(chǔ)版操作系統(tǒng)管住這“兩個(gè)面”。
本次發(fā)布會(huì)龍芯中科發(fā)布了統(tǒng)一系統(tǒng)架構(gòu)的標(biāo)準(zhǔn)規(guī)范體系,并通過與OEM/ODM廠商簽署認(rèn)證協(xié)議建立產(chǎn)品認(rèn)證體系。從龍芯3A4000/3B4000起,龍芯的參考設(shè)計(jì)全面支持統(tǒng)一系統(tǒng)架構(gòu),CPU和主板升級(jí)均不影響操作系統(tǒng)及應(yīng)用的兼容性。
通過統(tǒng)一系統(tǒng)架構(gòu)保持操作系統(tǒng)跨硬件平臺(tái)的進(jìn)制兼容可以大幅提高系統(tǒng)開發(fā)的效率。在 Wintel的平臺(tái)上,不管是誰做的主板,一套 Windows操作系統(tǒng)都能裝。
不管是多新的CPU,十年前的 Windows XP還能裝。通過指令系統(tǒng)兼容可以實(shí)現(xiàn)應(yīng)用程序的二進(jìn)制兼容,但要實(shí)現(xiàn)操作系統(tǒng)的二進(jìn)制兼容則需要從包括CPU、橋片、BIOS、操作系統(tǒng)等全系統(tǒng)的角度進(jìn)行規(guī)范并保持長(zhǎng)期兼容。
在統(tǒng)一系統(tǒng)架構(gòu)的總要求下,實(shí)現(xiàn)了主板、固件、內(nèi)核層面的兼容,并支持ACPI的UEFI固件,把硬件細(xì)節(jié)抽象為OS對(duì)地址空間的訪問,通過ACPI表向OS提供啟動(dòng)配置/運(yùn)行時(shí)配置和以O(shè)S為主導(dǎo)的電源管理。除此之外,還有檢測(cè)工具集合認(rèn)證協(xié)議。
龍芯中科副總裁張戈在題為《龍芯生態(tài)及解決方案分享》的演講中表示,隨著相關(guān)市場(chǎng)需求的不斷拉動(dòng),龍芯的合作伙伴已經(jīng)增至近千家,下游基于龍芯的開發(fā)人員達(dá)到數(shù)萬人,2019年龍芯芯片出貨量已經(jīng)達(dá)到50萬顆以上,在國產(chǎn)化應(yīng)用中市場(chǎng)份額遙遙領(lǐng)先。
國產(chǎn)CPU要不怕遠(yuǎn)征難
世界上做CPU的企業(yè)中,凡是不做生態(tài)或者跟生態(tài)的CPU企業(yè)都活不好。
Intel是一個(gè)做生態(tài)的企業(yè),佛教《百喻經(jīng)》中有一個(gè)“三重樓喻”,在信息產(chǎn)業(yè)技術(shù)也有“三重樓喻”,第一層是CPU技術(shù)+操作系統(tǒng)技術(shù),即通用CPU;第二層是網(wǎng)絡(luò)技術(shù)+圖形/媒體技術(shù),即GPU,Intel的通用打敗思科的專用,片內(nèi)集成GPU擺脫對(duì)英偉達(dá)的依賴;第三層是AI技術(shù)+虛擬化技術(shù),如NPU。在芯片內(nèi)部結(jié)構(gòu)復(fù)雜度上,如果CPU的微結(jié)構(gòu)復(fù)雜度是1,GPU的復(fù)雜度為0.3-0.5,神經(jīng)網(wǎng)絡(luò)處理器NPU的復(fù)雜度則小于0.1。
胡偉武指出,龍芯的三層樓要一層層蓋。經(jīng)過20年的發(fā)展,到2020年自主CPU和OS基本完成“補(bǔ)課”,CPU通用處理性能已達(dá)到AMD水平,OS成熟度也已接近Windows XP。但應(yīng)用不夠豐富和產(chǎn)業(yè)不配套成為自主CPU和OS發(fā)展的下一個(gè)瓶頸,過去我國的信息化應(yīng)用主要構(gòu)建在國外Wintel和AA等平臺(tái)上,在CPU、GPU、網(wǎng)絡(luò)等的產(chǎn)業(yè)鏈配套不足。
因此未來CPU與應(yīng)用軟硬件企業(yè)應(yīng)該相向而行,龍芯將不斷完善基礎(chǔ)軟件環(huán)境(如NET等)和配套芯片(如GU、電源時(shí)鐘芯片),信息化應(yīng)用軟件企業(yè)應(yīng)把 Windows上的應(yīng)用軟件往Linux平臺(tái)上遷移。
胡偉武還提到,國產(chǎn)CPU應(yīng)“不怕遠(yuǎn)征難”,縱觀歷史,高復(fù)雜系統(tǒng)能力建設(shè)需要以30年為周期,例如“運(yùn)十”1996年拆解,“C919”2017年首飛。那么有沒有辦法避免上述耗時(shí)的多輪試錯(cuò),一步就上樓?對(duì)此,龍芯進(jìn)行了各種嘗試:造不如買,市場(chǎng)換技術(shù)、研不如買、彎道超車。。。。事實(shí)證明,這些都不是根本的解決辦法。正所謂不同產(chǎn)品需要不同周期,CPU就是個(gè)孩子,千萬不能指望2~3年把他養(yǎng)好。
在核心技術(shù)產(chǎn)業(yè)“爬樓梯”的過程中,必須要有愚公移山的精神和實(shí)事求是的作風(fēng),不要幻想彎道超車,建立自主IT產(chǎn)業(yè)體系需要30年的努力,目前龍芯已發(fā)展19年,正呈現(xiàn)加速發(fā)展態(tài)勢(shì)。
芯中科技術(shù)有限公司總裁胡偉武
胡偉武介紹到,改革開放以來,我國發(fā)展核心技術(shù)形成了以“市場(chǎng)換技術(shù)”和“市場(chǎng)帶技術(shù)”為主要特點(diǎn)的兩條道路。所謂市場(chǎng)換技術(shù),就是通過合資等方式把中國市場(chǎng)給予國外企業(yè),希望在合資過程中得到先進(jìn)技術(shù);我國汽車產(chǎn)業(yè)是“市場(chǎng)換技術(shù)”道路的典型代表,事實(shí)證明,走這條道路在發(fā)展核心技術(shù)方面沒有取得預(yù)期的效果。
境外主要CPU企業(yè)均通過合資或授權(quán)方式成為“自主CPU”,要強(qiáng)調(diào)自主CPU需“融入”已有生態(tài)。所謂“市場(chǎng)帶技術(shù)”,就是充分發(fā)揮我國體制優(yōu)勢(shì)和市場(chǎng)優(yōu)勢(shì),通過體制內(nèi)市場(chǎng)引導(dǎo),形成技術(shù)能力,帶動(dòng)技術(shù)進(jìn)步,再參與體制外市場(chǎng)競(jìng)爭(zhēng);我國航天產(chǎn)業(yè)是“市場(chǎng)帶技術(shù)”道路的典型代表。
事實(shí)證明,走“市場(chǎng)帶技術(shù)”道路更有利于我國發(fā)展和掌握核心技術(shù)。龍芯走的正是市場(chǎng)帶技術(shù)的道路,龍芯CPU通過自主編寫CPU源代碼,并在應(yīng)用中不斷演進(jìn),強(qiáng)調(diào)自主CPU要建立自主生態(tài)(獨(dú)立于 intel體系和AA體系)。要同臺(tái)競(jìng)技需先通過樓梯“上臺(tái)”,一步樓梯就是一次在市場(chǎng)應(yīng)用中試錯(cuò),不斷的試錯(cuò),才能促使性能的提高和生態(tài)的完善。
龍芯OS在試錯(cuò)中不斷趨于成熟:第一功能豐富,在主要的功能軟件和大量的IO驅(qū)動(dòng)上功能更加豐富;第二架構(gòu)穩(wěn)定,實(shí)現(xiàn)了操作系統(tǒng)對(duì)不同主板及升級(jí)后的CPU二進(jìn)制兼容,涉及CPU、橋片、BIOS、OS的大量細(xì)節(jié)更加規(guī)范化;第三性能優(yōu)化,性能成倍提高,從被動(dòng)優(yōu)化逐漸到主動(dòng)優(yōu)化,另外打造技術(shù)鏈,在每個(gè)局部都不如國外的情況相愛啊,整體性能優(yōu)于國外系統(tǒng);第四問題收斂,應(yīng)用現(xiàn)場(chǎng)問題追溯到CPU和OS的越來越少,成熟度更接近Windows XP的水平。
胡偉武指出,走“市場(chǎng)帶技術(shù)”的道路,通過自主研發(fā)掌握CPU的核心技術(shù),建立自主可控的信息技術(shù)體系,我們失去的只有鎖鏈,得到的將是整個(gè)世界。走“市場(chǎng)換技術(shù)”的道路,通過引進(jìn)技術(shù)發(fā)展自主CPU產(chǎn)品,只是將一副鎖鏈換成另外一副鎖鏈。結(jié)合過去龍芯十八年的發(fā)展之路,任何企業(yè)和新技術(shù)在發(fā)展的過程中,既要埋頭拉車,又要抬頭看路。
評(píng)論