15年了,龍芯拿什么與國外芯片巨頭對抗?
6、龍芯的指令集
本文引用地址:http://cafeforensic.com/article/280561.htm龍芯走兼容MIPS指令集發(fā)展路線,在2008年金融危機后,以比較低的價格購買了MIPS指令的永久授權(quán),在十幾年的發(fā)展中對指令集進行了相當大的擴展,逐漸發(fā)展出了自己的指令集loongISA。
loongISA指令集共1907條指令。源自mips:
216條mips基礎(chǔ)指令,獲得永久授權(quán)。
311條DSP指令,獲得永久授權(quán)。
自主指令:
mips基礎(chǔ)指令擴展——148條loongEXT,
虛擬機擴展——5條loongVM指令,
二進制翻譯擴展——213條loongBT,
向量指令擴展——1014條loongSIMD
龍芯在MIPS的指令系統(tǒng)的創(chuàng)新方面已經(jīng)遠遠超過了MIPS公司,之所以購買Mips指令永久授權(quán)主要是減少市場化過程中的麻煩。舉例來說,Transmeta公司曾經(jīng)市場前景良好,但Intel起訴它,打了兩年官司。雖然最終Intel輸了,但兩年過程中沒有人敢跟Transmeta做生意, Transmeta被官司拖垮了。
MIPS公司破產(chǎn)后,所擁有的技術(shù)專利分的比較散。雖然MIPS被英國Imagination公司收購,但Imagination的主營業(yè)務(wù)是GPU,在CPU設(shè)計方面技術(shù)底蘊不足,它既沒有能力,也沒有意志扛起MIPS陣營的大旗,指令集擴展和微結(jié)構(gòu)研發(fā)都不如龍芯。
而龍芯只要保持現(xiàn)有的發(fā)展勢頭,使應(yīng)用軟件跟著龍芯走,構(gòu)建并壯大自己的產(chǎn)業(yè)聯(lián)盟,那么龍芯對Mips的擴展就是行之有效的,而且有機會奪取Mips陣營的主導(dǎo)權(quán)。
7、編譯器
程序員在編程的時候?qū)懙氖蔷幊陶Z言,但是計算機運行的時候是機器語言,編譯器就是將程序員的編程語言翻譯成機器語言的工具,而編譯器的好壞也非常影響一款計算機的整機性能,比如SUN就曾經(jīng)依靠對編譯器的優(yōu)化使CPU的spec跑分提升了50%,大幅提升了整機性能和用戶體驗。
國際上使用最為廣泛的編譯器是GCC,該編譯器對X86、ARM、MIPS、Alpha等指令集的CPU優(yōu)化各不相同,對市場占有率高的X86和ARM優(yōu)化得較好,版本也比較新(GCC部分代碼就是Intel提供的),但對龍芯、申威的優(yōu)化比較差,版本也比較老舊。
因此,龍芯自主研發(fā)了LCC以提高編譯器的效率,雖然LCC誕生的時間還很短,對自家CPU的優(yōu)化能力無法與Intel公司的ICC編譯器相比較,以GS464E的spec2000跑分為例,使用LCC比使用GCC4.8整數(shù)提升7%,浮點提升36.8%。畢竟萬丈高樓平地起,期待龍芯能不斷提升LCC編譯效率。
8、微結(jié)構(gòu)和主頻
CPU性能(單核)=主頻*IPC(這個公式必須是同指令集才能成立,不同指令集不可比較)。主頻就是CPU工作的時鐘頻率,同一款CPU在一個時鐘周期內(nèi)完成的指令數(shù)量是固定的,因此主頻越高,完成一個時鐘周期所消耗的時間越短,CPU的運行速度就越快。
IPC是單位時間內(nèi)調(diào)用的指令集數(shù)量,微結(jié)構(gòu)設(shè)計得越好,單位時間內(nèi)能調(diào)用的指令集數(shù)量越多,CPU的性能就越好。微結(jié)構(gòu)好壞取決于前端設(shè)計水平,主頻的高低一方面受微結(jié)構(gòu)流水線級數(shù)的影響,但更多的是取決于后端的設(shè)計水平。再往細的方面說,前端設(shè)計主要指芯片的執(zhí)行結(jié)構(gòu)、數(shù)字邏輯層設(shè)計、執(zhí)行狀態(tài)仿真等方面,后端設(shè)計主要指物理層電路的具體優(yōu)化,包括單元布局、時序優(yōu)化等方面。
微結(jié)構(gòu)研發(fā)不僅技術(shù)門檻高,而且費時費錢,一個微結(jié)構(gòu)從研發(fā)到產(chǎn)品一般需要3年,而所需資金更是難以計數(shù)。龍芯自2001年以來,共研發(fā)GS132、GS232、GS264、GS464、GS464V、GS464E共6個微結(jié)構(gòu),以龍芯及其有限的人力和財力,實現(xiàn)了以平均2.33年更新一個微結(jié)構(gòu)的發(fā)展速度,相較于國家非常有限的扶持,龍芯拿出了遠遠超過投入的產(chǎn)出。
龍芯在2015年8月發(fā)布的GS464E微結(jié)構(gòu)測試參數(shù)非常亮眼。根據(jù)中電集團的測試報告,GS464E的SPEC2000使用GCC4.8編譯器跑分為:整數(shù)768/G、浮點1153/G,使用LCC編譯器跑分為:整數(shù)828/G、浮點1578/G,微結(jié)構(gòu)的效率在整數(shù)性能方面基本追平了AMD目前最好的微結(jié)構(gòu),在浮點性能方面接近Intel在2013年發(fā)布的Ivy,分支預(yù)測和訪存帶寬更是能直接與Ivy比肩(Intel公司2013年的Ivy和2015年的Skylake差距很小)。
現(xiàn)在,龍芯和國外巨頭在微結(jié)構(gòu)方面的差距已經(jīng)比較小了,差距主要在主頻方面和制程工藝方面。在主頻方面,2015年發(fā)布的龍芯3A2000的主頻只有1G,而代碼已凍結(jié),即將流片的龍芯3A3000的也只有1.6-1.8G的主頻。相比之下,Intel的CPU主頻大多在3G以上,部分CPU主頻接近4G;在制程工藝方面,受限于中芯國際的代工水平,龍芯能使用的最好的制程為28nm,而市面上出售的Intel芯片制程大多為22nm,Intel最新的產(chǎn)品普遍采用14nm制程工藝。
9、龍芯產(chǎn)品
目前,龍芯有龍芯1、龍芯2、龍芯3三個系列。武漢數(shù)字工程研究院研發(fā)了基于龍芯1A的可信移動終端。龍芯1B多用于工業(yè)應(yīng)用,有工業(yè)以太網(wǎng)交換機、網(wǎng)絡(luò)稅控機、北斗車載終端和嵌入式數(shù)據(jù)采集器等產(chǎn)品。龍芯1C是針對民用市場定義的芯片,被用于智能指紋鎖、3d打印機、開源主板、考務(wù)終端、考勤/門禁等產(chǎn)品。龍芯1D、1E、1F是直接根據(jù)特地客戶提出的需求定制的,龍芯1D是超聲波熱表、水表和氣表測量專用芯片;龍芯1E和1F是宇航級芯片,被用于北斗衛(wèi)星。
龍芯2系列芯片的微結(jié)構(gòu)為GS264,龍芯2F被用于上網(wǎng)本和一體機等產(chǎn)品。中國兵器工業(yè)集團研發(fā)了基于龍芯2F+1A的四余度火控計算機系統(tǒng)。龍芯2H被用于上網(wǎng)本、防火墻、交換機、車載計算機平臺等產(chǎn)品。龍芯2K是工控芯片,用于數(shù)控機床。龍芯2J是按軍方需求定制,該芯片被用戶單位總師評價為,“已知范圍內(nèi)性能最高,設(shè)計最復(fù)雜的軍品CPU?!饼埿?A1000微結(jié)構(gòu)為GS464被用于筆記本。
龍芯3B1000和3B1500微結(jié)構(gòu)是GS464V,3B1000被用于高性能計算機KD-90和超算曙光6000,KD-90集成了10片3B1000處理器,理論峰值計算能力達到每秒1萬億次。曙光6000超算使用了2500片3B1000,另外曙光還出品了3B1500的服務(wù)器和堡壘機。
中電十四所用GS464V微結(jié)構(gòu)研發(fā)了華睿2號(DSP),華睿2號能將雷達信號處理算法提煉成FFT、FIR、相關(guān)、矩陣求逆等17種基本計算構(gòu)件,較好地解決了雷達系統(tǒng)大帶寬、高吞吐的應(yīng)用需求。龍芯3A2000和龍芯3B2000的微結(jié)構(gòu)是GS464E,龍芯3A2000有臺式機和筆記本產(chǎn)品,龍芯3B2000將被用于服務(wù)器。
10、BIOS、操作系統(tǒng)和軟件生態(tài)
在BIOS方面,龍芯聯(lián)合中電科技集團開發(fā)的全中文龍芯安全bios----昆侖固件。昆侖固件支持龍芯、飛騰、申威等國產(chǎn)芯片。在操作系統(tǒng)方面,龍芯在2015年8月發(fā)布基于linux的社區(qū)版操作系統(tǒng)loongnix。此外,龍芯還支持國產(chǎn)中標麒麟操作系統(tǒng)以及Reworks嵌入式操作系統(tǒng)。在軟件方面,龍芯支持金山WPS文字處理,JAVA和Flash,火狐瀏覽器和Chrome瀏覽器,達夢、金倉、神州通用數(shù)據(jù)庫,東方通、金蝶、中創(chuàng)中間件,中軟政務(wù)處理系統(tǒng)等,主要針對有信息安全要求的黨、政、軍、國企、事業(yè)單位辦公電腦和服務(wù)器市場。在軟件中有很多核心代碼,針對X86和ARM的芯片都是用匯編優(yōu)化過的,而針對其它結(jié)構(gòu)是用C語言寫的普通功能性代碼,有著很大的優(yōu)化提升空間。
例如某單位的指揮系統(tǒng)剛移植到龍芯CPU時,開機就需要50分鐘,但經(jīng)過兩個月的磨合優(yōu)化,開機時間降低到了30秒。又如有一個數(shù)據(jù)庫,剛開始啟動需要10分鐘,后來降到10秒。因此,龍芯目前軟件生態(tài)的重點是對編譯器、C庫、JAVA、數(shù)據(jù)庫、中間件進行優(yōu)化,以及對一些專業(yè)應(yīng)用,比如軍用的GIS應(yīng)用加速、網(wǎng)絡(luò)安全的協(xié)議棧等。
對于普通消費者常用的軟件,因龍芯電腦的市場占有率過于渺小,加上龍芯人力、物力、財力都非常有限,在這方面實在是心有余而力不足,這也是民用PC市場基本看不到龍芯電腦的主要原因。
11、龍芯產(chǎn)業(yè)聯(lián)盟構(gòu)建
龍芯想要市場化運營就離不開一個強大的產(chǎn)業(yè)聯(lián)盟的支持。目前,龍芯的合作伙伴主要有中國電子科技集團、中航工業(yè)集團、中國核工業(yè)集團、中船重工、中國船舶工業(yè)集團、中國航天科技集團、中國核建、中國工業(yè)兵器集團、曙光、浪潮、中科夢蘭、銳捷網(wǎng)絡(luò)、東軟集團、神州數(shù)碼、研華科技、中興、西安華芯、清華同方、眾達精電等。到2014年底,龍芯下游已有兩三百家合作伙伴企業(yè),下游里僅僅是圍繞龍芯做研發(fā)的技術(shù)人員已有上萬人。
評論