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