【知乎】龍芯通用 CPU架構(gòu)的發(fā)展(國產(chǎn)CPU系列)
龍芯通用 CPU架構(gòu)的發(fā)展(國產(chǎn)CPU系列)

星邊疆
希望親眼見到人類步入星際文明的硬核科幻迷、RPG游戲開發(fā)者
關(guān)注他
9 人贊同了該文章
根據(jù)龍芯官網(wǎng)的介紹:
龍芯中科主營業(yè)務(wù)為處理器及配套芯片的研制、銷售及服務(wù),主要產(chǎn)品與服務(wù)包括處理器及配套芯片產(chǎn)品與基礎(chǔ)軟硬件解決方案業(yè)務(wù)。目前,龍芯中科基于信息系統(tǒng)和工控系統(tǒng)兩條主線開展產(chǎn)業(yè)生態(tài)建設(shè),面向網(wǎng)絡(luò)安全、辦公與業(yè)務(wù)信息化、工控及物聯(lián)網(wǎng)等領(lǐng)域與合作伙伴保持全面的市場合作,系列產(chǎn)品在電子政務(wù)、能源、交通、金融、電信、教育等行業(yè)領(lǐng)域已獲得廣泛應(yīng)用。
2001年,中國科學(xué)院計算技術(shù)研究所開始研制龍芯處理器,得到了中科院知識創(chuàng)新工程、863、973、核高基等項目大力支持,完成了十年的技術(shù)積累。
2010年,在中國科學(xué)院和北京市政府共同牽頭出資支持下,龍芯開始市場化運作,對龍芯處理器研發(fā)成果進行產(chǎn)業(yè)化。
通用處理器是信息產(chǎn)業(yè)的基礎(chǔ)部件,是電子設(shè)備的核心器件。通用處理器是關(guān)系到國家命運的戰(zhàn)略產(chǎn)業(yè)之一,其發(fā)展直接關(guān)系到國家技術(shù)創(chuàng)新能力,關(guān)系到國家安全,是國家的核心利益所在。
龍芯中科面向國家信息化建設(shè)需求,面向國際信息技術(shù)前沿,以創(chuàng)新發(fā)展為主題、以產(chǎn)業(yè)發(fā)展為主線、以體系建設(shè)為目標(biāo),堅持自主創(chuàng)新,全面掌握CPU指令系統(tǒng)、處理器IP核、操作系統(tǒng)等計算機核心技術(shù),打造自主開放的軟硬件生態(tài)和信息產(chǎn)業(yè)體系,為國家戰(zhàn)略需求提供自主、安全、可靠的處理器,為信息產(chǎn)業(yè)的創(chuàng)新發(fā)展提供高性能、低成本的處理器和基礎(chǔ)軟硬件解決方案。
可以看出龍芯做芯片的目的是為了提供自主、安全、可靠的處理器,讓中國人用上中國人的處理器和產(chǎn)業(yè)生態(tài)。
可以看出龍芯選擇了風(fēng)險最大也是最自由的一條路,因為處理器的發(fā)展、維護不僅僅與硬件相關(guān),與軟件生態(tài)更是息息相關(guān)。如果龍芯沒有蘋果一樣的號召力,沒有形成利益穩(wěn)固的用戶團體,軟件商的軟件又不支持自主指令集,僅靠龍芯獨自維護軟件生態(tài)只有死路一條。
下面的內(nèi)容主要翻譯自英文維基百科。
基于MIPS 架構(gòu)的龍芯處理器最初由中國科學(xué)院計算技術(shù)研究所(ICT)開發(fā)。總設(shè)計師為胡偉武教授。第一個龍芯芯片的開發(fā)始于 2001 年。目前龍芯項目的目標(biāo)是開發(fā)“中國的高性能通用微處理器”,該發(fā)展得到了第十個和第十一個?五年計劃的資金支持。
https://link.springer.com/article/10.1007/s11432-015-5431-6link.springer.com/article/10.1007/s11432-015-5431-6
2010年4月龍芯科技股份有限公司正式成立并落戶中國北京中關(guān)村。公司是ICT 與北京芯片設(shè)計公司 BLX IC Design Corporation之間的公私合作伙伴關(guān)系。BLX本身是ICT的衍生公司,于2002年與江蘇中意集團成立。由于龍芯是一家無晶圓廠設(shè)計公司,因此意法半導(dǎo)體負責(zé)制造和銷售處理器。
自2020年以來,龍芯與統(tǒng)信、申威合作開發(fā)和推廣基于Debian Linux的Deepin操作系統(tǒng),以減少中國電腦對微軟Windows的依賴。
2021年龍芯在上海證券交易所科創(chuàng)板申請首次公開募股。該公司尋求籌集 5 億美元。當(dāng)時的細節(jié)顯示,龍芯在成立的前 10 年每年需要4億元人民幣?的資金,而公司在 2015 年才實現(xiàn)收支平衡。
龍芯擁有三個主要的處理器內(nèi)核系列,
GS1xx:帶硬件分頻器的基本嵌入式 MIPS32 內(nèi)核。3- (GS132) 或 5- (GS132E) 級流水線。
GS2xx:高端嵌入式 MIPS32 (GS232/GS232E) 或 MIPS64 (GS264) 內(nèi)核。
GS232 最多有 5 級流水線。500兆赫。L1 = 16KB。GS 232 主要用于龍芯一號產(chǎn)品。
GS232E/GS264 最多有 10 級流水線。1000 兆赫。L1?= 16 KB,L2 = 4 MB 共享。亂序執(zhí)行。
GS464系列:具有四路超標(biāo)量亂序執(zhí)行的MIPS64內(nèi)核。該設(shè)計起源于龍芯2F處理器。它首先被廣泛應(yīng)用于龍芯3A處理器,之后也被用于龍芯2系列
GS464 支持 MIPS64 R2 + LoongMMI(2E 和 2F 中的兩個不同版本)
GS464V 于 2010 年隨龍芯 3B 首次推出,是具有矢量功能的 GS464。
GS464E 是 GS464 的改進版本。在 GS464 處理器發(fā)現(xiàn)缺陷后,開發(fā)于 2012 年開始。核心有多項改進,包括更大的緩存和更好的分支預(yù)測等,并且得到了更好的優(yōu)化。內(nèi)核被擴展以支持 LoongISA(除了 MIPS64 R2 架構(gòu)之外)。
GS464EV 是 GS464 系列的發(fā)展,首先被 3A4000 處理器使用
LA464 是 GS464 的發(fā)展,支持 LoongArch。雖然 3A5000 的初始核心被認為是 GS464,但由于指令集不兼容,龍芯在 2021 年 8 月的文檔中將 3A5000 核心更名為 LA464。
所有龍芯CPU和X86的桌面級CPU一樣都是小端執(zhí)行。
龍芯根據(jù)架構(gòu)的不同,存在 3 個處理器系列。
龍芯一號,用于消費電子和嵌入式應(yīng)用
龍芯二號,用于嵌入式應(yīng)用和低性能個人計算機的單核處理器
龍芯三號,用于更高性能計算機、高性能計算和服務(wù)器的多核處理器
龍芯第一款處理器龍芯1號設(shè)計于2001年,2002年發(fā)布,是一款32位CPU,主頻266MHz。它采用 0.18 微米 CMOS 工藝制造,具有 8 KB L1D、8 KB L1I 和一個 64 位浮點單元,能夠達到 200 雙精度 MFLOPS。龍芯一號系列芯片使用 GS132 或 GS232 內(nèi)核。
龍芯 X 是龍芯一號中使用的 GS232 核心的抗輻射版本
龍芯 2 是 MIPS III 兼容處理器系列。它為龍芯架構(gòu)增加了 64 位能力。由于與龍芯 3 系列共享 GS464 內(nèi)核,后來的龍芯 2 處理器遷移到 MIPS64 兼容。雖然早期的 2 系列處理器是單核,但它們發(fā)展成為多核。
龍芯二號的發(fā)展規(guī)劃是從CPU發(fā)展為SOC。龍芯 2E (2006) 是一個 CPU,2F (2007) 集成了北橋,2G (2008) 在 CPU/北橋和集成 GPU/南橋之間有一個超傳輸鏈路,并且2H (2009) 將所有這些功能集成到一個 SOC 中。2F 的設(shè)計是 GS464 核心的基礎(chǔ)。 2G采用單GS464內(nèi)核;2H采用GS464V內(nèi)核,作為初期龍芯3B的單核版本。
龍芯 3 系列處理器是“……專為高性能臺式機、服務(wù)器設(shè)計的多核 CPU”。它們被設(shè)計為第一款具有多核的龍芯處理器。處理器被設(shè)計為使用 LoongISA——即具有額外擴展的 MIPS64 ISA。設(shè)計人員還嘗試優(yōu)化芯片上的 x86 翻譯。
第一個生產(chǎn)處理器是龍芯 3A,它使用 4 個 GS464 內(nèi)核。65 nm 龍芯 3A1000 能夠以接近 1?GHz的時鐘速度運行,首先是4 個 CPU 內(nèi)核(~15 W),然后是 8 個內(nèi)核(40 W)。
2010 年 4 月,龍芯 3A1000 發(fā)布,支持 DDR2/3 DRAM。
設(shè)計人員指出,他們將生產(chǎn)具有增強處理和矢量功能的 8 核 3B 芯片,以及用于服務(wù)器應(yīng)用的多達 16 核的 3C 芯片。 8 核龍芯 3B 被注意到使用升級的 GS464V 內(nèi)核,具有擴展的矢量功能。隨后是使用 16 個 GS464V 內(nèi)核的 Loonson 3C。
由于設(shè)計錯誤,3B1000 和相關(guān)的 2I 作為處理器都失敗了。
2013 年 5 月,3C 的開發(fā)暫停,轉(zhuǎn)而開發(fā) 3A2000 處理器。
2015 年,使用增強型 GS464E 內(nèi)核發(fā)布了 3A1500 和 3B2000。改進后的微體系結(jié)構(gòu)內(nèi)核提供了更好的性能,據(jù)報道速度是 3A1000 的 3 倍,并且還引入了 LoongISA 增強型指令集。 3A1500 用于嵌入式應(yīng)用,而 3B2000 用于服務(wù)器和 PC。
2017年龍芯發(fā)布3A3000。3A3000 采用四核 64 位設(shè)計,主頻為 1.5 GHz,功耗僅為 30 W。
據(jù)報道,3A3000 的性能相當(dāng)于英特爾 J1900處理器(2013 年發(fā)布)。
2019 年底發(fā)布了 3A 和 3B 4000 系列。他們使用了升級后的 GS464EV 微架構(gòu)。處理器設(shè)計有四個內(nèi)核、8MB 的 L3 緩存和 1.8 GHz 至 2 GHz 之間的工作時鐘。
2021年7月,龍芯3 5000系列發(fā)布。該系列處理器是龍芯首款自主研發(fā)的ISA“LoongArch”。宣布的處理器包括 3A5000,一個四核臺式機 CPU 和 3C5000L,一個十六核服務(wù)器 CPU,基于單個封裝中的四個 3A5000。
據(jù)報道,這兩款 CPU 均采用 12 納米工藝制造。雖然注意到該處理器最初使用的是 GS464V 內(nèi)核,但由于與以前的版本不兼容,該內(nèi)核于 2021 年 8 月更名為 LA464。
The Register報道說,“據(jù)說 3A5000 比之前的 3A4000 快 50%,能效高 30%”。
專注于 Linux 的新聞網(wǎng)站Phoronix注意到一些人,可能來自龍芯開發(fā)和支持人員,一直在使用 Phoronix 測試套件和?http://OpenBenchmarking.org?測試龍芯 3A5000 系列硬件,因此有一些早期的基準(zhǔn)測試結(jié)果與對此感興趣的人分享新的ISA。
Phoronix 相當(dāng)不屑地總結(jié)了第一款 LoongArch ISA 芯片。與英特爾、AMD 和 Arm 等公司的現(xiàn)代競爭相比,“性能并沒有那么令人印象深刻”,其報告稱。它鏈接了C-Ray、Perl和混合計算套件的基準(zhǔn)測試結(jié)果/比較——而龍芯 3A5000 在其中任何一個中都不突出。單擊這些搜索結(jié)果以獲取所有已上傳的基準(zhǔn)測試,但如果將其與現(xiàn)代 Intel/AMD 甚至 Arm 競爭產(chǎn)品進行比較,總體性能并沒有那么令人印象深刻。以3A5000 上的簡單C-Ray 基準(zhǔn)測試為例,大約 393 秒......與通過 OB獲得的 C-Ray 綜合排名相比,這使得這款新的中國 CPU 的速度接近基于 arm 的 Phytium FT-2000 或 intel Core i3 8109U / Core 2 Quad Q9500 / Core i5 750。

