芯片器件中最著名的產物是CPU,大陸CPU行業經歷步履維艱的發展,關注度越來越高,在政務、通訊、計算等領域經常可以看到大陸CPU的身影,但通用CPU領域還是國外CPU占據主導,桌面端有英特爾和AMD,移動端有ARM和高通等企業,大陸CPU想要突出重圍并不容易,
這些年大陸CPU企業在不斷發展的同時也在尋找破局之法,大陸CPU廠商最常見的發展模式是購買指令集架構授權,ARM、MIPS甚至X86均有大陸CPU企業獲得了授權,購買指令集架構授權無疑是一種高效的手段,相當于在別人準備好地基的土地上建房子,產品不能稱為完全大陸自主,
不過授權終究是授權,沒有相應產權的保護,依舊可能會受到制約,
LoongArch介紹
在2021年4月,龍芯中科率先在大陸自主化跨出一步,宣布推出完全自主指令集架構:LoongArch,頂層架構到指令功能和ABI標準完全自主。這表明龍芯中科未來的CPU不再使用MIPS指令集架構,從今年推出的3A5000開始都將使用LoongArch架構,這無疑是芯片大陸化的重要里程,
我們參照官方的資料,做了一下龍芯3A5000的微架構圖,可以粗略看到3A5000大體分為4個區塊,每個區塊包含一個核心和一個緩存。
根據官方的資料,LoongArch依舊屬于RISC陣營,擁有RISC的特點,比如32位定長指令,32個通用寄存器,32個浮點/向量寄存器,但LoongArch也進行了改進,取消了RISC的指令延遲槽,直接跳轉指令的目標地址相對PC計算,增加相對轉移偏移量,
LoongArch 擁有近2000條指令,并充分考慮兼容需求,相同的源代碼編譯成LoongArch比編譯成龍芯此前支持的MIPS時動態執行指令數減少10%-20%,也就是運行效率更高,性能也會提升,
LoongArch還深入研究了MIPS、X86、ARM的特性,能對這些主流架構進行二進制翻譯,對MIPS可以實現100%的翻譯,能實現跨平臺兼容,龍芯目標是在2025年的時候消除指令集之間的壁壘,
2021年7月,龍芯中科發布了兩款基于LoongArch指令集架構的處理器:3A5000和3C5000L。3A5000處理器是面向桌面端的產品,3C5000L則是服務器處理器, 3A5000主頻為2.3Ghz-2.5GHz,擁有4顆核心,每個處理器核心采用 64 位 LA464 自主微結構,支持DDR4-3200MHz內存,支持Hyper Transport 3.0控制器。3C5000L則由4個3A5000封裝,擁有16個核心。
3A5000處理器內置了安全模塊,可以對Meltdown(熔斷)和Spectre(幽靈)兩個經典CPU漏洞有效免疫,與上一代3A4000一樣支持內置加解密算法和安全可信模塊,也是目前唯一通過大陸商密二級型號鑒定測試的CPU內置模塊。
龍芯3A5000整機介紹
龍芯3A5000通用處理器主要應用在消費級桌面市場,未來會推出包括臺式機、筆記本、一體機等產品,這次我們拿到了搭載3A5000處理器的臺式整機產品,龍芯3A5000整機在外觀上采用經典的商用辦公主機風格,以黑色為主格調,前面板提供一個常規開關按鈕,兩個USB 2.0接口,兩個音頻輸入/輸出接口,
龍芯3A5000整機
主板I/O處,提供一個VGA視訊口,一個串行COM接口,4個USB 2.0接口,2個USB 3.2 Gen1 5Gbps接口,一個有線網口。
主板I/O
其他配件上,這臺主機使用了256GB的SATA固態,雙8GB DDR4 3200MHz內存,顯卡為AMD Radeon HD 8750M,顯卡I/O提供一個VGA接口,一個HDMI接口。
紫光國芯(UnilC)2*8GB DDR4 3200MHz內存
AMD Radeon HD 8750M
卸下散熱器,可以看到這次的主角:龍芯3A5000,龍芯3A5000的芯片代號為“KMYC70”,這樣命名是紀念抗美援朝70年,而服務器3C5000L芯片代號則為“CPC100”以慶祝建黨100周年。
這臺主機中,龍芯3A5000直接焊接封裝在主板上,不支持DIY更換。
編譯器方面,龍芯3A5000配套的三大編譯器GCC、LLVM、GoLang和三大虛擬機Java、JavaScript、.NET均已完成開發,龍芯自家基礎版操作系統Loongnix和面向工控領域的LoongOS已經發布,不過我們手里這臺龍芯3A5000整機使用的為統信UOS系統,因為優化等問題,會與Loongnix及其他系統的龍芯3A5000主機性能有差異。
主機配置
統信UOS系統由多家大陸操作系統核心企業自愿發起并研發完善的安全、易用、穩定的操作系統產品,也是未來芯片大陸化的生態關鍵一步。其官網目前已經開放下載,有興趣的用戶可以自行去官網下載嘗試,那么除了統信UOS操作系統之外,實際上大陸自主開發的操作系統麒麟Kylin龍芯版也是不錯的選擇。
實戰測試:
此次參與測試的處理器除了龍芯3A5000之外,還增加了intel i5 9500 六核 14nm處理器、大陸ARM V8 四核 7nm處理器和大陸ARM V8 八核 14nm處理器作為對比參考,整機主要的硬件參數保持一致,
其中, intel i5 9500 六核 14nm架構處理器主頻3.0-4.4Ghz,熱設計功耗65W。大陸ARM V8 四核 7nm處理器主頻可達2.6GHz,單芯片可支持64核。另一款大陸ARM V8 八核 14nm處理器,兼容64位ARMv8指令集,主頻2.3GHz,
需要提前說明的是,參與測試的四款處理器核心數量并非一致,因此在多核測試項目中我們取處理器的最多核數成績。
基準測試
UnixBench性能測試:
下面我們正式開始測試,首先依然選擇大眾熟悉的UnixBench測試工具,這款軟體是一個類 Unix(Unix,BSD,Linux)系統下的性能測試工具,被廣泛用于測試 Linux 系統主機的性能。可以測試系統調用、讀寫、進程、圖形化測試等成績,也是一個全方面考驗整機的軟體。
UnixBench單核、多核性能測試
從測試結果可以看到,龍芯3A5000和大陸ARM V8 四核 7nm這款處理器的性能表現都很出色,龍芯3A5000單核性能達到了1685分,相比上一代龍芯3A4000提升非常明顯,單核性能已逼近了intel i5 9500 六核 14nm這款處理器的水平,這一點也正符合龍芯先通過設計優化提高單核性能,再利用先進工藝增加核數的升級策略。
多核性能對比中,龍芯3A5000達到4314分與大陸ARM V8 四核 7nm的4387分基本持平,但如果與intel i5 9500 六核 14nm對比還是有不小差距,不過,4核龍芯3A5000反而比大陸ARM V8 八核 14nm這款處理器的性能高出了600多分。
SPEC 2006測試:
接下來我們進行SPEC 2006對比測試,SPEC 2006是一個大型的CPU性能測試項目,重點測試系統的處理器,內存子系統和編譯器。能夠測試CPU最基礎的定點性能和浮點性能。同樣需要提前說明的是,測試處理器由于核心數量并不對等,因此我們在多核測試環節選擇最多核數的成績,
SPEC CPU2006 BASE性能測試
本次我們將SPEC 2006測試分為單核與多核測試。龍芯3A5000單核定點為25.1分,單核浮點為26分。相比intel i5 9500 六核 14nm這款處理器的確有不小的差距,但單核定點與大陸ARM V8 四核 7nm這款處理器不相上下,單核浮點略優于大陸ARM V8 四核 7nm這款處理器。龍芯3A5000對比大陸ARM V8 八核 14nm處理器的單核定點則高出近10分,單核浮點則高出近一倍,
多線程測試中,intel i5 9500 六核 14nm處理器依然表現最佳,而龍芯3A5000的多核定點與多核浮點均高于大陸ARM V8 四核 7nm處理器,由于大陸ARM V8 八核 14nm處理器核心數量上具有一定的優勢,因此定點和浮點的分數要高于龍芯3A5000和大陸ARM V8 四核 7nm處理器,
Stream:
Stream是業界主流的內存帶寬測試程式,測試行為相對簡單可控。 該程式對CPU的計算能力要求很小,對CPU內存帶寬壓力很大。 隨著處理器核心數量的增大,而內存帶寬并沒有隨之成線性增長,因此內存帶寬對提升多核心的處理能力就越發重要,
Stream內存測試
在Stream Copy測試子項性能中,龍芯3A5000的表現相當出色,已超過了intel i5 9500 六核 14nm處理器。其中Copy單線性能獲得16864分,多線性能獲得21873分。大陸ARM V8 八核 14nm處理器和大陸ARM V8 四核 7nm處理器分數相差不大,但Copy的整體表現比龍芯3A5000稍遜一籌,
應用測試
實際上,除了處理器的單核與多核的基準性能測試之外,用戶軟體應用體驗則可以更直觀反應處理器之間的性能差異,下面我們就來實測一下辦公常用WPS、瀏覽器與視訊播放器方面的應用體驗,
WPS:
我們將搭載四款處理器的主機安裝上同樣版本的統信UOS操作系統,然后用WPS辦公軟體分別打開10MB(文本+圖片)、50M(文本+圖片)以及 50M(文本+圖片+視訊)單個大容量文件,重點測試打開文檔速度來衡量處理器的性能,為了盡可能保證測試數據樣本的規律性,每個文檔均打開5次后取平均值,
WPS辦公軟體打開文檔速度對比(時間越短越好)
通過實際測試可以看到,10MB(文本+圖片)文檔打開速度中,大陸ARM V8 八核 14nm處理器用時最短為1.47秒,龍芯3A5000打開速度為1.54秒。50M(文本+圖片)打開速度中,大陸ARM V8 四核 7nm處理器用時最長為3.01秒,50M(文本+圖片+視訊)測試中,大陸ARM V8 八核 14nm處理器則用時最長為4.24秒,intel i5 9500 六核 14nm處理器用時最短為2.23秒,綜合來看,intel i5 9500 六核 14nm處理器的整體表現較好,而龍芯3A5000略好于大陸ARM V8 四核 7nm處理器,大陸ARM V8 八核 14nm處理器小容量文件打開文件速度較好,但是大文檔打開速度上不夠理想,
瀏覽器:
瀏覽器是我們日常觀看網頁資訊和視訊的重要應用,目前每個網頁基本上都充斥著大量的圖形,對于CPU運行也會打來不小的負荷壓力。下面我們就來測試一下四款處理器在瀏覽器上的性能表現,我們同時打開瀏覽器并加載愛奇藝視訊網站,對比一下打開時間。由于龍芯自家提供有Loongnix瀏覽器,因此龍芯3A5000選擇自家龍芯瀏覽器V3.1,而其他均選擇火狐瀏覽器進行測試,
瀏覽器打開愛奇藝網站速度(時間越短越好)單位:秒
由于愛奇藝網站中存在視訊、圖片、CSS、JavaScript等等,因此加載頁面對處理器性能也提出一定的要求。通過測試可以看到intel i5 9500 六核 14nm處理器加載速度表現較好用時1.4秒,龍芯3A5000的1.78秒也很不錯,最長用時的則是大陸ARM V8 八核 14nm處理器用時2.35秒,
影音播放:
最后對比測試的是影音播放性能,我們選擇統信UOS操作系統下的默認視訊播放器,并打開同樣大小的1080P視訊mp4格式,分別測試四款處理器加載視訊的時間。
影院播放器加載1080P MP4視訊時間(時間越短越好)單位:秒
通過實測可以看到,大陸ARM V8 四核 7nm處理器加載速度最快為1.43秒,龍芯3A5000為1.64秒緊隨其后,最慢的則是大陸ARM V8 八核 14nm處理器用時2.09秒。此外值得一提是,由于龍芯3A5000處理器性能提升顯著,因此在播放4K高清視訊的軟解能力也得到進一步提升,在脫離獨顯的情況下依然可以流暢播放高清視訊。
不破不立 不斷超越
長久以來,龍芯中科的目標是讓大陸人用上完全自主的CPU處理器,二十年風華歲月,彈指一揮間,LoongArch的出現讓龍芯離這個目標邁進了一大步,這也不僅僅是龍芯的突破,也是大陸自主CPU行業的新里程碑。
基于自主指令系統LoongArch的龍芯3A5000性能表現非常讓人滿意,短期內的短板是生態建設,應用軟體適配還需要加強,盡管作為過渡階段,龍芯的二進制翻譯系統LAT可以實現跨指令平臺應用兼容,也能夠運行部分X86/Windows應用軟體,但要想實現滿足各種應用需求的龐大軟體生態,仍需要大陸軟體廠商的群策群力,
生態涉及的復雜程度有時候會比單一技術還要令人頭痛,CPU生態需要硬件、系統和用戶作為支持,硬件上龍芯已經有了LoongArch加持的龍芯3A5000,系統方面有統信UOS、麒麟Kylin等大陸操作系統的適配。LoongArch目前最需要的是用戶,用戶不僅包括消費者,也包括開發者,沒有開發者帶來的軟體生態支持,就不會有大量消費者買單,沒有用戶消費就沒有資金繼續研發,所以LoongArch大力推廣生態是當下最重要的一步,
蘋果M1被認為可以威脅到英特爾和Windows,也是因為用戶基數龐大,加上全球上千萬的iOS開發者,才能成為CPU行業的黑馬。
有些用戶可能比較難理解,為啥我們CPU做了那么多年,大陸CPU生態還是建立不起來,這里筆者舉個例子,前段時間有消息稱英特爾要在歐洲建立一座晶圓廠,投入是多少呢?消息顯示英特爾整個生命周期內總投資或將超過1000億美元,即使包括一些國家的政策補貼,英特爾每年在芯片研發上也有百億美元投入。大陸CPU整個行業實際投入都遠低于英特爾這樣的企業,根本不能滿足所有芯片企業的需求,大多只勉強維持研發。
而且,國外CPU和操作系統在軟體生態、產業體系上磨合了幾十年。正所謂差之毫厘,謬之千里,一個微小細節失誤就會讓一條億萬投入的產品線作廢,沒有資本必然玩不轉,門檻高,難入行,久而久之活下來的越來越少,
在這樣的環境下,龍芯能夠推出自主化指令集架構LoongArch實屬不易,準確的說像龍芯這樣現在還堅持做大陸自主芯片的企業都值得尊敬,
不經一番寒徹骨,怎得梅花撲鼻香,自主之路無比艱難,龍芯這份勇氣令人贊嘆。現在龍芯已經踏出最艱難的第一步,接下來就是生態體系的建立。目前龍芯中科已經建立LoongArch社區,同時將會組建LoongArch聯盟,免費開放LoongArch,希望更多的開發者可以參與其中,讓大陸自主CPU走的更遠,期待龍芯中科為我們帶來全新自主的大陸CPU生態領域,