天天看點

龍芯将兩款 CPU 核開源,這意味着什麼?

10月21日,教育部計算機類教學指導委員會、中國計算機學會教育專委會将2016 cncc期間在山西太原舉辦“面向計算機系統能力培養的龍芯cpu高校開源計劃”活動,在活動中,龍芯中科宣布将gs132和gs232兩款cpu核向高校和學術界開源。那麼——

龍芯開源的cpu核性能如何?

以往将cpu開源的公司有哪些?

開源cpu核又會帶來哪些影響呢?

cpu核也叫微結構,是決定cpu性能、安全、功耗、成本的最重要因素,日常我們所說的雙核、四核、八核晶片,其實是将2、4、8個cpu核的接口互聯并內建到一片矽片上,像intel的haswell、arm的cortex a72、amd的zen、龍芯的gs464e都是cpu核。在設計cpu的過程中,80%以上的功夫都用在cpu核上,是以,如何設計一個高性能的cpu核可以說是cpu設計中的關鍵技術之一。

目前,除了龍芯、申威、飛騰等老牌設計機關擁有自己設計的高性能cpu核之外,國内大多數ic設計公司依舊處于購買國外的ip“攢”出一個soc的階段,擁有自主設計cpu核的機關屈指可數。而龍芯本次将兩款cpu核向高校和學術界開源,可以使學術界以龍芯的cpu核為基礎開發産品,并以龍芯的cpu核為模闆學習怎樣設計cpu核。

龍芯開源的cpu核為gs132和gs232。gs132為單發射32位結構,采用三級靜态流水結構,性能于arm cortex-m0/m3/m4相當。主要用于石油、電力、鑽探、智能水表和智能電表。gs232為雙發射32位結構,采用五級動态流水線結構,性能于arm9和arm11相當,在龍芯1a、1b、1c、1e中使用,主要用于各種嵌入式産品,在智能家電、人造衛星、工控等領域都有使用,像hs3700畫質晶片就購買了gs232的授權,該晶片被用于海信的智能電視。

龍芯将兩款 CPU 核開源,這意味着什麼?

sun曾經将t1、t2開源

1985年,sun成功研究出了sparc精簡指令集cpu,再輔助以基于unix開發的伺服器系統,使sun在工作站和伺服器領域嶄露頭角,并逐漸可以對抗惠普和dec這樣的傳統中式小型計算機。1992年sun推出了市場上第一台多處理器桌上型電腦sparcstation 10 system, 1993年sun進入财富500強,至2001年sun在全球擁有五萬雇員,市值超過兩千億美元。

龍芯将兩款 CPU 核開源,這意味着什麼?

sun以硬體起家,但成也蕭何,敗也蕭何,對硬體的重視,使sun忽略了軟體的重要性,特别是沒能對wintel聯盟擁有足夠的警惕性。在90年代末,因網際網路的興起,加上sun的工作站相對于dec 的小型機和 ibm 的大型機具有價格優勢,這導緻雖然sun的中小企業市場佔有率不斷被wintel蠶食,但由于其工作站可以侵占dec 和 hp 小型機的市場,其盈利模式得以延續。但在網際網路泡沫破裂後,加上wintel聯盟的傾軋,sun伺服器和工作站業務則難以為繼,僅2002年上半年就營業額同比跌至3稱,并從2001年的盈利9億美元,跌至虧損5億美元,随後sun一蹶不振,在2009年被甲骨文以74億美元收購。在被收購前,也許是為了放手一搏,或又是為了其他什麼原因,sun将ultrasparc t1、t2開源。

t1和t2到底如何呢?根據知乎網友“迪迦奧特曼”介紹,sun開源了全套的rtl代碼……拿着sun開源的那套東西,做一些自定義修改,可以跑fpga。學術圈裡面已經有幾個拿着opensparc t1成功流片的項目,是以流片是肯定可行的…..不過t1、t2單核性能非常差,t1相當于上世紀80年代末期的水準,而t2相當于90年代早期的水準。是以千萬不要指望t1和t2能有什麼商業競争力。opensparc t1/t2現在最大的價值是幫助學術圈中的研究者們快速搭建一個原型系統,并且能感受一下2002~2005年時的工業級代碼長什麼樣子。知乎網友“迪迦奧特曼”還表示,t2的源碼存在bug,至于是故意埋進去的,還是開源的時候沒有處理好導緻的無心之失,他就不知道了。

另外,據說國防科大在充分借鑒t1和t2的源代碼後,先後開發出了飛騰1000和飛騰1500,兩款晶片分别被用于天河1号和天河2号。

ibm的openpower

power誕生于1990年,并斬獲過多項世界第一——全球第一個雙核cpu,全球第一款刀片伺服器cpu,第一個戰勝國際象棋冠軍加裡·卡斯帕羅夫的電腦深藍所采用的cpu,第一個量産主頻超過5g的cpu,第一個高超線程的cpu,以及第一個5000針的cpu,以及第一個封測成本比矽片成本還高的cpu,第一個單晶片量産價格突破10萬美元的cpu......其應用範圍曾經涵蓋過小型、中型、大型主機,從高端到低端的工作站都可以看見power的身影。

此外,power還曾占據伺服器市場三分之二的市場佔有率。而ibm也憑借power鞏固了自己科技巨人的地位,不僅在cpu研發上有着亂序執行的基礎架構、寄存器重命名等一些列先驅性貢獻,在科研上曾經一度成果斐然——在2001年,ibm獲得美國專利和商标局授權專利數量高達3411項,比hp、intel、sun、microsoft、compaq、dell、apple、emc、oracle、eds、accenture和aol在内的12家最大的美國it業公司加在一起還要多。

