10月21日,,教育部計(jì)算機(jī)類教學(xué)指導(dǎo)委員會(huì),、中國(guó)計(jì)算機(jī)學(xué)會(huì)教育專委會(huì)將2016 CNCC期間在山西太原舉辦“面向計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的龍芯CPU高校開源計(jì)劃”活動(dòng),,在活動(dòng)中,龍芯中科宣布將GS132和GS232兩款CPU核向高校和學(xué)術(shù)界開源,。
開源的CPU核性能如何,?
CPU核也叫微結(jié)構(gòu),是決定CPU性能,、安全,、功耗、成本的最重要因素,,日常我們所說的雙核,、四核、八核芯片,,其實(shí)是將2,、4、8個(gè)CPU核的接口互聯(lián)并集成到一片硅片上,,像Intel的Haswell,、ARM的Cortex A72,、AMD的Zen、龍芯的GS464E都是CPU核,。在設(shè)計(jì)CPU的過程中,,80%以上的功夫都用在CPU核上,因此,,如何設(shè)計(jì)一個(gè)高性能的CPU核可以說是CPU設(shè)計(jì)中的關(guān)鍵技術(shù)之一,。
目前,除了龍芯,、申威,、飛騰等老牌設(shè)計(jì)單位擁有自己設(shè)計(jì)的高性能CPU核之外,國(guó)內(nèi)大多數(shù)IC設(shè)計(jì)公司依舊處于購(gòu)買國(guó)外的IP“攢”出一個(gè)SOC的階段,,擁有自主設(shè)計(jì)CPU核的單位屈指可數(shù),。而龍芯本次將兩款CPU核向高校和學(xué)術(shù)界開源,可以使學(xué)術(shù)界以龍芯的CPU核為基礎(chǔ)開發(fā)產(chǎn)品,,并以龍芯的CPU核為模板學(xué)習(xí)怎樣設(shè)計(jì)CPU核,。
龍芯開源的CPU核為GS132和GS232。GS132為單發(fā)射32位結(jié)構(gòu),,采用三級(jí)靜態(tài)流水結(jié)構(gòu),,性能于ARM Cortex-M0/M3/M4相當(dāng)。主要用于石油,、電力,、鉆探、智能水表和智能電表,。GS232為雙發(fā)射32位結(jié)構(gòu),,采用五級(jí)動(dòng)態(tài)流水線結(jié)構(gòu),性能于ARM9和ARM11相當(dāng),,在龍芯1A,、1B、1C,、1E中使用,,主要用于各種嵌入式產(chǎn)品,在智能家電,、人造衛(wèi)星、工控等領(lǐng)域都有使用,,像HS3700畫質(zhì)芯片就購(gòu)買了GS232的授權(quán),,該芯片被用于海信的智能電視。
Sun曾經(jīng)將T1,、T2開源
1985年,,Sun成功研究出了Sparc精簡(jiǎn)指令集CPU,,再輔助以基于Unix開發(fā)的服務(wù)器系統(tǒng),使Sun在工作站和服務(wù)器領(lǐng)域嶄露頭角,,并逐漸可以對(duì)抗惠普和DEC這樣的傳統(tǒng)中式小型計(jì)算機(jī),。1992年Sun推出了市場(chǎng)上第一臺(tái)多處理器臺(tái)式機(jī)SPARCstation 10 system, 1993年Sun進(jìn)入財(cái)富500強(qiáng),,至2001年Sun在全球擁有五萬(wàn)雇員,,市值超過兩千億美元。
Sun以硬件起家,,但成也蕭何,,敗也蕭何,對(duì)硬件的重視,,使Sun忽略了軟件的重要性,,特別是沒能對(duì)Wintel聯(lián)盟擁有足夠的警惕性。在90年代末,,因互聯(lián)網(wǎng)的興起,,加上Sun的工作站相對(duì)于DEC 的小型機(jī)和 IBM 的大型機(jī)具有價(jià)格優(yōu)勢(shì),這導(dǎo)致雖然Sun的中小企業(yè)市場(chǎng)份額不斷被Wintel蠶食,,但由于其工作站可以侵占DEC 和 HP 小型機(jī)的市場(chǎng),,其盈利模式得以延續(xù)。但在互聯(lián)網(wǎng)泡沫破裂后,,加上Wintel聯(lián)盟的傾軋,,Sun服務(wù)器和工作站業(yè)務(wù)則難以為繼,僅2002年上半年就營(yíng)業(yè)額同比跌至3稱,,并從2001年的盈利9億美元,,跌至虧損5億美元,隨后Sun一蹶不振,,在2009年被甲骨文以74億美元收購(gòu),。在被收購(gòu)前,也許是為了放手一搏,,或又是為了其他什么原因,,Sun將UltraSparc T1、T2開源,。
T1和T2到底如何呢,?根據(jù)知乎網(wǎng)友“迪迦奧特曼”介紹,Sun開源了全套的RTL代碼……拿著Sun開源的那套東西,,做一些自定義修改,,可以跑FPGA。學(xué)術(shù)圈里面已經(jīng)有幾個(gè)拿著OpenSPARC T1成功流片的項(xiàng)目,所以流片是肯定可行的…,。.不過T1,、T2單核性能非常差,T1相當(dāng)于上世紀(jì)80年代末期的水平,,而T2相當(dāng)于90年代早期的水平,。所以千萬(wàn)不要指望T1和T2能有什么商業(yè)競(jìng)爭(zhēng)力。OpenSPARC T1/T2現(xiàn)在最大的價(jià)值是幫助學(xué)術(shù)圈中的研究者們快速搭建一個(gè)原型系統(tǒng),,并且能感受一下2002~2005年時(shí)的工業(yè)級(jí)代碼長(zhǎng)什么樣子,。知乎網(wǎng)友“迪迦奧特曼”還表示,T2的源碼存在BUG,,至于是故意埋進(jìn)去的,,還是開源的時(shí)候沒有處理好導(dǎo)致的無(wú)心之失,他就不知道了,。
另外,,據(jù)說國(guó)防科大在充分借鑒T1和T2的源代碼后,先后開發(fā)出了飛騰1000和飛騰1500,,兩款芯片分別被用于天河1號(hào)和天河2號(hào),。
IBM的OpenPOWER
Power誕生于1990年,并斬獲過多項(xiàng)世界第一——全球第一個(gè)雙核CPU,,全球第一款刀片服務(wù)器CPU,,第一個(gè)戰(zhàn)勝國(guó)際象棋冠軍加里·卡斯帕羅夫的電腦深藍(lán)所采用的CPU,第一個(gè)量產(chǎn)主頻超過5G的CPU,,第一個(gè)高超線程的CPU,,以及第一個(gè)5000針的CPU,以及第一個(gè)封測(cè)成本比硅片成本還高的CPU,,第一個(gè)單芯片量產(chǎn)價(jià)格突破10萬(wàn)美元的CPU.,。..。.其應(yīng)用范圍曾經(jīng)涵蓋過小型,、中型,、大型主機(jī),從高端到低端的工作站都可以看見Power的身影,。
此外,,Power還曾占據(jù)服務(wù)器市場(chǎng)三分之二的市場(chǎng)份額。而IBM也憑借Power鞏固了自己科技巨人的地位,,不僅在CPU研發(fā)上有著亂序執(zhí)行的基礎(chǔ)框架,、寄存器重命名等一些列先驅(qū)性貢獻(xiàn),在科研上曾經(jīng)一度成果斐然——在2001年,,IBM獲得美國(guó)專利和商標(biāo)局授權(quán)專利數(shù)量高達(dá)3411項(xiàng),,比HP、Intel、Sun,、Microsoft、Compaq,、Dell,、Apple、EMC,、Oracle,、EDS、Accenture和AOL在內(nèi)的12家最大的美國(guó)IT業(yè)公司加在一起還要多,。
但就在IBM和Power芯片光芒四射的同時(shí),,Intel卻利用與微軟結(jié)成聯(lián)盟,并充分借力戴爾,、康柏等整機(jī)廠,,以Wintel聯(lián)盟的方式在市場(chǎng)上大殺四方,加上IBM太過于任性,,更傾向于服務(wù)土豪用戶,,沒能細(xì)分和精耕市場(chǎng),對(duì)市場(chǎng)和研發(fā)的綜合掌握能力都不及Wintel,,使Power空有一身高性能卻難以抵擋Wintel聯(lián)盟的侵蝕——從PC到工作站,、服務(wù)器Power、Sparc等架構(gòu)CPU的市場(chǎng)份額逐步被X86架構(gòu)CPU蠶食,。
與此同時(shí),,由于軟件廠商若要兼容多種架構(gòu)CPU的成本越來越高,造成軟件廠商開始逐步放棄兼容一些架構(gòu)的CPU——Power,、Mips,、Sparc、Alhpa等架構(gòu)CPU先后被軟件廠商拋棄,,而原本性能最弱的X86芯片則依靠Wintel聯(lián)盟和軟件生態(tài)的優(yōu)勢(shì)笑到了最后,。即便是曾經(jīng)占據(jù)三分之二市場(chǎng)份額的服務(wù)器領(lǐng)域,低端服務(wù)器已然被Intel的X86芯片侵占,,Power唯有在對(duì)可靠性,、穩(wěn)定性要求非常高,在決策上也非常保守的使用場(chǎng)景下,,比如銀行所采用的高端服務(wù)器市場(chǎng)尋找存在感,。
正是昔日曾經(jīng)輝煌的Power有著日漸被邊緣化的趨勢(shì),如果IBM依然完全獨(dú)占Power,,其他IT公司根本不會(huì)基于Power構(gòu)建基礎(chǔ)軟硬件,。因此,IBM選擇了聯(lián)合Google、NVIDIA,、TYAN,、Mellanox成立了OpenPOWER聯(lián)盟和OpenPOWER基金會(huì)試圖力挽狂瀾,旨在通過開放合作的模式,,將IBM的Power硬件資產(chǎn)與軟件堆棧,,以及第三方聯(lián)盟伙伴的軟件堆棧深度結(jié)合,在芯片設(shè)計(jì),、系統(tǒng)設(shè)計(jì)與開源軟件三個(gè)層面推動(dòng)Power生態(tài)環(huán)境的發(fā)展與壯大,。
不過,相對(duì)于Sun開源T1,、T2后,,大家都可以免費(fèi)下載源碼不同,要獲得Power的源碼,,要付出不菲的代價(jià),,以2014年IBM向中國(guó)大陸中晟宏芯授權(quán)Power8源代碼為例,為了拿到Power的全套代碼和工具,,據(jù)小道消息稱,,中方為此支付了2億美元左右的費(fèi)用。
學(xué)術(shù)界將收益于龍芯CPU開源
一直以來,,我國(guó)計(jì)算機(jī)領(lǐng)域的教育更多的還是教學(xué)生如何“用”計(jì)算機(jī)而不是“造”計(jì)算機(jī),,這直接導(dǎo)致國(guó)內(nèi)IT人才結(jié)構(gòu)失衡,應(yīng)用開發(fā)型人才充足,,但底層基礎(chǔ)系統(tǒng)研發(fā)人才卻極度匱乏,,使中國(guó)龐大的IT產(chǎn)業(yè)建立在國(guó)外軟硬件系統(tǒng)平臺(tái)之上。
龍芯將CPU核向高校和學(xué)術(shù)界開源,,則給予在校大學(xué)生一個(gè)很好的學(xué)習(xí)實(shí)踐平臺(tái)——龍芯中科資助大學(xué)老師基于龍芯平臺(tái)設(shè)計(jì)實(shí)驗(yàn)課程,,使學(xué)生可以在真實(shí)的(而不是簡(jiǎn)化的)CPU上運(yùn)行真實(shí)的(而不是簡(jiǎn)化的)操作系統(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ǔ)上改寫部分模塊(如乘法器,、保留站等)進(jìn)行靜態(tài)單發(fā)射、靜態(tài)雙發(fā)射,、動(dòng)態(tài)雙發(fā)射的性能分析,。
(龍芯教育實(shí)驗(yàn)平臺(tái))
此外,,龍芯還研發(fā)了CPU實(shí)驗(yàn)平臺(tái),、操作系統(tǒng)實(shí)驗(yàn)平臺(tái)、并行處理實(shí)驗(yàn)平臺(tái)等數(shù)款龍芯教學(xué)平臺(tái),,通過為高校提供完整的線上、線下實(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)”,。
總之,,正如知乎網(wǎng)友“迪迦奧特曼”對(duì)OpenSPARC的評(píng)價(jià):OpenSPARC T1/T2現(xiàn)在最大的價(jià)值是幫助學(xué)術(shù)圈中的研究者們快速搭建一個(gè)原型系統(tǒng),并且能感受一下2002~2005年時(shí)的工業(yè)級(jí)代碼長(zhǎng)什么樣子,。龍芯將兩款CPU核開源的影響和作用也大致與OpenSPARC類似,。
助推軟件生態(tài)建設(shè)
目前,在龍芯3A3000已經(jīng)成功流片的情況下,,就黨政軍辦公市場(chǎng)而言,,龍芯最大的問題已經(jīng)不是CPU的性能不夠用,而是缺乏軟件生態(tài)的支持,,而軟件生態(tài)建設(shè)單憑龍芯自己是很難做起來的,,必須依靠眾人拾柴火焰高的模式,發(fā)動(dòng)合作伙伴,、開源社區(qū),、以及創(chuàng)客群體共同建立。這時(shí)候適當(dāng)?shù)膶煽頒PU核向高校和學(xué)術(shù)界開源,,有助于讓廣大在學(xué)生學(xué)習(xí)如何圍繞龍芯進(jìn)行開發(fā),,在莘莘學(xué)子畢業(yè)后,自然能掌握圍繞龍芯進(jìn)行開發(fā)的相關(guān)技能,,這有助于龍芯軟件生態(tài)建設(shè),。
不過,將CPU核開源并不意味著一定就能把生態(tài)建立起來,,以往也有一些IT公司將自己的CPU開源,,比如SUN就曾經(jīng)將自己的CPU開源,國(guó)防科大還下載了源代碼,,并以此為基礎(chǔ)開發(fā)了飛騰1000和飛騰1500,,這兩款CPU還被用于天河1號(hào)和天河2號(hào),。不過即便如此,也無(wú)法挽救SPARC逐漸被邊緣化的命運(yùn),,其生態(tài)至今也沒能建立起來,。
在去年年底,ARM將Cortex-M0處理器開源,,并以優(yōu)惠的授權(quán)費(fèi)幫助初創(chuàng)廠商加快芯片開發(fā)進(jìn)程,。另外,還有risc-v這樣的開源產(chǎn)品,,而且有越來越火的趨勢(shì)——linux,、gcc、llvm甚至bsd類操作系統(tǒng)都開始支持risc-v.,。..,。. 正由于開源的CPU核并非只有龍芯,單純希望依靠將CPU核開源就能建起軟件生態(tài)的想法顯然是不切合實(shí)際的,,要對(duì)生態(tài)建設(shè)起到積極作用,,一方面需要長(zhǎng)時(shí)間的持續(xù)投入,另一方面也需要企業(yè),、高校聯(lián)合協(xié)同,,密切配合。
結(jié)語(yǔ)
龍芯之所以將兩款CPU核開源,,一方面是為了配合國(guó)家計(jì)算機(jī)專業(yè)課程的教育改革,,另一方面也是為了培養(yǎng)一批能給龍芯做基礎(chǔ)軟硬件開發(fā)的新鮮血液,并借此豐富龍芯的軟件生態(tài)和產(chǎn)業(yè)鏈,。不過,,最后究竟能取得怎樣的效果,還有待時(shí)間的檢驗(yàn),。