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