龍芯將兩款CPU核開(kāi)源 助計(jì)算機(jī)教育從“用”向“造”突破
應(yīng)用開(kāi)發(fā)人才充足,底層研發(fā)人才匱乏
本文引用地址:http://cafeforensic.com/article/201611/339766.htm龍芯首席科學(xué)家胡偉武指出,我國(guó)計(jì)算機(jī)領(lǐng)域的教育更多的還是教學(xué)生如何“用”計(jì)算機(jī)而不是“造”計(jì)算機(jī),而且絕大多數(shù)高校只能培養(yǎng)應(yīng)用程序員,而且是對(duì)計(jì)算機(jī)系統(tǒng)底層知之甚少的應(yīng)用程序員。這直接導(dǎo)致國(guó)內(nèi)IT人才結(jié)構(gòu)失衡,應(yīng)用開(kāi)發(fā)型人才充足,但底層基礎(chǔ)系統(tǒng)研發(fā)人才卻極度匱乏,使中國(guó)龐大的IT產(chǎn)業(yè)建立在國(guó)外軟硬件系統(tǒng)平臺(tái)之上——在硬件上,完全依賴國(guó)外的X86和ARM,在軟件上,也存在大而不強(qiáng)的現(xiàn)實(shí)狀況。
軟件產(chǎn)業(yè)強(qiáng)大與否,并不是取決于該國(guó)程序員數(shù)量,更不取決于軟件產(chǎn)業(yè)創(chuàng)造的GDP,而在于產(chǎn)業(yè)標(biāo)準(zhǔn)制定權(quán),以及是否擁有核心技術(shù)。一流企業(yè)做標(biāo)準(zhǔn),二流企業(yè)做品牌,三流企業(yè)做產(chǎn)品,掌握了標(biāo)準(zhǔn)的制定權(quán)就能獲取高額利潤(rùn)并立于不敗之地。而國(guó)內(nèi)軟件業(yè)從教學(xué)到產(chǎn)業(yè),基本上跟著西方的技術(shù)標(biāo)準(zhǔn)走,沒(méi)有自己的一套技術(shù)標(biāo)準(zhǔn)。像程序員常用的編程語(yǔ)言、編譯器、軟件開(kāi)發(fā)工具,基本上用的都是國(guó)外產(chǎn)品。
軟件產(chǎn)業(yè)大而不強(qiáng)的另一個(gè)表現(xiàn)就是產(chǎn)品缺乏核心技術(shù)。以我們每天都用的手機(jī)和瀏覽器來(lái)說(shuō),國(guó)內(nèi)各家公司推出了不少瀏覽器,但基本上是國(guó)外瀏覽器的“馬甲”,所謂的國(guó)產(chǎn)瀏覽器都沒(méi)有國(guó)人自己編寫(xiě)的瀏覽器內(nèi)核。手機(jī)操作系統(tǒng)也是如此,雖然很多國(guó)產(chǎn)手機(jī)都有諸如Emtion、nubia之類的系統(tǒng),但撥開(kāi)現(xiàn)象看本質(zhì),這些還都是安卓操作系統(tǒng)的馬甲,只能算是一個(gè)UI(系統(tǒng)界面)。而B(niǎo)AT等互聯(lián)網(wǎng)巨頭推出的操作系統(tǒng),其本質(zhì)也是基于安卓的二次開(kāi)發(fā),編寫(xiě)的代碼僅限于重寫(xiě)了虛擬機(jī)。
類似的例子還有很多,某家以殺毒軟件起家的互聯(lián)網(wǎng)公司,其殺毒軟件的用的是羅馬尼亞的BitDefender引擎。不少?gòu)S商隔三差五就會(huì)出現(xiàn)于媒體聚光燈下的云解決方案,其實(shí)上也是國(guó)外開(kāi)源軟件(Openstack/Xen)的馬甲,有些廠商雖然也貢獻(xiàn)了少量代碼,但含金量遠(yuǎn)不及宣傳中那么足。國(guó)內(nèi)有幾十萬(wàn)JAVA程序員,卻鮮有具備JAVA核心技術(shù)——JAVA虛擬機(jī)的研發(fā)能力。國(guó)內(nèi)從事瀏覽器應(yīng)用的團(tuán)隊(duì)數(shù)以千計(jì),卻少有掌握瀏覽器底層JS引擎研發(fā)技術(shù),寫(xiě)QT的也很多,但QT庫(kù)卻沒(méi)多少人干……國(guó)內(nèi)IT企業(yè)極少參加系統(tǒng)相關(guān)標(biāo)準(zhǔn)制定,國(guó)內(nèi)軟件人才向國(guó)際開(kāi)源社區(qū)貢獻(xiàn)的代碼也相對(duì)偏少。
因此,雖然中國(guó)軟件產(chǎn)業(yè)和互聯(lián)網(wǎng)企業(yè)創(chuàng)造了海量的GDP,演繹了一批造富神話,吸納了大批就業(yè)崗位,但依附于西方技術(shù)標(biāo)準(zhǔn)、沒(méi)有自己編譯器和軟件開(kāi)發(fā)工具、應(yīng)用軟件強(qiáng)而基礎(chǔ)軟件弱已成為中國(guó)軟件產(chǎn)業(yè)的內(nèi)傷。
底層研發(fā)人才匱乏的另一個(gè)表現(xiàn)就是圍繞國(guó)產(chǎn)硬件平臺(tái)的應(yīng)用開(kāi)發(fā)能力和適配軟件優(yōu)化能力嚴(yán)重不足,國(guó)內(nèi)非常多做手機(jī)APP、網(wǎng)游、頁(yè)游的程序員,你讓他們?cè)趪?guó)外技術(shù)框架下寫(xiě)能在X86、ARM芯片上跑的APP、網(wǎng)游、頁(yè)游程序,他們沒(méi)問(wèn)題。但你讓他們脫離國(guó)外技術(shù)框架去給走自主路線的龍芯、申威開(kāi)發(fā)軟件,就未必能做出來(lái)了,至于針對(duì)龍芯、申威平臺(tái)進(jìn)行軟硬件磨合優(yōu)化則根本無(wú)所適從,缺乏對(duì)國(guó)產(chǎn)系統(tǒng)架構(gòu)平臺(tái)的適配調(diào)優(yōu)能力。由于不掌握從硬件角度進(jìn)行軟件開(kāi)發(fā)與調(diào)優(yōu)的能力,一旦遭遇基礎(chǔ)軟件系統(tǒng)不完善,就不知該如何解決。在上層應(yīng)用系統(tǒng)與系統(tǒng)結(jié)構(gòu)的磨合適配方面也存在一定問(wèn)題——應(yīng)用開(kāi)發(fā)對(duì)X86架構(gòu)形成依賴和慣性,而應(yīng)用設(shè)計(jì)的不足被X86平臺(tái)強(qiáng)大的性能掩蓋。
推行計(jì)算機(jī)教育改革試點(diǎn)
若要系統(tǒng)能力的培養(yǎng)則需要從硬件開(kāi)源做起,讓學(xué)生有更多機(jī)會(huì)了解并設(shè)計(jì)自己的處理器,使學(xué)生掌握如何“造”計(jì)算機(jī)而不是如何“用”計(jì)算機(jī),使學(xué)生對(duì)計(jì)算機(jī)系統(tǒng)融會(huì)貫通——當(dāng)鼠標(biāo)點(diǎn)一下屏幕打開(kāi)一個(gè)網(wǎng)頁(yè)的過(guò)程中,搞清楚有關(guān)瀏覽器、圖形系統(tǒng)、操作系統(tǒng)內(nèi)核等是如何協(xié)同工作的,在完成這些工作過(guò)程中指令和數(shù)據(jù)是如何在硬件系統(tǒng)的CPU、GPU、南北橋中流動(dòng)的,CPU的微結(jié)構(gòu)中取指、運(yùn)算、訪存等各個(gè)模塊是如何配合的。
對(duì)此,中國(guó)科學(xué)院大學(xué)為首的高校聯(lián)合產(chǎn)業(yè)界共同編撰涵蓋本科、碩士、博士的《計(jì)算機(jī)體系結(jié)構(gòu)》課程。在本科階段,主要強(qiáng)調(diào)基礎(chǔ)性和系統(tǒng)性,學(xué)習(xí)作為軟硬件界面的指令系統(tǒng)結(jié)構(gòu),包含CPU、GPU、南北橋協(xié)同的計(jì)算機(jī)硬件結(jié)構(gòu),CPU的微結(jié)構(gòu),并行處理結(jié)構(gòu),計(jì)算機(jī)性能分析等五部分主要內(nèi)容。在碩士階段,主要介紹CPU微結(jié)構(gòu),包括指令系統(tǒng)結(jié)構(gòu)、二進(jìn)制和邏輯電路、靜態(tài)流水線、動(dòng)態(tài)流水線、多發(fā)射流水線、運(yùn)算部件、轉(zhuǎn)移猜測(cè)、高速緩存、TLB、多核對(duì)流水線的影響等。在博士階段,主要強(qiáng)調(diào)實(shí)踐性,通過(guò)設(shè)計(jì)真實(shí)的(而不是簡(jiǎn)化的)CPU,運(yùn)行真實(shí)的(而不是簡(jiǎn)化的)操作系統(tǒng),對(duì)結(jié)構(gòu)設(shè)計(jì)、物理設(shè)計(jì)、操作系統(tǒng)做到融會(huì)貫通。目前,該課程已經(jīng)在中國(guó)科學(xué)院大學(xué)講授。
將知識(shí)融會(huì)貫通,就離不開(kāi)具體實(shí)踐,在龍芯將GS132和GS232兩款CPU核向高校和學(xué)術(shù)界開(kāi)源后,大學(xué)老師可以基于龍芯平臺(tái)設(shè)計(jì)實(shí)驗(yàn)課程,使學(xué)生可以在真實(shí)的CPU上運(yùn)行真實(shí)的操作系統(tǒng),在龍芯實(shí)驗(yàn)平臺(tái)上啟動(dòng)操作系統(tǒng)并進(jìn)行性能分析。在流水線設(shè)計(jì)方面,讓學(xué)生把GS132的三級(jí)靜態(tài)流水線改造成五級(jí)靜態(tài)流水線。在TLB和Cache設(shè)計(jì)方面,讓學(xué)生在五級(jí)GS132處理器核上按MIPS32規(guī)范實(shí)現(xiàn)TLB及Cache,運(yùn)行通用操作系統(tǒng),進(jìn)行有/無(wú)Cache的性能分析。在雙發(fā)射結(jié)構(gòu)設(shè)計(jì)方面,把GS132處理器核改造成雙發(fā)射CPU,進(jìn)行單發(fā)射和雙發(fā)射性能比較。在動(dòng)態(tài)流水線設(shè)計(jì)方面,在GS232基礎(chǔ)上改寫(xiě)部分模塊(如乘法器、保留站等)進(jìn)行靜態(tài)單發(fā)射、靜態(tài)雙發(fā)射、動(dòng)態(tài)雙發(fā)射的性能分析。
此外,龍芯還研發(fā)了CPU實(shí)驗(yàn)平臺(tái)、操作系統(tǒng)實(shí)驗(yàn)平臺(tái)、并行處理實(shí)驗(yàn)平臺(tái)等數(shù)款龍芯教學(xué)平臺(tái),通過(guò)為高校提供完整的線上、線下實(shí)驗(yàn)環(huán)境,助力教學(xué)改革和計(jì)算機(jī)專業(yè)學(xué)生的系統(tǒng)能力培養(yǎng),實(shí)現(xiàn)“設(shè)計(jì)真實(shí)處理器,運(yùn)行真實(shí)操作系統(tǒng)”。
據(jù)了解,復(fù)旦大學(xué)、南開(kāi)大學(xué)、南京航空航天學(xué)院、東北林大、金陵科技學(xué)院、大連海洋大學(xué)將開(kāi)展基于龍芯平臺(tái)的教育試點(diǎn)。雖然中國(guó)計(jì)算機(jī)人才質(zhì)量不高、行業(yè)技術(shù)原創(chuàng)少、依附跟隨外國(guó)技術(shù)等問(wèn)題不是僅僅設(shè)計(jì)一個(gè)專業(yè)課程,增加學(xué)生工程規(guī)模的系統(tǒng)實(shí)踐就能解決的,但這畢竟是一個(gè)好的開(kāi)始,筆者還是衷心希望本次的計(jì)算機(jī)教育改革試點(diǎn)能解決部分現(xiàn)存的問(wèn)題,為國(guó)家培養(yǎng)更多的專業(yè)人才。
評(píng)論