但就在ibm和power晶片光芒四射的同時,intel卻利用與微軟結成聯盟,并充分借力戴爾、康柏等整機廠,以wintel聯盟的方式在市場上大殺四方,加上ibm太過于任性,更傾向于服務土豪使用者,沒能細分和精耕市場,對市場和研發的綜合掌握能力都不及wintel,使power空有一身高性能卻難以抵擋wintel聯盟的侵蝕——從pc到工作站、伺服器power、sparc等架構cpu的市場佔有率逐漸被x86架構cpu蠶食。

與此同時,由于軟體廠商若要相容多種架構cpu的成本越來越高,造成軟體廠商開始逐漸放棄相容一些架構的cpu——power、mips、sparc、alhpa等架構cpu先後被軟體廠商抛棄,而原本性能最弱的x86晶片則依靠wintel聯盟和軟體生态的優勢笑到了最後。即便是曾經占據三分之二市場佔有率的伺服器領域,低端伺服器已然被intel的x86晶片侵占,power唯有在對可靠性、穩定性要求非常高,在決策上也非常保守的使用場景下,比如銀行所采用的高端伺服器市場尋找存在感。

正是昔日曾經輝煌的power有着日漸被邊緣化的趨勢,如果ibm依然完全獨占power,其他it公司根本不會基于power建構基礎軟硬體。是以,ibm選擇了聯合google、nvidia、tyan、mellanox成立了openpower聯盟和openpower基金會試圖力挽狂瀾,旨在通過開放合作的模式,将ibm的power硬體資産與軟體堆棧,以及第三方聯盟夥伴的軟體堆棧深度結合,在晶片設計、系統設計與開源軟體三個層面推動power生态環境的發展與壯大。

龍芯将兩款 CPU 核開源,這意味着什麼?

不過,相對于sun開源t1、t2後,大家都可以免費下載下傳源碼不同,要獲得power的源碼,要付出不菲的代價,以2014年ibm向中國大陸中晟宏芯授權power8源代碼為例,為了拿到power的全套代碼和工具,據小道消息稱,中方為此支付了2億美元左右的費用。學術界将收益于龍芯cpu開源

一直以來,我國計算機領域的教育更多的還是教學生如何“用”計算機而不是“造”計算機,這直接導緻國内it人才結構失衡,應用開發型人才充足,但底層基礎系統研發人才卻極度匮乏,使中國龐大的it産業建立在國外軟硬體系統平台之上。

龍芯将cpu核向高校和學術界開源,則給予在校大學生一個很好的學習實踐平台——龍芯中科資助大學老師基于龍芯平台設計實驗課程,使學生可以在真實的(而不是簡化的)cpu上運作真實的(而不是簡化的)作業系統,在龍芯實驗平台上啟動作業系統并進行性能分析。在流水線設計方面,讓學生把gs132的三級靜态流水線改造成五級靜态流水線。在tlb和cache設計方面,讓學生在五級gs132處理器核上按mips32規範實作tlb及cache,運作通用作業系統,進行有/無cache的性能分析。在雙發射結構設計方面,把gs132處理器核改造成雙發射cpu,進行單發射和雙發射性能比較。在動态流水線設計方面,在gs232基礎上改寫部分子產品(如乘法器、保留站等)進行靜态單發射、靜态雙發射、動态雙發射的性能分析。

龍芯将兩款 CPU 核開源,這意味着什麼?

(龍芯教育實驗平台)

此外,龍芯還研發了cpu實驗平台、作業系統實驗平台、并行處理實驗平台等數款龍芯教學平台,通過為高校提供完整的線上、線下實驗環境,助力教學改革和計算機專業學生的系統能力培養,實作“設計真實處理器,運作真實作業系統”。

總之,正如知乎網友“迪迦奧特曼”對opensparc的評價:opensparc t1/t2現在最大的價值是幫助學術圈中的研究者們快速搭建一個原型系統,并且能感受一下2002~2005年時的工業級代碼長什麼樣子。龍芯将兩款cpu核開源的影響和作用也大緻與opensparc類似。

助推軟體生态建設

目前,在龍芯3a3000已經成功流片的情況下,就黨政軍辦公市場而言,龍芯最大的問題已經不是cpu的性能不夠用,而是缺乏軟體生态的支援,而軟體生态建設單憑龍芯自己是很難做起來的,必須依靠衆人拾柴火焰高的模式,發動合作夥伴、開源社群、以及創客群體共同建立。這時候适當的将兩款cpu核向高校和學術界開源,有助于讓廣大在學生學習如何圍繞龍芯進行開發,在莘莘學子畢業後,自然能掌握圍繞龍芯進行開發的相關技能,這有助于龍芯軟體生态建設。

不過,将cpu核開源并不意味着一定就能把生态建立起來,以往也有一些it公司将自己的cpu開源,比如sun就曾經将自己的cpu開源,國防科大還下載下傳了源代碼,并以此為基礎開發了飛騰1000和飛騰1500,這兩款cpu還被用于天河1号和天河2号。不過即便如此,也無法挽救sparc逐漸被邊緣化的命運,其生态至今也沒能建立起來。

在去年年底,arm将cortex-m0處理器開源,并以優惠的授權費幫助初創廠商加快晶片開發程序。另外,還有risc-v這樣的開源産品,而且有越來越火的趨勢——linux、gcc、llvm甚至bsd類作業系統都開始支援risc-v...... 正由于開源的cpu核并非隻有龍芯,單純希望依靠将cpu核開源就能建起軟體生态的想法顯然是不切合實際的,要對生态建設起到積極作用,一方面需要長時間的持續投入,另一方面也需要企業、高校聯合協同,密切配合。

繼續閱讀