Cray-lx5000ll Benchmarks - OpenBenchmarking.orgopenbenchmarking.org/result/2107199-IB-CRAYLX50092
First benchmarks of China's Loongson 3A5000 CPU surfacehexus.net/tech/news/cpu/148149-first-benchmarks-chinas-loongson-3a5000-cpu-surface/

2022 年,龍芯宣布了 龍芯3A6000 系列處理器。更新后的處理器架構(gòu)將使用“LA664”內(nèi)核,說:“單核性能將與 AMD 的 Zen 3 和英特爾的 Tiger Lake 架構(gòu)相媲美”。
MIPS時期
龍芯開始使用MIPS64?指令集架構(gòu)(ISA)。內(nèi)部微架構(gòu)由中國科學(xué)院自主研發(fā)。該系列的早期實現(xiàn)缺少MIPS Technologies獲得專利的四個指令(US4814976A)以避免法律問題。
2007 年, MIPS 公司與 ICT 達成交易。STMicroelectronics 為龍芯購買了 MIPS 許可證,因此該處理器可以宣傳為基于MIPS或MIPS 兼容。
2009 年 6 月,ICT 直接從MIPS公司獲得了 MIPS32 和 MIPS64 架構(gòu)的許可。
2011 年 8 月,龍芯科技有限公司從 MIPS 公司獲得 MIPS32 和 MIPS64 架構(gòu)許可,用于繼續(xù)開發(fā)基于 MIPS 的龍芯 CPU 內(nèi)核。
LoongISA時期
2015年龍芯3A2000采用LoongISA 1.0,擴展指令集,是 MIPS64 版本 2 的超集。它可以分解為:
LoongEXT,通用擴展,148 條指令
LoongVZ,MIPS64 版本 5 中引入的“VZ”系統(tǒng)的虛擬化擴展,5 條指令
LoongBT,更快的 x86 和ARM二進制翻譯,213 條指令
LoongSIMD,原名LoongMMI(在龍芯2E/F),為128位SIMD,1014條指令
來自 MIPS 第 5 版的 MIPS SIMD 架構(gòu) (MSA)、DSP 和 VZ 模塊
LoongISA 指令作為 GS464E 內(nèi)核的一部分引入。二進制翻譯指令具有加速Intel x86 CPU 仿真的特定優(yōu)勢,但芯片面積成本的只增加 5% 。新指令幫助QEMU虛擬機管理程序?qū)⒅噶顝?x86 轉(zhuǎn)換為 MIPS,據(jù)報道性能損失僅為 30%。
LoongArch時期
隨著龍芯 3 5000 系列的發(fā)布,龍芯在 2021 年轉(zhuǎn)向了自己的處理器指令集架構(gòu)(ISA)。
一位龍芯開發(fā)人員將其描述為“......一個新的RISC?ISA,有點像 MIPS 或RISC-?V。
LoongArch 包括一個簡化的 32 位版本(LA32R),一個標(biāo)準(zhǔn)的 32位版本 (LA32S) 和 64 位版本 (LA64)”。陳述的理由是使龍芯和中國不依賴外國技術(shù)或授權(quán)來開發(fā)其處理器能力,同時不侵犯任何技術(shù)專利。
ISA 被稱為“MIPS64r6 的一個分支”,因為從指令列表來看缺乏變化。2021 年 8 月,Linux維護者抱怨提交的 LoongArch 代碼是“……MIPS 代碼的盲目復(fù)制……”,但“只是名稱不同”。
LoongArch ISA 手冊已于 2021 年 8 月部分可用,其第一卷記錄了基本架構(gòu)。根據(jù)LoongArch手冊,ISA使用了MIPS的特權(quán)模型和IRQ機制,其他部分大多遵循RISC-V的做法:去掉了分支延遲槽,改變了指令編碼。與 LoongISA 類似,指令集擴展(SIMD 和二進制翻譯)尚未記錄,因此此功能無法使用。
The Register在 2021 年 11 月報道稱,懷疑 LoongArch 結(jié)合了 MIPS 和 RISC-V 的最佳部分,以及自定義指令。來自 Tom's Hardware 的評論重申了 LoongArch 的 Linux 內(nèi)核代碼是“用于其基于 MIPS 的芯片的相同代碼”的問題;他們進一步指出,龍芯“即使在紙面上也未能向軟件開發(fā)人員展示其架構(gòu)的優(yōu)勢”。
LoongArch 微架構(gòu)的文檔很少,社區(qū)猜測了很多功能。社區(qū)注意到 LoongArch 與 MIPS 和 RISC-V 的相似之處,并且以前的 Linux 內(nèi)核提交與 MIPS 代碼相同。
2022 年 2 月,開發(fā)人員提交了補丁,允許在LLVM?15.0 中編譯到 LoongArch。
編輯于 2022-11-22 21:32?IP 屬地湖南
龍芯
中央處理器 (CPU)
贊同 9
分享

發(fā)布一條帶圖評論吧