負責(zé)人解釋:國科大“一生一芯”背后有哪些故事?
掃描二維碼
隨時隨地手機看文章
作者:包云崗
來源:中國科學(xué)院大學(xué)
知乎地址:https://www.zhihu.com/question/409298856/answer/1363569013
編 者 按
7月25日,中國科學(xué)院大學(xué)正式公布首期“一生一芯”計劃成果——5位本科畢業(yè)生主導(dǎo)完成一款64位RISC-V處理器SoC芯片設(shè)計并實現(xiàn)流片。
如何評價中國科學(xué)院大學(xué)“一生一芯”計劃?這一問題在知乎引發(fā)熱議。27日,該計劃負責(zé)人、國科大計算機學(xué)院教授、中科院計算所先進計算機系統(tǒng)研究中心主任包云崗現(xiàn)身知乎,詳細介紹了“一生一芯”背后的故事。
包云崗介紹說,這項計劃源于對“如何將教學(xué)和開源芯片結(jié)合起來”這一問題的思考,更啟發(fā)于中國通訊科技巨頭華為面臨的芯片困境。
包云崗曾與華為專家交流,了解到短期內(nèi)的需求華為自己基本能應(yīng)對,而最需要的是處理器芯片設(shè)計人才。
在當天的發(fā)布會上,團隊也介紹了“一生一芯”計劃的愿景目標:在國科大實踐經(jīng)驗的基礎(chǔ)上向全國輻射,力爭實現(xiàn)3年后在全國每年能培養(yǎng)500名學(xué)生,5年后實現(xiàn)每年培養(yǎng)1000名學(xué)生,10年達到每年培養(yǎng)1萬名學(xué)生。
以下為包云崗在知乎的回答全文,科學(xué)網(wǎng)公號經(jīng)授權(quán)轉(zhuǎn)載。
2018年11月8日,烏鎮(zhèn),世界互聯(lián)網(wǎng)大會,經(jīng)過9個月籌備工作,中國開發(fā)指令生態(tài)(RISC-V)聯(lián)盟正式成立。晚上在烏鎮(zhèn)的一家餐館慶祝時,坐在我邊上的一位老師問了個問題:“以后打算怎么做開源芯片生態(tài)?”
其實這也是在2018年期間我經(jīng)常問自己的一個問題,我有一個很粗的想法——能不能讓學(xué)生參與到開源芯片生態(tài)建設(shè)中——經(jīng)常會浮現(xiàn)出來。
聽了那位老師的問題,我在腦海中又浮現(xiàn)出這個想法,然后就在飯桌上一邊整理思路一邊介紹如何將教學(xué)和開源芯片結(jié)合起來。這應(yīng)該是“一生一芯”計劃的最初萌芽。
那時還沒想到“一生一芯”這個名字,但已經(jīng)大致形成了這樣的目標——讓本科生也能做處理器芯片,讓本科生能帶著自己設(shè)計的處理器芯片畢業(yè)。但聯(lián)盟成立后,這個想法并沒有實質(zhì)性推動。
2019年5月16日華為被美國列入實體名單,全國震驚。各界都在想能為華為做些什么,我們也在思考。
但是,我們是做開源芯片,華為暫時還用不上;我們采用的是開放的RISC-V指令集,而華為的主力芯片都是基于ARM??雌饋砦覀兪菬o法幫助華為解決燃眉之急了。
但和華為專家交流后,他們說短期內(nèi)的需求華為自己基本能應(yīng)對,他們更需要的是中長期的先進技術(shù),而最需要的是處理器芯片設(shè)計人才。
因為華為的芯片架構(gòu)設(shè)計團隊很多在美國硅谷,由于美國的出口管制,雖然是華為的全資子公司,但其技術(shù)也不能輸入到華為總部。這導(dǎo)致華為在美國的芯片設(shè)計人才不能再發(fā)揮作用,但在國內(nèi)又招不到這樣的人才。這才是華為的心腹之患。
華為在國內(nèi)找不到處理器芯片設(shè)計人才的情況是在意料之中。
2017年,我曾安排組里的學(xué)生統(tǒng)計過2008~2017十年的體系結(jié)構(gòu)頂級會議ISCA論文第一作者的情況,最后統(tǒng)計數(shù)據(jù)發(fā)現(xiàn)這些優(yōu)秀人才 85%選擇在美國就業(yè),僅有 4%在中國就業(yè),差距巨大。這和國內(nèi)很多大學(xué)不開展處理器芯片設(shè)計相關(guān)教學(xué)與研究密切相關(guān)。
事實上,類似的人才危機美國也曾經(jīng)歷過,1982 年全美上千所大學(xué)中只有不到100 位教授和學(xué)生從事半導(dǎo)體相關(guān)的研究 。
為了應(yīng)對人才危機,美國國防部高級研究計劃署 (DARPA) 在1981年啟動MOSIS 項目,為大學(xué)提供流片服務(wù),通過MPW模式大幅降低芯片設(shè)計門檻。
30 余年來MOSIS為大學(xué)和研究機構(gòu)流了60000多款芯片,培養(yǎng)了數(shù)萬名學(xué)生。
由此可見,降低芯片設(shè)計門檻,讓學(xué)生能設(shè)計自己的芯片并流片,可大幅提高人才培養(yǎng)效率。這和我此前的構(gòu)想和目標完全一致。我們不能再耽誤了,要加速人才培養(yǎng)計劃。
我自作主張地給這個計劃起了個名字:“一生一芯”。
初衷是希望有一天能讓每一個學(xué)生都能帶著自己設(shè)計的芯片畢業(yè),不管未來是不是真得能實現(xiàn),這至少聽起來是一個美好的理想,而且還有一點爛漫——后來很多人聽到這個名字,第一印象大多是“一輩子做一顆芯片”。還有女生有更浪漫地理解:“一生一心一意愛一人”。不管如何,看來大家對這個名字似乎還都不反感。
然后,我又聯(lián)系了幾位國科大本科生,詢問他們愿不愿意參加這個“一生一芯”計劃當小白鼠。出于意料地是,這些準00后(98/99出生)都表示愿意挑戰(zhàn)一下,愿意當小白鼠。
6月20日,我在開源芯片工作組群向大家宣布:啟動“一生一芯”計劃!這并不是研制產(chǎn)品級芯片,而是一次教學(xué)實踐。很快唐丹老師為未來的芯片起好了內(nèi)部代號“COOSCA”,三門課Computer Organization/Operating System/Computer Architecture的縮寫。
隨后開始組建教學(xué)團隊,隨著項目的進行教學(xué)團隊也在不斷擴大:唐丹老師和工程師劉彤負責(zé)SoC架構(gòu)設(shè)計指導(dǎo),余子濠老師負責(zé)處理器核設(shè)計(其實子濠還是博士生,但因為在國內(nèi)計算機系統(tǒng)教學(xué)領(lǐng)域很有名,所以我們也半開玩笑地叫他老師),張科老師負責(zé)項目協(xié)調(diào)、與國科大對接,并和常軼松老師、趙然老師一起在FPGA模擬仿真方面進行指導(dǎo),解壁偉老師和李嶧工程師在后端物理設(shè)計上給予支持,深圳大學(xué)蔡曄老師則參與幫助設(shè)計PCB板卡,另外蔣德鈞老師和王卅老師是國科大本科操作系統(tǒng)任課老師,在操作系統(tǒng)方面給予支持,兩位博士生王誨喆與徐易難也擔任起助教的角色,幫助答疑解惑。而我自己,則更像是一個啦啦隊長,給大家打雞血。
教學(xué)團隊開始行動起來了,大家討論制定總體方案,確定技術(shù)路線,選擇基礎(chǔ)平臺,搭建開發(fā)環(huán)境,選擇流片工藝和班車……參加首期“一生一芯”計劃的同學(xué)也最終確定,一共有五位,他們是金越、王華強、王凱帆、張林雋和張紫飛。
這五位同學(xué)通過了計算所暑期夏令營面試,均被錄取為計算所研究生,其中金越導(dǎo)師是陳明宇研究員,王華強導(dǎo)師是蔣德鈞副研究員,王凱帆是孫凝暉院士,張林雋和張紫飛的導(dǎo)師則是我。但接下來的時間,他們將組成一個團隊,一起挑戰(zhàn)帶著自己設(shè)計的處理器芯片畢業(yè)這個任務(wù)。
8月20日,當唐丹老師和解壁偉老師終于落實中芯國際110nm工藝的流片渠道后,“一生一芯”計劃一切準備就緒。
8月27日,參加“一生一芯”計劃的首批五位同學(xué)和教學(xué)團隊一起在我的辦公室開了一次簡單但意義重大的動員大會。
“一生一芯”計劃正式啟動!
項目分工
三、四個月高強度開發(fā)
開弓沒有回頭箭。唐丹老師確定了最合適的流片班車是12月17日,距離動員大會不到4個月!這樣芯片能在4月份完成封裝,返回進行測試。
如果一切順利,那就可以趕上五月底或六月初的國科大本科畢業(yè)答辯,到時可以在答辯現(xiàn)場展示芯片。但是如果錯過這趟班車,那就需要再等2個月趕下一趟班車,這就意味著芯片不可能在畢業(yè)答辯時返回?!耙簧恍尽眻F隊需要跟時間賽跑。
我們在確定總體方案時有兩個決定:
一是用Chisel開發(fā),此前我們實驗室做過Chisel與Verilog在開發(fā)效率和開發(fā)質(zhì)量上的對比實驗,證明Chisel能數(shù)倍替身開發(fā)速度,同時開發(fā)質(zhì)量不比Verilog差,相關(guān)結(jié)果發(fā)表在論文《芯片敏捷開發(fā)實踐:標簽化RISC-V》。
二是以余子濠為南大開發(fā)的一款教學(xué)RISC-V處理器核為基礎(chǔ)進行改進,這主要是因為余子濠在開發(fā)這款處理器的過程中構(gòu)建了豐富的工具,包括NEMU軟件模擬器、指令差分測試框架等,這些都有助于加速開發(fā)。
而教學(xué)處理器功能還很基礎(chǔ),要能運行Linux并且支持流片,需要新增大量新功能,包括RV64IM/RVC/RVA等指令擴展、時鐘中斷、硬件填充的TLB、M/S/U特權(quán)級、缺頁異常、Cache預(yù)取、SDRAM控制器、外圍I/O設(shè)備……這是一種貼近實戰(zhàn)的開發(fā)模式——實際的產(chǎn)品研發(fā)和科研工作中,往往不是總是從頭開始,更多的是在已有的基礎(chǔ)上,增加新的功能,提高性能等等。這就需要培養(yǎng)學(xué)生“理解-消化-創(chuàng)新”的能力。
接下來是4個月高強度的開發(fā),然而有些關(guān)鍵模塊的工作原理是課堂上沒有介紹過的,同學(xué)們還需要進行一些探索性的嘗試,有時甚至需要將此前的設(shè)計推倒重來,他們會因此感到焦慮或沮喪,這對他們的心態(tài)也是很大的考驗。
教學(xué)團隊不僅僅需要給予技術(shù)指導(dǎo),還需要對學(xué)生的心態(tài)進行正確的引導(dǎo),告訴他們不確定性是探索過程中的客觀規(guī)律,然后引導(dǎo)他們?nèi)タ偨Y(jié)探索失敗的經(jīng)驗,去深刻地分析當前方案不可行的原因,從而加深對問題的理解,讓他們正確認識到探索失敗的意義。
雖然任務(wù)極具挑戰(zhàn),但不斷有進展。每取得一個小里程碑,大家都會記錄下那個時刻,精確到分鐘,因為覺得未來有一天也許用得上。后來,這些時刻真的用上了,就是宣傳視頻中的那條時間線。
這個過程中,國科大各方給了很大的支持,從校領(lǐng)導(dǎo)到本科部、計算機學(xué)院各級都很關(guān)心和重視;在中科院計算所,所長孫凝暉院士、主管教學(xué)的陳熙霖副所長、教育處李琳老師等都給予全方位的保障與支持。這也賦予了“一生一芯”團隊某種使命感,更激發(fā)了大家的斗志。
12月19日,COOSCA 1.0芯片版圖凍結(jié)。當唐丹老師告知版圖已經(jīng)正式提交,大家就如高考交卷,終于舒了一口氣,卻又懸起了一顆心。
四、疫情中的測試驗證
等待芯片返回是一種既期盼又擔憂的感覺。這種感覺又進一步被突如其來的疫情放大了。
當1月23日宣布武漢封城后疫情不斷發(fā)展,我們也越來越擔憂正在流片中的那顆COOSCA芯片還能不能按時回來,還能不能趕上畢業(yè)答辯。出乎意外的是芯片基本按照預(yù)期時間返回了,在這里我們要對中芯國際和封測企業(yè)的員工們表達深深的敬意!
然而疫情還是對測試工作產(chǎn)生了影響,因為學(xué)生不能返校,無法到在現(xiàn)場調(diào)試與測試。余子濠、蔡曄和劉彤三位挺身而出,協(xié)助調(diào)試測試工作。測試驗證工作其實也是非常具有挑戰(zhàn)性,因為從底層PCB版圖、內(nèi)存顆粒到中間處理器設(shè)計、到上層操作系統(tǒng)、應(yīng)用軟件,每個層次都可能出問題。哪怕一個小問題,都會造成芯片無法正常工作。
經(jīng)過大約1個月的調(diào)試測試,終于證明芯片一切正常,可以啟動Linux操作系統(tǒng)。但也發(fā)現(xiàn)了芯片的I/O模塊存在bug,影響了SD卡的讀寫。
測試驗證也是充滿了戲劇性。一開始調(diào)試時比較保守,將芯片降到了50MHz,沒想到系統(tǒng)出現(xiàn)了很多問題。后來把芯片頻率從50MHz跳到了200MHz,結(jié)果原來很多問題都消失了,能穩(wěn)定地運行Linux。
又進一步把頻率提高到了350MHz,啟動Linux出現(xiàn)了問題,但是可以穩(wěn)定地運行RT-Thread。這個頻率和后端仿真基本一致。這也驗證了用Chisel開發(fā)和Verilog開發(fā)對后端物理設(shè)計并沒有很大的影響。
五、畢業(yè)答辯演示
2020年6月2日,國科大本科生畢業(yè)設(shè)計答辯日。五位同學(xué)分別介紹了他們基于COOSCA處理器核的進一步優(yōu)化工作:
-
王華強:《基于RISC-V的亂序多發(fā)射處理器設(shè)計》 -
張紫飛:《基于RISC-V的向量處理單元設(shè)計》 -
張林雋:《開源處理器分支預(yù)測器的設(shè)計與性能優(yōu)化》 -
金越:《基于敏捷開發(fā)語言的開源處理器非阻塞緩存的設(shè)計與實現(xiàn)》 -
王凱帆:《RISC-V平臺下的二進制翻譯與優(yōu)化》
六、“果殼”公開亮相
七、收獲與體會
“一生一芯”Logo 最終版
-END-
推薦閱讀
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!






