向Linux看齊,立志存活三十年:包云崗團(tuán)隊(duì)開(kāi)源高性能RISC-V處理器「香山」
中國(guó)科學(xué)院計(jì)算技術(shù)研究所的包云崗團(tuán)隊(duì)推出了一款開(kāi)源的高性能 RISC-V 處理器——香山。他們給自己定的小目標(biāo)是:存活 30 年。
在 CPU 架構(gòu)領(lǐng)域,Arm 和 X86 分別在移動(dòng)端和桌面端占據(jù)了絕大部分市場(chǎng)份額。但是,這兩個(gè)巨頭對(duì)指令集的授權(quán)管控極為嚴(yán)格,這意味著大多數(shù)芯片企業(yè)只能購(gòu)買(mǎi)其半成品或接近成品的技術(shù),在其基礎(chǔ)上進(jìn)行相對(duì)邊緣化的研發(fā),沒(méi)有機(jī)會(huì)掌握真正核心、底層的技術(shù)。少數(shù)實(shí)力雄厚的企業(yè)能取得授權(quán),也要付出數(shù)千萬(wàn)甚至上億美元的授權(quán)費(fèi)代價(jià)[1]。這使得越來(lái)越多的芯片研發(fā)企業(yè)轉(zhuǎn)向了開(kāi)源的 RISC-V。
加州大學(xué)伯克利分校教授、RISC-V 發(fā)明人 David Patterson 曾大膽預(yù)言:「在五到十年內(nèi),RISC-V 可能成為世界上最重要的指令集」。
隨著 RISC-V 熱度不斷上升,這一預(yù)言似乎正逐漸走向現(xiàn)實(shí)。
前段時(shí)間,路透社等外媒報(bào)道稱(chēng),英特爾正計(jì)劃以 20 億美元的價(jià)格收購(gòu)全球首家基于 RISC-V 架構(gòu)的半導(dǎo)體初創(chuàng)公司 SiFive。去年剛從英特爾離職的半導(dǎo)體行業(yè)大牛 Jim Keller 也透露出了對(duì) RISC-V 前景的樂(lè)觀,他表示,「這是一個(gè)非常好的指令集。(與 Arm 和 x86 相比,)它是最簡(jiǎn)單的一個(gè),擁有所有該有的功能,而且沒(méi)有太多垃圾。如果我想要快速構(gòu)建一臺(tái)計(jì)算機(jī),并且希望它運(yùn)行得夠快,那么 RISC-V 是最容易的選擇?!?/p>
放眼國(guó)內(nèi),RISC-V 的熱度也在不斷上漲。6 月 21 日,第一屆 RISC-V 中國(guó)峰會(huì)在上??萍即髮W(xué)拉開(kāi)帷幕。在本屆峰會(huì)上,中國(guó)科學(xué)院計(jì)算技術(shù)研究所研究員、中國(guó)開(kāi)放指令生態(tài)(RISC-V)聯(lián)盟秘書(shū)長(zhǎng)包云崗介紹了他們團(tuán)隊(duì)最近開(kāi)發(fā)的一款開(kāi)源高性能 RISC-V 處理器——香山。
開(kāi)源鏈接:https://github.com/OpenXiangShan/XiangShan (除了 GitHub,國(guó)內(nèi)幾個(gè)開(kāi)源平臺(tái) Gitee/Trustie/iHub 上都有「香山」的鏡像,搜「XiangShan」就能找到。)
為什么要做「香山」?此前,包云崗團(tuán)隊(duì)發(fā)現(xiàn),Linux誕生30年,其不僅被工業(yè)界廣泛應(yīng)用,也成為學(xué)術(shù)界開(kāi)展操作系統(tǒng)研究的創(chuàng)新平臺(tái),而CPU領(lǐng)域尚未產(chǎn)生一個(gè)類(lèi)似的開(kāi)源主線。
「要建立一個(gè)像Linux那樣的開(kāi)源RISC-V核主線,既能被工業(yè)界廣泛應(yīng)用,又能支持學(xué)術(shù)界試驗(yàn)創(chuàng)新想法。最關(guān)鍵的是,一定要讓它像Linux那樣至少存活30年?!惯@是「香山」團(tuán)隊(duì)給自己定下的小目標(biāo)。
「我們做了一年多的準(zhǔn)備工作——申請(qǐng)經(jīng)費(fèi),啟動(dòng)『一生一芯』計(jì)劃培養(yǎng)人才,建立團(tuán)隊(duì),尋找合作伙伴……終于,香山正式啟動(dòng)了?!?/p>
據(jù)悉,「香山」的理念是代碼開(kāi)源、流程開(kāi)放、文檔公開(kāi)[2]。它基于 Chisel 硬件設(shè)計(jì)語(yǔ)言實(shí)現(xiàn),支持 RV64GC 指令集。在「香山」處理器的開(kāi)發(fā)過(guò)程中,團(tuán)隊(duì)使用了包括 Chisel、Verilator 等在內(nèi)的大量開(kāi)源工具,實(shí)現(xiàn)了差分驗(yàn)證、仿真快照、RISC-V 檢查點(diǎn)等處理器開(kāi)發(fā)的基礎(chǔ)工具,建立起了一套包含設(shè)計(jì)、實(shí)現(xiàn)、驗(yàn)證等在內(nèi)的基于開(kāi)源工具的處理器前端敏捷開(kāi)發(fā)流程。其開(kāi)源許可證采用的是木蘭寬松許可證。[3]
目前,「香山」共有兩版微架構(gòu),第一版叫「雁棲湖」,第二版叫「南湖」。
「雁棲湖」是一個(gè)11級(jí)流水、6****、4個(gè)訪存部件的亂序處理器核。它的開(kāi)發(fā)始于 2020 年 6 月,RTL 于今年 4 月份完成。該架構(gòu)的頻率可以達(dá)到 1.3GHz@TSMC 28nm,性能預(yù)計(jì)可以達(dá)到 7 分 / GHz(SPEC CPU 2006)。
「雁棲湖」架構(gòu)概覽。
在 RISC-V 中國(guó)峰會(huì)上,包云崗介紹了「雁棲湖」架構(gòu)開(kāi)發(fā)的幾個(gè)關(guān)鍵決策。
第一個(gè)決策是選擇使用 Chisel 語(yǔ)言(伯克利大學(xué)發(fā)布的一種開(kāi)源硬件構(gòu)建語(yǔ)言)。與使用傳統(tǒng)的 Verilog 語(yǔ)言相比,使用 Chisel 進(jìn)行敏捷開(kāi)發(fā)效率可以提升 13 倍,代碼量?jī)H為傳統(tǒng)開(kāi)發(fā)的 1/5,而且可以達(dá)到傳統(tǒng)開(kāi)發(fā)的質(zhì)量水平。
第二個(gè)決策是重視構(gòu)建支持敏捷設(shè)計(jì)的流程與工具,包括效率接近 QEMU 的高性能解釋器 NEMU、TL-C 一致性 Cache 的軟件測(cè)試框架 Agent Faker、指令級(jí)在線差分驗(yàn)證框架 Difftest、基于內(nèi)存的輕量級(jí)仿真快照 LightSSS、填補(bǔ)底層波形和高層語(yǔ)義鴻溝的調(diào)試棧 Waveform Terminator、可以在 10 小時(shí)內(nèi)估算出 RISC-V CPU SPEC 分?jǐn)?shù)的 BetaPoint 等。這些工具加速了整個(gè)開(kāi)發(fā)和驗(yàn)證流程。
包云崗表示,「雁棲湖」將在 7 月中旬流片,未來(lái)目標(biāo)是達(dá)到 ARM Cortex-A76 的性能水平。
與「雁棲湖」相比,「南湖」的設(shè)計(jì)目標(biāo)更高:頻率期望達(dá)到 2GHz@SMIC 14nm,性能期望達(dá)到 10 分 / GHz(SPEC CPU 2006 )。該版本的設(shè)計(jì)于今年 3 月份啟動(dòng),預(yù)計(jì) 2021 年底流片。
截至 2021 年 6 月 1 日,共有 25 位中科院計(jì)算所的同學(xué) / 老師參與「香山」項(xiàng)目,他們貢獻(xiàn)了 31784 行香山核設(shè)計(jì)代碼和 18317 行驗(yàn)證框架代碼。首期「一生一芯」計(jì)劃的五位同學(xué)(金越、王華強(qiáng)、王凱帆、張林雋、張紫飛)在本科一畢業(yè)便加入了香山的開(kāi)發(fā),成為了技術(shù)骨干。6 月 19 日,技術(shù)團(tuán)隊(duì)在嘉興南湖召開(kāi)了一場(chǎng)研討會(huì)。
包云崗表示,為了建立像 Linux 這樣的被工業(yè)界廣泛應(yīng)用的體系結(jié)構(gòu)創(chuàng)新開(kāi)源平臺(tái),實(shí)現(xiàn)使香山存活 30 年的目標(biāo)。為此,他們還有很多工作要做,包括保持半年更新一代架構(gòu)的迭代優(yōu)化頻率;每年 2 次流片,對(duì)新架構(gòu)、新功能進(jìn)行驗(yàn)證等。
合作方面,北京微核芯科技為「香山」提供了第一期產(chǎn)業(yè)經(jīng)驗(yàn)、幫助完成了結(jié)構(gòu)設(shè)計(jì)及物理設(shè)計(jì)。目前,項(xiàng)目的第二期正在招募聯(lián)合開(kāi)發(fā)合作伙伴,已經(jīng)加入的企業(yè)包括微核芯、字節(jié)跳動(dòng)、北京奕斯偉、優(yōu)矽科技等。包云崗表示,「這些來(lái)自工業(yè)界的積極反饋,讓我們更堅(jiān)定地去踐行科研重工業(yè)模式?!梗蒲兄毓I(yè)模式即熱衷于研制真正能改變現(xiàn)狀的原型系統(tǒng),哪怕需要大量工程投入,典型代表是加州大學(xué)伯克利分校。[4])
從「香山」的發(fā)布和產(chǎn)業(yè)支持不難看出,國(guó)內(nèi)半導(dǎo)體行業(yè)對(duì) RISC-V 的熱情也在持續(xù)高漲。但不可否認(rèn)的是,該指令集的生態(tài)構(gòu)建還需要一段時(shí)間。在前段時(shí)間的一次采訪中,包云崗坦言,采用 RISC-V 實(shí)現(xiàn)復(fù)雜場(chǎng)景下需求的應(yīng)用還在起步初期,要想走進(jìn)生態(tài)豐富且穩(wěn)固的服務(wù)器、電腦、手機(jī)等傳統(tǒng)領(lǐng)域,還有很長(zhǎng)一段路要走。他粗估,至少要 5 年至 10 年[1]。
也有人認(rèn)為,因?yàn)樽銐蜷_(kāi)放,RISC-V 的生態(tài)弱項(xiàng)未來(lái)有可能反轉(zhuǎn)成優(yōu)勢(shì)?!府a(chǎn)業(yè)的生態(tài)環(huán)境還在形成,沒(méi)有老牌霸主,我們有機(jī)會(huì)打造包括指令集、核心芯片、操作系統(tǒng),以及上層應(yīng)用、云服務(wù)在內(nèi)的可控生態(tài)?!谷A米科技創(chuàng)始人黃汪表示[1]。
當(dāng)然,生態(tài)的建設(shè)不是一件容易的事?!笇?duì)于 RISC-V 來(lái)說(shuō),如何讓參與進(jìn)來(lái)的玩家形成合力是一個(gè)挑戰(zhàn)?!拱⒗锇桶推筋^哥市場(chǎng)部負(fù)責(zé)人高慧指出,過(guò)去 ARM 和 X86 這些指令集都有一個(gè)核心玩家,推動(dòng)指令集不斷向某一個(gè)方向演進(jìn)?,F(xiàn)在,開(kāi)源開(kāi)放的 RISC-V 吸引了很多玩家,需要思考如何形成合力,而不是分叉發(fā)展[1]。
其實(shí),這也是「香山」項(xiàng)目的初衷之一,即「形成『競(jìng)爭(zhēng)前合作』,實(shí)現(xiàn)各界聯(lián)合開(kāi)發(fā)開(kāi)源 CPU 架構(gòu)」。只有加強(qiáng)合作,RISC-V 生態(tài)才能早日發(fā)展壯大。
參考鏈接:
[1] https://baijiahao.baidu.com/s?id=1696983669207732243&wfr=spider&for=pc
[2] https://www.zhihu.com/question/466393646/answer/1955410750
[3] https://openxiangshan.github.io/
[4] https://zhuanlan.zhihu.com/p/268197755
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。