10月21日,教育部計算機類教學指導委員會、中國計算機學會教育專委會將2016 CNCC期間在山西太原舉辦“面向計算機系統能力培養的龍芯CPU高校開源計劃”活動,在活動中,龍芯中科宣布將GS132和GS232兩款CPU核向高校和學術界開源。那么——
龍芯開源的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的授權,該芯片被用于海信的智能電視。
Sun曾經將T1、T2開源
1985年,Sun成功研究出了Sparc精簡指令集CPU,再輔助以基于Unix開發的服務器系統,使Sun在工作站和服務器領域嶄露頭角,并逐漸可以對抗惠普和DEC這樣的傳統中式小型計算機。1992年Sun推出了市場上第一臺多處理器臺式機SPARCstation 10 system, 1993年Sun進入財富500強,至2001年Sun在全球擁有五萬雇員,市值超過兩千億美元。
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生態環境的發展與壯大。
不過,相對于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實驗平臺、操作系統實驗平臺、并行處理實驗平臺等數款龍芯教學平臺,通過為高校提供完整的線上、線下實驗環境,助力教學改革和計算機專業學生的系統能力培養,實現“設計真實處理器,運行真實操作系統”。
總之,正如知乎網友“迪迦奧特曼”對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核開源就能建起軟件生態的想法顯然是不切合實際的,要對生態建設起到積極作用,一方面需要長時間的持續投入,另一方面也需要企業、高校聯合協同,密切配合。
|結語
龍芯之所以將兩款CPU核開源,一方面是為了配合國家計算機專業課程的教育改革,另一方面也是為了培養一批能給龍芯做基礎軟硬件開發的新鮮血液,并借此豐富龍芯的軟件生態和產業鏈。不過,最后究竟能取得怎樣的效果,還有待時間的檢驗。
評論
查看更多