目前中國(guó)CPU指令集還處在群雄割據(jù)的狀態(tài),印度就已早一步確定了“國(guó)家版”,印度將RISC-V確立為國(guó)家指令集,并將目標(biāo)調(diào)整為研制6款基于RISC-V指令集的開源處理器核。雖然中國(guó)指令集繁多看似百花齊放,但實(shí)際上卻存在很多問題,中國(guó)統(tǒng)一指令集只能依靠商業(yè)力量。
中國(guó)國(guó)產(chǎn)芯片集齊了SW64、LoongISA/MIPS、X86、Power、ARM,加上之前一些單位的一些產(chǎn)品和學(xué)術(shù)研究,中國(guó)的CPU的指令集還要加上IA-64、Sparc、RISC-V,這對(duì)中國(guó)CPU的發(fā)展非常不利。相比之下,印度確立國(guó)家級(jí)指令集的做法,更有利于一個(gè)國(guó)家CPU的長(zhǎng)遠(yuǎn)發(fā)展。
近年來,隨著龍芯、申威自主CPU在性能和應(yīng)用上不斷取得突破,原本對(duì)中國(guó)高度技術(shù)封鎖的歐美科技公司紛紛到中國(guó)尋找代理人,Intel、AMD、IBM、ARM、高通相繼在中國(guó)成立合資公司,或?qū)ふ壹夹g(shù)合作伙伴。這其中就涉及“指令集”,它是存儲(chǔ)在CPU內(nèi)部,對(duì)CPU運(yùn)算進(jìn)行指導(dǎo)和優(yōu)化的硬程序。
與此同時(shí),中國(guó)國(guó)產(chǎn)芯片集齊了SW64、LoongISA/MIPS、X86、Power、ARM,加上之前一些單位的一些產(chǎn)品和學(xué)術(shù)研究,中國(guó)的CPU的指令集還要加上IA-64、Sparc、RISC-V,這對(duì)中國(guó)CPU的發(fā)展非常不利。相比之下,印度確立國(guó)家級(jí)指令集的做法,更有利于一個(gè)國(guó)家CPU的長(zhǎng)遠(yuǎn)發(fā)展。
印度將RISC-V確立為國(guó)家指令集
雖然印度在很多方面與中國(guó)相距甚遠(yuǎn),在“中國(guó)能,我也能”的思維方式下鬧了不少笑話,但印度的一些做法也值得我們學(xué)習(xí)和借鑒。
在2011年,印度開始實(shí)施處理器戰(zhàn)略計(jì)劃,在全國(guó)范圍資助2-3個(gè)研制處理器的項(xiàng)目。印度理工學(xué)院馬德拉斯分校(Indian Institute of Technology,Madras)的G. S. Madhusudan與V. Kamakoti教授在該計(jì)劃支持下啟動(dòng)了SHAKTI處理器項(xiàng)目,目標(biāo)是研制與IBM PowerPC兼容的處理器。為了獲得合法授權(quán),SHAKTI項(xiàng)目組與IBM開展了合作談判,但始終未能達(dá)成一致。值得一提的是,在2014年,中國(guó)某公司卻獲得了IBM Power8的授權(quán),之后,該公司還鬧出欠薪事件,最后由當(dāng)?shù)卣隽私颖P俠。
在加州大學(xué)伯克利分校推出了RISC-V指令集之后,SHAKTI項(xiàng)目組在2013年毅然放棄PowerPC,全面擁抱RISC-V。并將項(xiàng)目目標(biāo)調(diào)整為研制6款基于RISC-V指令集的開源處理器核,涵蓋了32位的單核微控制器、64核64位高性能處理器和安全處理器等多個(gè)應(yīng)用領(lǐng)域。
David Patterson教授帶領(lǐng)研制的五代RISC處理器
這里介紹下RISC-V,RISC-V指令集使用BSD License開源協(xié)議,是一個(gè)徹底開放的指令集。也就是說,全世界任何公司、大學(xué)、研究機(jī)構(gòu)與個(gè)人都可以開發(fā)兼容RISC-V指令集的處理器,都可以融入到基于RISC-V構(gòu)建的軟硬件生態(tài)系統(tǒng),而不需要為指令集付一分錢。相比之下,ARM的指令集授權(quán)費(fèi)用則非常昂貴,一些ARM陣營(yíng)IC設(shè)計(jì)公司每年就要支付數(shù)千萬(wàn)乃至上億美元的成本。
在調(diào)整項(xiàng)目計(jì)劃之后,SHAKTI項(xiàng)目又獲得印度政府9000萬(wàn)美元的經(jīng)費(fèi)支持。在2016年,先進(jìn)計(jì)算發(fā)展中心獲得印度電子信息技術(shù)部4500萬(wàn)美元的資助,目標(biāo)研制一款基于RISC-V指令集的2GHz四核處理器。此外,印度政府支持的一款神經(jīng)形態(tài)加速器項(xiàng)目也將RISC-V作為計(jì)算主核心。
在過去數(shù)年中,印度政府資助的處理器相關(guān)項(xiàng)目都開始向RISC-V靠攏,RISC-V成為了印度的事實(shí)國(guó)家指令集。
中國(guó)CPU指令集處于群雄割據(jù)狀態(tài)
目前,中國(guó)CPU發(fā)展可以分為兩條路線。
一條是自主路線,以龍芯與申威為代表,申威自定義了SW64指令集,龍芯基于MIPS擴(kuò)展出來的LoonISA,自主設(shè)計(jì)CPU的內(nèi)核,以及內(nèi)存控制器等IP,并且一直在堅(jiān)持創(chuàng)建自己的生態(tài)系統(tǒng)。
另一條是技術(shù)引進(jìn)路線,購(gòu)買國(guó)外CPU的IP授權(quán),并借助現(xiàn)有的生態(tài)系統(tǒng)開拓市場(chǎng)。比如華為和展訊從ARM公司購(gòu)買IP做集成,依附于AA體系的生態(tài)系統(tǒng);華芯通購(gòu)買高通的授權(quán)開發(fā)芯片,依附于AA體系的生態(tài)系統(tǒng);瀾起購(gòu)買Intel的內(nèi)核外加一個(gè)安全模塊做安全芯片,依附于Wintel體系;宏芯購(gòu)買了IBM Power8的授權(quán)開發(fā)CPU,寄希望于IBM主導(dǎo)的Open power.。。。。。
可以說,中國(guó)已經(jīng)集齊了全球大部分有一定影響力或曾經(jīng)有一定影響力的指令集,像ARM、MIPS、PowerPC、SPARC、RISC-V、X86等指令集都可以在中國(guó)找到。因而有網(wǎng)友調(diào)侃:如果再將已經(jīng)消逝的PA-RISC、Alpha、IA-64等指令集找回來,就可以召喚神龍了。
雖然指令集繁多看似百花齊放,但實(shí)際上卻存在很多問題。
一是嚴(yán)重分散了研發(fā)力量,導(dǎo)致編譯、操作系統(tǒng)等基礎(chǔ)軟件開發(fā)者與愛好者由于精力有限而無(wú)法兼顧所有指令集的優(yōu)化,延緩自主生態(tài)的建設(shè)。
二是嚴(yán)重影響到計(jì)算機(jī)專業(yè)的本科教學(xué),目前的課程體系并沒有制定相關(guān)標(biāo)準(zhǔn),于是很多學(xué)校開設(shè)的不同課程會(huì)讓學(xué)生使用不同的指令集開展實(shí)驗(yàn),導(dǎo)致學(xué)生忙于了解各種指令集匯編語(yǔ)言而疏于了解指令集本身的設(shè)計(jì)精髓、指令集與處理器/編譯/OS之間的聯(lián)系。
事實(shí)上,最理想的狀態(tài)是國(guó)內(nèi)多家CPU公司以統(tǒng)一指令集設(shè)計(jì)芯片,大家都圍繞這個(gè)指令集建設(shè)軟件生態(tài)。這樣一來,在硬件上哪家的產(chǎn)品好就用誰(shuí)的,在軟件上也能眾人拾柴火焰高,加速生態(tài)建設(shè)。
其實(shí),國(guó)家也想統(tǒng)一指令集。在2012年,工信部曾經(jīng)試圖制定CPU指令集國(guó)家標(biāo)準(zhǔn)。然而,更換指令集就意味著過去十多年圍繞該指令集所建設(shè)的軟件生態(tài)全部歸零,在2012年才力圖統(tǒng)一指令集已然太晚了。像印度那樣,在沒有過去技術(shù)積累作為包袱的情況下,才是通過行政力量統(tǒng)一指令集的最佳時(shí)機(jī)。
中國(guó)統(tǒng)一指令集只能依靠商業(yè)力量
既然印度可以將RISC-V確立為國(guó)家指令集,那么,中國(guó)是否可以效法呢?
筆者認(rèn)為,可行性非常低。主要是因?yàn)閲?guó)內(nèi)IC設(shè)計(jì)公司和單位不太可能拋棄現(xiàn)有的技術(shù)積累,去更換指令集。
舉例來說,龍芯和申威不可能放棄現(xiàn)有的技術(shù)成果,畢竟龍芯和申威已經(jīng)圍繞SW64和LoongISA初步構(gòu)筑了一個(gè)生態(tài)體系。
華為和展訊也不可能拋棄有豐富軟件生態(tài)的ARM轉(zhuǎn)向前景不明的RISC-V。畢竟離開了ARM,華為和展訊不僅要面臨無(wú)CPU內(nèi)核可用的窘境,還要遭遇沒有軟件生態(tài)的困局,其手機(jī)和芯片產(chǎn)品將成為工業(yè)廢品。
另外,國(guó)內(nèi)學(xué)術(shù)界基于RISC-V開展的前沿研究依然偏少,國(guó)內(nèi)目前幾乎沒有在RISC-V開源社區(qū)中的貢獻(xiàn)者,大部分還是以應(yīng)用RISC-V為主,從而無(wú)法在社區(qū)與生態(tài)發(fā)展中擁有足夠的話語(yǔ)權(quán)。
標(biāo)簽化RISC-V團(tuán)隊(duì)與伯克利的Patterson教授和Asanovic教授
第7屆RISC-V研討會(huì)的程序委員會(huì)名單
因此,效法印度將RISC-V確立為國(guó)家指令集的做法并不適合中國(guó)。
就目前來說,通過政府行政力量統(tǒng)一CPU指令集的可能性幾乎為零。想要把指令集統(tǒng)一起來,就只能依靠商業(yè)力量。類似于美國(guó)上世紀(jì)90年代X86、Alpha、MIPS、SPARC、Power在幾番大戰(zhàn)之后,由X86一統(tǒng)江山。中國(guó)如果要統(tǒng)一CPU指令集,也要經(jīng)歷這個(gè)過程。
ARM最有可能成為中國(guó)事實(shí)上的國(guó)家級(jí)指令集
從情感上,我們當(dāng)然是希望SW64或LoongISA能夠成為中國(guó)的國(guó)家級(jí)指令集。
不過,從實(shí)踐上看,ARM成為事實(shí)上的中國(guó)國(guó)家指令集的可能性更高。
首先,ARM在國(guó)內(nèi)的合作伙伴多達(dá)上百家,這些企業(yè)會(huì)為ARM開發(fā)大量應(yīng)用,并在物聯(lián)網(wǎng)時(shí)代到來之后占據(jù)大量市場(chǎng)。
其次,國(guó)內(nèi)部分ARM陣營(yíng)IC設(shè)計(jì)公司由非常深厚的政商關(guān)系,非常善于宣傳營(yíng)銷。能將買IP做集成輕易包裝成擁有全部知識(shí)產(chǎn)權(quán),進(jìn)而帶上“自主可控”的標(biāo)簽。
比如某公司在核高基的支持下,開發(fā)了一款宣稱自主可控的32核A57芯片,根據(jù)核高基總師魏少軍教授的報(bào)告,這款芯片將進(jìn)入特殊市場(chǎng)。又比如某些公司買ARM的IP為基礎(chǔ)開發(fā)了SSD主控芯片,卻宣稱“自主可控”、“安全可靠”并榮獲各種殊榮,而采用龍芯、申威CPU的SSD主控芯片,卻鮮有人知曉。由于ARM由日本控股,主要研發(fā)中心在美國(guó),國(guó)內(nèi)一些公司將ARM打扮成“自主可控”的做法無(wú)疑是向中國(guó)的信息安全體系中埋入特洛伊木馬。
最后,國(guó)內(nèi)真正具備自主開發(fā)高性能CPU技術(shù)的團(tuán)隊(duì)非常少,而且由于技術(shù)具有迭代演進(jìn)的特點(diǎn)——每一代新內(nèi)核,相對(duì)應(yīng)前一代內(nèi)核的代碼替換量最多不會(huì)超過20%。而一代內(nèi)核的研發(fā)一般要2-3年。在這種情況下,與其從零開始自主研發(fā),遠(yuǎn)不如玩買IP做集成或在ARM原始設(shè)計(jì)上略做修改+營(yíng)銷包裝游戲來錢快。
至于高度依賴國(guó)外技術(shù),只要足夠多的水軍就能洗白,而且還能包裝成國(guó)產(chǎn)驕傲,而代價(jià)就是國(guó)產(chǎn)處理器繼PC之后,再一次跟在洋人身后吃土,在處理器領(lǐng)域再出現(xiàn)一個(gè)聯(lián)想。
在自主研發(fā)風(fēng)險(xiǎn)大、成本高、周期長(zhǎng),“短、平、快”能夠?qū)崿F(xiàn)短期獲利的情況下,眾多商業(yè)公司都會(huì)選擇ARM。像印度選擇的RISC-V,在中國(guó)市場(chǎng)上,只會(huì)在一些小眾領(lǐng)域有一席之地,比如把RISC-V內(nèi)核集成在FPGA里。
評(píng)論
查看更多