上月,龍芯發布了新一代桌面CPU 3A6000,在單核性能上打平i3-10100F,其IPC追平了13代酷睿。緊接著,麒麟9000S問世。最近,有人向龍芯首席科學家胡偉武提問,龍芯3A6000和麒麟9000S孰強孰弱,對于這個問題胡偉武回答的比較委婉,說龍芯應該和英特爾、AMD比,麒麟應該和高通、蘋果比。有鑒于此,鐵流從技術上分析一下,兩款芯片的差異。
龍芯是CPU 麒麟9000S是SoC
其實,胡偉武的答復是充滿智慧的,因為這既避免得罪人,又說明了龍芯和麒麟的差異。
龍芯3A6000是一款桌面CPU,由于電腦空間大,GPU、橋片都可以布置在主板上,集成度不高。麒麟9000S是一款手機SoC,由于手機對空間要求苛刻,因而必須有非常高的集成度,才能節省空間,手機的SoC集成了CPU、GPU、DSP、ISP、NPU、基帶等諸多模塊,使一款手機芯片具有非常豐富的功能,蘋果的M1處理器甚至把內存都集成到SoC里。
正是因此,龍芯和英特爾、AMD的CPU是同一類,麒麟和高通、蘋果的處理器屬于同一類。硬要對兩者進行比較的話,由于3A6000不具備麒麟9000S的很多功能,因而如果就這些方面進行對比,龍芯是非常吃虧的。
比如麒麟9000S集成了GPU,龍芯的GPU集成在橋片,3A6000沒有集成GPU,比GPU性能,麒麟9000S完勝;
3A6000 沒有集成DSP,麒麟9000S集成了DSP,比DSP性能,麒麟9000S完勝;
比如麒麟9000S集成了NPU,龍芯3A6000 沒有集成NPU,比NPU性能,麒麟9000S完勝。
不過,在兩者在某些方面是可以進行比較的。比如指令集自主水平,CPU性能和制造工藝。
在指令集上,龍芯采用自主指令集LoongArch,麒麟9000S采用的是ARM v8.2,在自主水平上龍芯完勝。
在制造工藝上,龍芯采用的是境內12nm工藝,麒麟9000S采用的是境內新銳工藝,因而可以獲得更高的集成度和更低的功耗,在工藝上,麒麟9000S占優。至于CPU性能對比,稍后再介紹。
由于龍芯和麒麟是不同類型的芯片,拿來對比不太合適,其實,拿龍芯和鯤鵬進行對比才比較合適。
麒麟9000S大核定點對標A78 浮點接近X1
雖然在GPU、NPU、DSP等方面不適合拿龍芯和麒麟進行對比,但就CPU部分,還是可以從測試數據中來探個究竟的。
根據SPEC測試,編譯環境為GCC12.0 -Ofast,麒麟9000S在2.6Ghz主頻下,SEPC06 單核定點成績為35.5,浮點成績為50.6。
SEPC17測試,編譯環境是GCC12.0 -03,麒麟9000S單核定點成績為4.14,浮點成績為6.51。由于浮點性能對超算意義大,對手機意義有限,因此我們主要看定點成績。
作為參照,ARM的X3核心在3.1Ghz主頻下,定點可以達到61.7分;X1在3Ghz下,定點可以達到50.3分;2.8Ghz的A710達到38.7分;2.4Ghz的A78達到32.33。
換算為IPC就是:
x3,61.73/3.1=19.91
x1,50.38/3=16.79
a710,38.76/2.8=13.84
a78,32.33/2.4=13.47
麒麟9000S的大核,35.55/2.61=13.62
再來看SPEC2017測試下麒麟9000S的大核和ARM公版架構的IPC對比。
x3,6.58/3.1=2.122
x1,5.71/3=1.9
a710,4.05/2.8=1.45
a78,3.62/2.4=1.51
麒麟9000S的大核,4.14/2.61=1.58
從數據可以看出,麒麟9000S的大核在定點上與a78相當。
另一家機構的測試也可以看出,麒麟9000S在SPEC2017測試下比較亮眼的是浮點性能,已經接近X1的水平。
總結一下,麒麟9000S的CPU核在定點上對標A78,在浮點上接近X1,與X3這樣的公版架構尚有一定差距。
CPU的IPC 麒麟不如龍芯
從SPEC06實測數據看,麒麟9000S的IPC達到13+/G(定點),龍芯6000的IPC達到17+/G(定點)。從SPEC17實測數據看,麒麟9000S的IPC達到1.58/G(定點),龍芯6000的IPC達到2.08/G(定點)。
9000S的大核心是6發射,A78是4發射,等于說用了更多資源,最后堆出來的核定點與A78差不多,同樣6發射的龍芯6000 IPC追平13代酷睿,9000S的CPU核邏輯設計只能算中規中矩,尚有較大提升空間。
必須說明的是,龍芯的編譯器是GCC8.2,測試麒麟9000S用的是GCC12。GCC對ARM的支持,比對LoongArch好,LoongArch才出現3年,過于年輕,龍芯在軟件上幾乎都是“負優化”,在編譯器方面,龍芯尚處于補課階段,而X86和ARM經過多年優化,GCC對X86和ARM非常友好。正是因此,胡偉武說計劃用2-3年完成編譯器的補課,完成補課后,能夠把性能提升10%—20%。
從中可以看出,龍芯3A6000的邏輯設計是非常強悍的,在制造工藝落后一代,且編譯器拖后腿的情況下,實測IPC依然比麒麟9000S高25%。
也許有人會說龍芯IPC高是因為9000S只要4M緩存,而龍芯6000有16M緩存,麒麟9000S的大核心可以用于鯤鵬處理器,屆時就可以彌補緩存的不足,進而大幅提升IPC。
事實上,緩存對IPC有影響,但影響不足以抹平IPC上兩者的差距。
用數據說話,i3-10100F和i9-10850K,兩者的核心是相同的,不過i3的三緩是6M,i9的是20M。只要把它們鎖定到相同的頻率來測試,就可以知道三緩從6M提高到20M后,可以把性能提高多少。
把i3-10100F和i9-10850K都鎖定到1.0GHZ的頻率,都使用雙通道3200內存,使用相同的編譯參數和系統環境測試SPEC CPU2006 int base,得到的成績如下:
i3-10100F @ 1.0GHz int base=12.9
i9-10850K @ 1.0GHz int base=13.2
也就是說,把三緩從6M增加到20M,可以帶來2%左右的性能提升。
如果新一代鯤鵬CPU把把9000s的4M三級增加到16M,性能的提升比例也應該是2%左右。簡言之,基于9000s的CPU核開發鯤鵬CPU,其IPC會有提升,但提升會比較有限。
由于PC和服務器上,功耗限制不會像手機上那么嚴格,新一代鯤鵬CPU的主頻可以往上提一提。
鐵流估算,新一代鯤鵬CPU(3Ghz)的SEPC06 單核定點成績為38-40,這個性能已經很強了。
作為參照,3Ghz主頻的Intel i3-10100F SEPC06 單核定點成績為36.5:
3.5Ghz主頻的Intel i3-10100F成績為41.6:
4Ghz主頻的Intel i3-10100F成績為46.4。
2.5G的龍芯3A6000成績為43.1。
總的來說,瑕不掩瑜,畢竟定點IPC可以對標A78,這個性能已經很不錯了,只要不運行高負載的3A游戲,足以滿足絕大部分應用。
麒麟和龍芯有著截然不同的定位
麒麟和龍芯是兩種截然不同定位下的芯片,麒麟的定位是商業芯片,可以從國外購買外商技術授權,可以買臺積電尖端工藝流片,其商業化受益于ARM+安卓體系,可以運行AA體系軟件生態。
幾年前,麒麟就因為過度依賴ARM授權和臺積電尖端工藝——從K3V2到麒麟9000,其CPU、GPU核全部從外商購買,一直采用臺積電尖端工藝。這是這種依賴性導致其在4年時間內“絕版”,直到最近才隨著境內新銳工藝的良率攀升,才實現“王者歸來”。
龍芯的定位是自主CPU,要求高度自主可控,自研LoongArch指令集和全套IP,始終與境內工藝保持同步,一方面是因為龍芯窮,買不起臺積電尖端工藝,另一方面也是龍芯為了保證自主可控,始終堅守底線思維。在麒麟用上臺積電16nm時候,龍芯使用的是境內40nm工藝;當麒麟用上臺積電5nm工藝時,龍芯使用的是境內12nm工藝。
正是依靠自主指令集LoongArch,自主研發核心IP,堅持使用境內工藝,自建軟件生態,使龍芯在被美國列入實體清單后,不受絲毫影響,始終保持了正常的迭代速度。
總的來說,麒麟9000S是目前國內基于境內新銳工藝打造的最強ARM芯片,功能豐富,集成度高,在商業市場上非常具有競爭力。但在CPU核設計,以及自主可控水平上與龍芯有差距。
龍芯3A6000是基于境內12nm工藝和LoongArch指令集打造的自主桌面CPU,在IPC上已經追平了英特爾13代酷睿,在國產CPU中單核性能最強,且自主程度最高。但在工藝上與麒麟有差距,在軟件上存在明顯短板。
麒麟9000S和龍芯3A6000有各自的優勢與不足,在各自的優勢領域都會有很好的前景。
相關文章
「 支持烏有之鄉!」
您的打賞將用于網站日常運行與維護。
幫助我們辦好網站,宣傳紅色文化!
歡迎掃描下方二維碼,訂閱烏有之鄉網刊微信公眾號
