龙芯(英語:Loongson,舊稱Godson[1])是由中国科学院计算技术研究所、龙芯中科、神州龙芯等机构、公司所设计的一系列各种芯片(包括通用中央處理器、SoC、微控制器、芯片组等),採用MIPS、LoongISA、LoongArch精简指令集架構,由MIPS科技公司授權使用MIPS指令集[2]。龙芯1号系列为嵌入式领域芯片。龙芯2号系列速度最高為1GHz,用于客户端、工控等低中端领域。龙芯3号系列于2010年推出成品,用于桌面、服务器、超算、工控、嵌入式终端等领域。
芯片
龙芯从其架构核心构建了3个处理器系列[3]。这些包括[3]:
- 龙芯一号,用于消费电子和嵌入式应用。
- 龙芯二号,用于嵌入式应用和低性能个人计算机的单核处理器[note 1]。
- 龙芯三号,用于高性能计算机、高性能计算和服务器的多核处理器[note 2]。
龙芯一号
龙芯一号于2000年开始研制,2001年8月19日龙芯一号逻辑设计在FPGA平台上运行起来。这一天被定为龙芯的生日。2002年9月28日正式发布投产成功。龙芯一号整体的性能低于Intel奔腾II。[4]为了纪念胡伟武的导师夏培肃从事计算机事业50周年,龙芯一号被命名为“夏50”。[5]
考虑到专利授权原因,这一代的龙芯没有实现MIPS的四个不对齐内存访问指令(US4814976A)。2007年后,龙芯正式购买了MIPS授权,才解决了这一问题。
龙芯1号系列
2010年4月,中国科学院与北京市共同组建的龙芯中科有限公司在中关村环保园建立了龙芯产业园。公司成立后,龙芯调查市场,重新建立了低端嵌入式产品线——龙芯1号。
2011年左右,龙芯中科研发了一款面向嵌入式市场的处理器龙芯1A。于2012年提供产品,可作为龙芯其他处理器的桥片。龙芯1B在嵌入式处理器研发上继续做减法,于2011年流片成功,先于龙芯1A,这是龙芯中科第一次从全系统的角度来考虑降低成本的芯片。
此后龙芯中科于2013年针对指纹生物识别应用推出了龙芯1C,2018年针对超人智能锁研发了1C101芯片。2014年龙芯与三川智慧合作,为智能水表、气表、量热表定制的一款超声波计量专用芯片龙芯1D。
龙芯1G是用于苏州上声音响的一款音响专用芯片。2015年新研的龙芯1H芯片针对石油钻探领域随钻测井应用设计,设计目标是175摄氏度超高温工作条件下的长时间可靠运行。于2017年4月发布。目前,龙芯1H已经在长庆油田得到了应用。
除此之外,1号系列中还有1E、1F系列的龙芯航天专用抗辐照处理器、1J抗辐照单片机芯片。[6]。
龙芯2号系列
龍芯2號系列最初的版本是用0.13微米製程技術,均为64位处理器,早期的型号是4发射乱序执行的64位GS464系列微架构,后来新出的处理器升级为采用GS464E微架构。龙芯2K1000处理器是集成双发射乱序执行的GS264微架构的64位双核处理器。
龙芯3号系列
龙芯3号处理器开始进行了多核处理器架构设计[7],均为64位多核处理器。
龙芯桥片系列
龙芯7A1000
龙芯7A1000桥片是龙芯3号处理器的第一款芯片组产品,目标是替代AMD RS780(E)+SB710 芯片组,为龙芯处理器提供南北桥功能。
龙芯3A4000将不再采用AMD的RS780芯片组,而采用龙芯7A1000作为桥片,避免在桥片的选择上受制于AMD。
龙芯7A2000
作为龙芯下一代芯片的配套桥片,龙芯7A2000是龙芯7A1000的升级版。相对于7A1000,7A2000的PCIe控制器代码龙芯计划自己编写,且为PCIe Gen3。采用的28nm工艺,GPU为自研GPU。
从未公布的隐藏处理器
除了龙芯1号、2号、3号三个系列的处理器,在龙芯的发展过程中还开发了一些实验型的处理器,并没有量产,有些甚至没有流片。
龙芯处理器在发展过程中,一度想要用做超算处理器,开发一款64核的众核处理器,命名为Godson-T。Godson-T由计算所先进微系统研究组研发,2008年已经在进行RTL验证在2008年12月开始RTL代码编写。2010年5月,GodSon-T的原型芯片16核GodSon-TI交付流片,采用130纳米工艺。2010年10月17日,调试成功。由于龙芯将研发重点重新转向提高处理器单核性能,Godson-T处理器研发中止。[8]
为了实现对现有生态的兼容,龙芯3A系列实现了针对x86指令和arm指令的二进制翻译指令。在研发过程中,由于知识产权和专利等原因而无法使用x86指令集,龙芯开发了使用x86指令集的处理器原型Godson-X。它与x86兼容,并支持英特尔MMX 指令,SSE指令集和x87浮点指令。[8]
中科龙梦(现更名为航天龙梦)使用早期的龙芯1号的IP核,开发了龙梦一号SOC,用于税控机(Fiscalcontroller register)。[8]该税控 SoC 专用芯片以“龙芯1”处理器核作为MCU,采用AHB(the Advanced High performance Bus)+APB(the Advanced Peripheral Bus)为片上总线。 [9] [10]
此外,还有神州龙芯根据龙芯2号设计的一款SOC芯片GS32I。[8]
核心
龙芯有三大系列处理器核心,其中一些可用作IP核心[11]:
- GS1xx:基本的嵌入式MIPS32内核和硬件分割器。3- (GS132)或者5- (GS132E)级管线。
- GS2xx:高端嵌入式MIPS32(GS232/GS232E)或MIPS64(GS264)内核。
- GS232:具有最大500 MHz的5级流水线。L1=16KB。GS 232主要用于龙芯一号产品。
- GS232E/GS264:具有最大1000 MHz的10级流水线。L1=16 KB,L2=4 MB共享。这个核心有故障问题。
- GS464:具有四路超标量支持的MIPS64内核[12]。该设计源自龙芯2F处理器[13]。它首先广泛用于龙芯3A处理器,然后也用于龙芯2系列[12]。
- GS464:支持MIPS64 R2+LongMMI(2E和2F两种不同版本)
- GS464V:2010年首次与龙芯3B一起推出,是一款具有矢量功能的GS464。
- GS464E:这个是GS464的改进版本[14]。在发现GS464处理器存在缺陷后,开发工作于2012年开始[13]。核心有多项改进,包括更大的缓存和更好的分支预测等,并且得到了更好的优化[13]。核心被扩展为支持LoongISA(除了MIPS64 R2架构之外)[14]。
- GS464EV:是GS464系列的发展,首次在3A4000处理器被使用。
- LA464:是GS464的开发,以支持LoongArch。虽然3A5000的初始核心是GS464,但由于指令集不兼容,龙在2021的文档中将3A5000核心重命名为LA464。
所有龙芯核心都是字节顺序。
有网站论坛注意到,龙芯微架构的命名不一致,不同的产品都有相同的处理器内核,尽管指令集可能不完全兼容。
芯片基本信息
系列
|
型號
|
頻率 (MHz)
|
指令集架构
|
微架構
|
推出年份
|
核心數目
|
製程 (nm)
|
晶體管 (百万)
|
裸晶面积 (mm²)
|
功耗 (W)
|
電壓 (V)
|
缓存[註 1](KiB)
|
峰值浮点性能 (GFLOPS)
|
SPEC 2000
分数
|
SPEC 2006
分数
|
备注
|
一级(单核)
|
二级[註 2] (victim cache/共享)
|
三级 (共享)
|
单核
|
多核
|
单核
|
多核
|
数据(L1i)
|
指令(L1d)
|
int
|
fp
|
int
|
fp
|
int
|
fp
|
int
|
fp
|
Godson
|
1
|
266
|
MIPS-II 32-bit
|
不適用
|
2001
|
1
|
180
|
22
|
71.4
|
1.0
|
未知
|
8
|
8
|
不適用
|
不適用
|
0.6
|
19/25
|
不适用
|
不适用
|
不适用
|
[5][4]
|
FCR_SOC
|
266
|
MIPS-II 32-bit
|
不適用
|
2007
|
1
|
180
|
未知
|
未知
|
未知
|
未知
|
8
|
8
|
不適用
|
不適用
|
0.6
|
不适用
|
不适用
|
不适用
|
[9][10]
|
2B
|
250
|
MIPS-III 64-bit
|
不適用
|
2003
|
1
|
180
|
未知
|
未知
|
未知
|
未知
|
32
|
32
|
不適用
|
不適用
|
未知
|
52
|
58
|
不适用
|
不适用
|
不适用
|
|
2C
|
450
|
MIPS-III 64-bit
|
不適用
|
2004
|
1
|
180
|
13.5
|
41.5
|
未知
|
未知
|
64
|
64
|
不適用
|
不適用
|
未知
|
159
|
114
|
不适用
|
不适用
|
不适用
|
|
2E
|
1000
|
MIPS-III 64-bit
|
GS464 (r1)(原型)
|
2006
|
1
|
90
|
47
|
36
|
7
|
1.2
|
64
|
64
|
512
|
不適用
|
未知
|
503
|
503
|
不适用
|
不适用
|
不适用
|
|
龍芯1
|
1A
|
300
|
MIPS32
|
GS232
|
2010
|
1
|
130
|
22
|
71.4
|
1.0
|
未知
|
16
|
16
|
不適用
|
不適用
|
0.6
|
未知
|
未知
|
未知
|
未知
|
[15]
|
1B
|
266
|
MIPS32
|
GS232
|
2010
|
1
|
130
|
13.3
|
28
|
0.6
|
未知
|
8
|
8
|
不適用
|
不適用
|
未知
|
未知
|
未知
|
未知
|
未知
|
[16]
|
1C
|
300
|
MIPS32
|
GS232
|
2013
|
1
|
130
|
11.1
|
28.3
|
0.5
|
未知
|
16
|
16
|
不適用
|
不適用
|
未知
|
未知
|
未知
|
未知
|
未知
|
[17]
|
1C101
|
8
|
MIPS32
|
GS132R
|
2018
|
1
|
130
|
未知
|
未知
|
未知
|
未知
|
不適用
|
不適用
|
不適用
|
不適用
|
未知
|
未知
|
未知
|
未知
|
未知
|
[18]
|
1D
|
8
|
MIPS32
|
GS132
|
2014
|
1
|
130
|
1
|
6
|
3 × 10−5
|
未知
|
不適用
|
不適用
|
不適用
|
不適用
|
未知
|
未知
|
未知
|
未知
|
未知
|
[19]
|
龍芯2
|
2F
|
1200
|
MIPS-III 64-bit
|
GS464 (r1)
|
2007
|
1
|
90
|
51
|
43
|
5
|
1.2
|
64
|
64
|
512
|
不適用
|
3.2
|
未知
|
未知
|
未知
|
未知
|
[20]
|
2G
|
1000
|
MIPS64
|
GS464 (r2)
|
2012
|
1
|
65
|
未知
|
未知
|
未知
|
1.15
|
64
|
64
|
4096
|
不適用
|
未知
|
未知
|
未知
|
未知
|
未知
|
[21]
|
2GP
|
800
|
MIPS64
|
GS464 (r2)
|
2013
|
1
|
65
|
82
|
65.7
|
8
|
1.15
|
64
|
64
|
1024
|
不適用
|
3.2
|
未知
|
未知
|
未知
|
未知
|
|
2I
|
2H
|
1000
|
MIPS64
|
GS464 (r2)
|
2012
|
1
|
65
|
152
|
117
|
5
|
1.15
|
64
|
64
|
512
|
不適用
|
4
|
未知
|
未知
|
未知
|
未知
|
|
2K1000
|
1000
|
MIPS64 Release 2
LoongISA1.0
|
GS264
|
2017
|
2
|
40
|
1900
|
79
|
5
|
1.1
|
32
|
32
|
2562
|
1024
|
8
|
未知
|
未知
|
未知
|
未知
|
[22]
|
龍芯3
|
3A1000
|
1000
|
MIPS64 Release 2
|
GS464 (r2)
|
2009
|
4
|
65
|
425
|
174.5
|
10
|
1.15
|
64
|
64
|
256x4
|
不適用
|
16
|
不适用
|
568
|
788
|
不适用
|
2.4
|
2.3
|
[23]
|
3B1000
|
1000
|
MIPS64 Release 2
|
GS464v
|
2010
|
4+4
|
65
|
>600
|
未知
|
20
|
1.15
|
64
|
64
|
128x8
|
不適用
|
128
|
未知
|
未知
|
未知
|
未知
|
[24]
|
3B1500
|
1200–1500
|
MIPS64 Release 2
|
GS464v
|
2012
|
4+4
|
32
|
1140
|
142.5
|
30(典型) 60(向量)
|
1.15–1.25
|
64
|
64
|
128x8
|
8192
|
150
|
未知
|
未知
|
未知
|
未知
|
|
3A1500-I
|
800–1000
|
MIPS64 Release 2
LoongISA1.0
|
GS464E
|
2015
|
4
|
40
|
621
|
202.3
|
15
|
1.15–1.25
|
64
|
64
|
256x4
|
4096
|
16
|
未知
|
未知
|
6
|
未知
|
[25]
|
3A2000
|
3B2000
|
3A3000
|
1500
|
MIPS64 Release 2
LoongISA1.0
|
GS464E
|
2016
|
4
|
28
|
>1200
|
155.78
|
30
|
1.15–1.25
|
64
|
64
|
256x4
|
8192
|
24
|
未知
|
1100
|
1700
|
11
|
10
|
36
|
33
|
[26][27]
|
3B3000
|
3A4000
|
1800-2000
|
MIPS64 Release 5
LoongISA 2.0
|
GS464EV(GS464v)
|
2019
|
4
|
12
|
未知
|
未知
|
<[email protected]
<[email protected]
<[email protected]
|
0.95-1.25
|
64
|
64
|
256x4
|
8192
|
128
|
21.1
|
21.2
|
61.7
|
58.1
|
未知
|
未知
|
[28]
|
3B4000
|
4
|
14
|
未知
|
未知
|
0.95-1.25
|
3A5000
|
2300-2500
|
LoongArch
|
GS464V
|
2021
|
4
|
12/14
|
未知
|
未知
|
[email protected]
|
未知
|
64
|
64
|
256x4
|
16384
|
160
|
26.6
|
未知
|
80
|
未知
|
未知
|
未知
|
[29]
|
3B5000
|
未知
|
未知
|
未知
|
3C5000L
|
2200
|
LoongArch
|
GS464V
|
2021
|
16
|
12/14
|
未知
|
未知
|
[email protected]
|
未知
|
64
|
64
|
256x16
|
16384x4
|
560
|
未知
|
[30]
|
3C5000L-LL
|
2000
|
LoongArch
|
GS464V
|
2021
|
16
|
12/14
|
未知
|
未知
|
[email protected]
|
未知
|
64
|
64
|
256x16
|
16384x4
|
512
|
未知
|
|
3D5000
|
2000
|
LoongArch
|
GS464V
|
2023
|
32
|
12/14
|
未知
|
未知
|
[email protected]
|
未知
|
64
|
64
|
256x32
|
65536
|
1024
|
未知
|
[31]
|
3A6000
|
2000-2500
|
LoongArch
|
LA664
|
2023
|
4
|
未知
|
未知
|
未知
|
[email protected]
|
未知
|
64
|
64
|
256x4
|
16384
|
240
|
未知
|
43.1
|
54.6
|
155
|
140
|
[32]
|
- ^ 龙芯一般把最高层级缓存(LLC)称为 Shard-cache 或 Secondary-cache。
- ^ 这里的 victim cache 可以认同为和 L1i/L1d 为同一级的,也就是说,龙芯官方宣称的二级缓存可以理解为和一级缓存为同一级缓存,官方宣称的三级共享缓存才是二级缓存(Shared-cache/Secondary-cahce)。
软件生态
操作系统
目前能在龙芯上使用的操作系统有:
编译器
GNU编译器套装是龙芯平台上软件开发的主要编译器。[33][34]同时中国科学院计算技术研究所也为龙芯2平台移植了Open64。[35]
开源社区
基于龙芯的产品已经成为Debian和Golang语言的MIPS架構编译服务器。在2019年,龙芯是唯一在市场零售的桌面级MIPS CPU。[36][37][38]
龙芯中科、龍夢以及其他一些个人内核开发者一直在Linux主线内核(kernel.org)提交并维护龙芯相关的代码,并为MIPS架构实现了ftrace,zboot等功能。
应用
个人电脑产品
自从龙芯2F发布以来,有数款笔记本电脑都采用了此种低功耗处理器,例如江苏龙梦逸珑笔记本电脑(YeeLoong)、深圳一本通电脑有限公龙腾笔记本电脑EBT700,有800x480分辨率。采用龙芯2F处理器,主频1GHz、EMTEC生产的Gdium笔记本电脑。龍夢也设计了使用龙芯2F的一体机,迷你计算机,台式机等产品。
步入3A/3B时代之后,龍夢继续设计制造了许多龙芯的台式机,一体机,笔记本等设备。同时也有其他厂商发布了使用龙芯处理器的电脑,其中包括清華同方、联想 、浪潮、曙光、方正、百信这些OEM/ODM厂商,各自推出了基于龙芯3号系列CPU和龙芯桥片的个人台式机、一体机和笔记本电脑,但以上產品多見於政府國企採購而少見於民用市場。[39] 2021年初相隔十三年後第二代福珑盒子2.0迷你機量產,其效能已達到民用低階辦公需求開始在網路購物等少量渠道投放市場,配合UOS等新型國產化Linux操作系統使用。[40][41]
服务器/存储/云终端
龙芯处理器被广泛应用于服务器,存储,云等领域。其中,有曙光、同方 、龙梦、浪潮、宝德、方正、百信这些OEM/ODM厂商,推出了基于龙芯处理器的服务器、存储和云终端,在政务市场上得到大规模的应用。[42]
网络设备
一些厂商推出了基于龙芯处理器的交换机、路由交换、服务器密码机和签名验证服务器。[43]
嵌入式產品
龙芯产品(CPU和SoC)已经广泛运用于网安、能源、交通、金融、物联网。工控等领域。其中,金融方面有直接搭载龙芯CPU和桥片的金融自助设备,包括自动柜员机(ATM)、存取款一体机(CRS)[44]和终端工控主机;交通方面有基于龙芯的交通信号机,基于龙芯1D的交通行人灯,基于龙芯1C/1D的道路交通环境检测系统,基于龙芯服务器的城市交通智能控制系统软件,基于龙芯3A3000/2K的ETC/MTC工控计算机和基于龙芯计算机的ETC/MTC收费应用支撑系统[45];网络安全方面有许多基于龙芯的防火墙、交换机、网闸、网关[46];物联网方面有基于龙芯的门禁、门锁等[47][48][49];工控方面有基于龙芯的工控PLC、数控机床;能源方面有基于龙芯1D芯片的三川智慧的水表、热表。
行业应用/IP授权
2014年,海信获得龙芯GS232 IP核授权,发布了Hi-View Pro画质引擎芯片,是中国电视企业第一块画质芯片,核心由龙芯CPU核、海信高清画质引擎共同组成。[50]2019年4月22日,国科微和龙芯签订协议,龙芯授权IP核给国科微,国科微下一代产品GK2302将采用龙芯的IP核来作为主控芯片中的CPU。[51]到现在为止,基于龙芯的IP授权大于1000万颗。
高性能机/超级计算机
2007年12月,中国科学技术大学和中国科学院计算技术研究所成功研制集成了336颗64位龙芯2F处理器的中國国产首台万亿次高性能计算机KD-50-I,其理论峰值计算能力达到1.008万亿次。项目由中科大教授陈国良院士主持。该计算机成本控制在80万人民币以下[52][53]。2010年4月,中国科学技术大学宣布成功开发了基于龙芯3A的KD-60-1,新的超级计算机是刀鋒伺服器的集群,具有80多个龙芯3A处理器,理论计算峰值达到万亿次[54]。2012年12月,中国科学技术大学与深圳大学合作研制完成集成了10颗龙芯3B处理器的KD-90[55]。
2011年,中科院计算所与曙光公司研制完成了第一款完全由中文组件制造的超级计算机曙光6000,采用8000至10000颗八核心龙芯3B处理器[56]。
航天
龙芯中科2013年後開始研发人造衛星使用的抗宇宙輻射晶片,龙芯中科已掌握抗辐照加固技术、工艺及设计规范,设计研制了抗辐照处理器,其性能达到国外抗辐照处理器的指标。[6]
2021年至少有30顆北斗衛星在軌運行。[57][无关引用][58][无关引用]
参考文献
标注
- ^ 龙芯/龙芯2系列处理器的开发和命名主要是按字母顺序进行的。
- ^ 龙芯/龙芯3系列处理器似乎是根据细分和代号命名的。这一细分市场往往是A(通用PC)、B(看似高核心数)和C(服务器处理器)。第一个系列处理器的代数从1000开始,然后通常增加到下一个1000。有些处理器可能是两代产品之间的处理器,其名称为x5000。
另见
外部連結
本条目含有来自《史上最全龙芯处理器家谱》的文本,作者为炼钢术士,以CC BY-SA 3.0授权。
本条目包含了自由内容作品内的文本。 在CC-BY-SA 3.0协议下释出(许可证声明): 《史上最全龙芯处理器家谱》, 知乎用户炼钢术士, 龙芯故事. 欲了解如何向维基百科条目内添加开放许可证文本,请见这里;欲知如何重用本站文字,请见使用条款。
MIPS芯片 |
---|
|
通用 处理器 | |
---|
应用 处理器 | |
---|
微控制器 (嵌入式设备) | M4K | |
---|
4Kc/4KEc | |
---|
MIPS32 兼容 |
- 龙芯1号系列
- LS1A0300
- LS1B
- LS1C300
- LS1C101
- LS1D
- LS1G
- LS1H
|
---|
|
---|
网络专用 | 4Kc/4KEc | |
---|
5Kc | |
---|
24Kc/24KEc |
- 高通創銳訊
- AR7240
- AR7161
- AR9132
- AR9331
- 聯發科技
- RT3050
- RT3052
- RT3350
- RT5350
- RT6856
- MT7620
- Lantiq
|
---|
34Kc | |
---|
74Kc | |
---|
1004Kc | |
---|
1074Kc | |
---|
MIPS32 兼容 | |
---|
MIPS64 兼容 | |
---|
|
---|
游戏专用 | |
---|
超级计算机 | |
---|
航天专用 | MIPS64 兼容 | |
---|
MIPS32 兼容 |
- 龙芯1号系列
- LS1E04
- LS1F04/LS1F0300
- LS1J
|
---|
|
---|
经典 处理器 | |
---|