龙芯 3A6000 里程碑的背后,是一群人的信念

4个月前 (12-27) 0 点赞 0 收藏 0 评论 8 已阅读

2023 年 11 月 28 日,龙芯在北京国家会议中心举办了 2023 年产品发布暨用户大会,大会以“到中流击水”为主题,现场发布了新一代通用处理器龙芯 3A6000、打印机主控芯片龙芯 2P0500 重磅成果,并对外公布龙芯处理器核 IP 及龙芯自主指令系统架构授权计划。

整体来看,这场发布会的绝对主角,无疑还得是全新的龙芯 3A6000 处理器。龙芯从诞生到今天一直在致力于推进 CPU 半导体的国产化和自主可控,二十多年辛苦不寻常,到这次龙芯 3A6000 的推出,可以说真正达到了一个关键的里程碑。

龙芯 3A6000,国产自主 CPU 的一个里程碑

龙芯 3A6000 最重要的创新点就在于它采用的完全自主设计的 LoongArch 龙架构指令集。这是龙芯在 2020 年基于二十年 CPU 研发和生态建设积累推出的指令系统,包括基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,有近 2000 条指令,并且是按照先进性、扩展性、要求从头定义的,不含国外授权。

具体来说,LoongArch 指令系统从整个架构的顶层规划到各部分的功能定义再到细节上每条指令的编码、名称、含义,都在架构上进行了自主重新设计,具有充分的自主性。

基于 LoongArch 指令系统,龙芯设计了自主的 CPU 微架构,第一代是 CS464,主要用于 3A1000、3B1500 处理器,第二代为 CS464E,对应的处理器为 3A2000 和 3A3000,第三代则为 CS464V / LA464,用在 3A4000 和 3A5000 处理器上。

而这次龙芯 3A6000 采用的是第四代微架构 LA664,这一代架构设计将发射宽度从 4 发射增加到 6 发射,ROB 项数提升到了 256,定点和向量物理寄存器都从上一代的 128 增加到了 192,发射队列项数、功能部件数、load 队列项数和 store 队列项数也都有明显增加。

整体来说,龙芯微架构的演进节奏采用的是 Tock-Tick 的策略,先进行微结构优化,然后在进行工艺升级,相当于英特尔过去 Tock-Tick 策略换了个顺序。这种先优化软件再提升工艺的思路,好处就是可以尽可能压榨出每一代工艺的性能上限,在当前国产半导体制程工艺提升受限的背景下其实也是非常正确的策略。

另外在 LA664 架构上,龙芯也实现了同时多线程技术(SMT),CPU 核心在同一时刻运行多个线程,单位时间内可以执行多个线程的更多指令,这也让 3A6000 在相同工艺下性能比上一代产品大幅提高。

总体来说,龙芯 3A6000 是 4 核 8 线程,主频为 2.3GHz-2.5GHz,峰值运算速度为 240GFlops,每个核心包含 64KB 一级指令缓存和 64KB 一级数据缓存,256KB 二级缓存和 16MB 三级缓存,拥有 2 个 72 位 DDR4-3200 内存控制器,实测带宽超过 42GB/s,I / O 方面包含 1 个 HyperTransport 3.0 控制器、1 个 SPI、1 个 UART、2 个 I2C、16 个 GPIO 接口,封装方面采用 35mm×35mm BGA 封装,1190 个引脚,典型功耗为 40W@2.5GHz。

根据工业和信息化部电子第四研究院给出的测试,龙芯 3A6000 在 SPEC CPU 2006、SPEC CPU 2017、Stream、Unixbench 等多项测试中的表现都非常优异,比如在 SPEC CPU 2006 INT 测试中的成绩为 43.1,相比 3A5000 提升了 62%,在 SPEC CPU 2017 INT ratel 中的成绩为 5.05,相比 3A5000 提升了 45%。这样的性能提升幅度在整个 CPU 领域都是很少见的。

整体而言,根据龙芯的介绍,龙芯 3A6000 处理器的综合性能已经能赶上英特尔 2020 年推出的第 10 代酷睿 i3-10100 四核处理器的水平。

根据龙芯中科董事长胡伟武的介绍,龙芯在 2013 年曾做过反思,自主 CPU 与国外先进水平的核心差距到底在哪里?

是通用处理能力不行还是专用处理能力不行?龙芯认为是通用处理能力。

是单核性能不足还是核数不够?龙芯认为是单核性能不足,因为一群小学生谈不上人多力量大。

是设计能力不行还是工艺不行?龙芯认为重点是设计能力不行。

沿着上述反思的思路,龙芯开启了通用处理器的“补课”征程,成果自然也是可喜的,要知道,2002 年推出的龙芯 1 号与市场主流产品性能相差有 20 多倍,而到 2021 年推出的龙芯 3A5000,与市场主流产品性能相差已经不到 1 倍,再到这次龙芯 3A6000 处理器,和当今主流产品的差距已经基本全部补齐。

因此,将龙芯 3A6000 视为国产自主 CPU 的一个里程碑,并不为过。

软件生态建设和体验:让人充满期待

前面我们主要说了龙芯 3A6000 的硬件,而围绕龙芯 3A6000 的基础软件生态体系建设,其实也取得了不俗的成果。

说到软件体系的建设,重点还是在龙芯自主设计的 LoongArch 龙架构的兼容和适配性上。根据龙芯的介绍,目前龙架构已经得到了国际开源软件的认可和支持,包括开源软件基石 Linux 内核持续支持龙芯全系列 CPU 和桥片,开源世界两大支柱性编译器 GCC / LLVM 也支持 LoongArch 全量指令集和特性,新兴与传统编程语言 Rust、Golang、 Pascal 等也都能全面支持 LoongArch 等等,总之可以基于 LA 架构的国际开源软件直接构建出完整的操作系统,这也是一个重要的里程碑。同时部分国外基础软件企业也推出了龙架构版本,如 Codesys。

更重要的是,龙架构也得到了国内操作系统和基础应用的认可和支持,比如 Loongnix、统信、麒麟、欧拉、龙蜥、开源鸿蒙等操作系统都已经能够支持龙架构,还有 WPS、微信、QQ、钉钉、腾讯会议、美图、搜狗输入法等基础应用,也都有对应的版本。LoongArch 已经逐渐建成与 X86 以及 ARM 并列的基础软件体系。

此外,LoongArch 架构还获得了国际开源软件生态中的身份编号,拥有编号为 258 的专属指令集架构标识,即 ELF 可执行文件的 e_machine 编号,所有软件中都会嵌入对应的指令架构身份编号。

除了积极推进 LoongArch 架构原生应用生态的建设,对于目前市面上最主流的 X86 生态,龙芯也通过主动的兼容策略来让 X86 应用能够运行在 LoongArch 架构上,即通过二进制翻译的方式运行 X86 运用,目前使用这一策略可以运行绝大多数 X86 / Linux 应用,包括办公、EDA、娱乐软件等都能获得流畅的用户体验,比如可以在龙芯服务器上运行主流商业 EDA 软件。

同时对于 X86 / Windows 应用,也仍在持续改进中,龙芯称争取在 1-2 年后在龙芯平台上运行绝大多数 X86 / Windows 应用,走向商用市场,并且下一代龙芯处理器还会完善对二进制翻译的支持,如 X87 的 80 位浮点指令,尽管这样可能会损失一定的应用执行性能(官方称最高大约损失 20%),但还是那句话:能运行总比没有好。

最后,对于龙芯 3A6000 在终端设备中运行系统和软件的实际体验,也在这次龙芯发布会的展示区域进行了体验。比如小编在一台搭载龙芯 3A6000 处理器,内存为 DDR4 8GB、256GB SSD 的国光龙芯瘦客户机上做了测试,这台主机运行的是银河麒麟操作系统,小编尝试用系统自带的浏览器打开 20 多个网页,然后同时运行 QQ、百度网盘、迅雷、系统应用商店等软件,并在本地播放一段 1080P 分辨率的视频,在不同的软件之间切换、使用等都可以很流畅地进行,一点也没有卡顿的感觉。

另外,小编还在一台搭载龙芯 3A6000 处理器、运行统信 UOS 系统的台式终端上进行了体验,值得一提的事,在统信 UOS 系统的自带应用商店里,会标明该软件可以下载 LoongArch 架构原生版或是 Windows 版本,如果是下载 Windows 版本,则会以二进制翻译的方式运行。

小编在这台主机上先后运行了大小 10MB 左右的《WPS 文字》文档和《WPS》 PPT 文档,整个体验也非常流畅,翻动页面、进行一些功能操作等都没有卡顿感。

小编还分别体验了原生版本的 QQ 和微信,其中 QQ 的软件功能比较齐全,聊天、空间、邮箱甚至短视频等功能都有,但微信的功能目前相对简单,基本只有聊天功能,体验上还有待微信方面进一步完善。

还有在游戏方面,还在现场看到搭载龙芯 3A6000 处理器、AMD 独显、运行统信 UOS 系统的攀升主机流畅运行云原神,云原生客户端是 Windows 版本通过二进制转译运行,此外还有死亡细胞、魔兽世界怀旧服等游戏,也都可以很流畅的运行。

综上可见,龙芯 3A6000 在硬件性能和软件生态体验方面确实已经达到了一个能够让人满意甚至惊艳的程度,这无疑会让人们对龙芯乃至国产自主 CPU 的未来发展充满期待。

龙芯第四代产品“三剑客”,和茁壮成长的产业生态

除了 3A6000,龙芯今年重点发展的还有龙芯 3C / D / E6000 服务器 CPU 和龙芯 2K3000 移动终端 CPU,他们并称龙芯第四代产品的“三剑客”。

其中龙芯 3C6000 目前已经完成了设计,单硅片 16 核 32 线程,基于 LA664 架构,通用处理性能成倍提升,同时支持 DDR4-3200x4 内存,访存带宽比上一代 3C5000 成倍提高,还支持 PCIe4x64,IO 性能比上一代 3C5000 成数量级提高,支持高性能国密标准加解密算法,SM4 带宽大于 30Gbps。

此外,龙芯 3C6000 还支持“龙链技术”,这项技术和英伟达 NVLink 以及英特尔 CXL 技术类似,可实现芯片组件(Chiplet)的连接,相比过去 3A5000 的片间互联协议,延迟成倍降低,带宽提高了好几倍,大大提高多片协同工作的性能。龙链跟 nvlink 比,速率还低一些(目前每位速率是 16Gbps,下一步将提高到 32Gbps),但已经不错了。

重要的是,龙链技术基于的事全自研的物理接口,兼容 PCIe 电气标准,硅间、片间互连可切换,完全可以自主掌握。

至于 3D6000 和 3E6000,则可以通过龙链技术分别将两颗、四颗 3C6000 连接在一起得到。

此外,面向笔记本 / 云终端的 2K3000,目前也已经完成了前端设计,这是八核单硅片,具有极高的性价比,8 个 LA364 处理器核中,单核性能可达到 3A5000 的水平。

同时值得关注的是,2K3000 还集成了 LG200 GPU 核心,支持 OpenGL4.0 图形加速、OpenCL3.0 科学计算加速,还内置了 INT8 张量计算加速部件,可进行 AI 加速,单节点达到 256GFlops-1TFlops,支持多节点互联。

还有就是,根据龙芯给出的线路图,2025 年将会有面向桌面级的 3B7000 和面向服务器的 3D / E7000。都是基于 LA664 架构的升级。

从龙芯第四代“三剑客”产品线的全面铺设,小编又想到龙芯在自主 CPU 生态建设方面取得的成果,毕竟产品再好,也需要生态的支持。

别的不说,单说这次龙芯 3A6000 处理器发布后,现场就有 50 多家合作伙伴进行了龙芯 3A6000 整机产品的发布仪式,其中不乏华硕、雷神、方正、同方、联想、攀升等我们耳熟能详的品牌。在现场听着一长串用实际产品响应龙芯生态建设的合作伙伴品牌名字,小编才真正切实感受到龙芯在做的事情不是我们在新闻里听到的各种心潮澎湃,而是脚踏实地落在实处、落在商用端的产品,这才是让龙芯能持续往前走的关键。

不仅如此,为了进一步扩大 LoongArch 架构指令集的覆盖范围,龙芯还选择了将龙芯 CPU IP 核开放授权,首批开放的 IP 核包括 LA132、LA264、LA364 三种核心,通过这样共享、共建的方式构建龙架构生态,进行龙芯 IP 授权,而且一次性授权且永不收版税,即“卖芯片不收提成”,且无需对被授权企业进行审计。相信这些措施都有助于龙架构芯片生态的快速建设。同时,龙芯表示未来还可能会开放龙架构指令集,足见他们的开放姿态。

在这次大会上,就已经有苏州雄立科技有限公司、大唐可再生能源试验研究院有限公司、得一微电子股份有限公司、山东领能电子科技有限公司、三峡智控科技有限公司、国家超级计算无锡中心、北京得瑞领新科技有限公司、北京科技大学工业互联网研究院、西安微电子技术研究所、北方自动控制技术研究所共 10 家企业在发布会上与龙芯中科签署合作协议,使用基于龙架构的 CPU 核设计超算芯片、专用控制芯片、存储芯片等多种 SOC 芯片。

从小小的课题组到今天,只因一个信念

相信通过上述的介绍和解读,大家在惊艳于龙芯在自主 CPU 硬件、软件、生态建设方面取得出色成果的同时,也会感叹国内半导体产业在摆脱受制于人的处境上又前进了一大步。

事实上,作为国产 CPU 的代表,龙芯从一开始就是为“中国人有自己的 CPU 造计算机”而诞生的。

龙芯最初诞生于中科院计算所知识创新工程支持下的龙芯课题组,而如今作为龙芯中科董事长的胡伟武,就是当年这个课题组最初的发起人。2000 年,在中科院计算所所长李国杰院士的直接推动,龙芯课题组开启了自主设计 CPU 的工作,尽管项目启动资金只有 1000 万元,但他们还是克服种种困难,在一枚完全自主设计、研发的通用 CPU 龙芯 1 号上成功跑起了 LINUX 系统。

2002 年 9 月 22 日,龙芯 1 号通过了中国科学院组织的鉴定,9 月 28 日,龙芯 1 号发布会召开,这标志着中国计算机产业“无芯”历史的终结。

2003 年 10 月 17 日,龙芯 2 号首片 MZD110 流片成功,次年,9 月 28 日,经过多次改进后的龙芯 2C 芯片 DXP100 流片成功。然后在 2005 年 4 月 18 日,龙芯 2 号芯片的发布会召开。

2010 年对龙芯来说是比较特别的一年,龙芯就成立了龙芯中科技术有限公司,标志他们开始市场化运作,全面走向产业化。

2010 年 9 月,龙芯大 CPU 系列的首款多核处理器产品 —— 龙芯 3A 开始量产。到今天,龙芯已经形成了由龙芯 1 号、2 号、3 号三个系列处理器和龙芯桥片系列购成的完善的产品体系,并且对应的软硬件和产业生态也在茁壮成长。

当然,在耀眼成果的背后,往往是各种不为人知的艰难和危机,以及誓为“CPU 自主化”奉献一切的热情和克服困难的勇气与坚韧。

比如从 2001 年到 2010 年的时间里,龙芯的研发经费投入超过 4 亿元,在一些领域有突破,但整体成果却并不显著,因此龙芯不得不面对社会的种种质疑,甚至一些部门机构不再支持自主 CPU 芯片的研发。根据胡伟武的回忆,再 2009 年、10 年前后国家重大专项经费到的时候,龙芯已经欠下计算所七八千万了。

在此背景下,龙芯投向市场化、产业化运作就成了必须要考虑的事情。但投入市场化运营,就意味着龙芯的团队要放弃原来的事业编制,从中科院计算所辞职下海,这无疑是一条破釜沉舟的道路。而且在成立市场化企业的初期,资金依然是头等难题,胡伟武四处筹借,才能把公司成立起来。后来北京市政府牵头投资 1 亿元带动民营企业跟投 1 亿元才暂时解决了融资难题。

还有再比如 2018 年前后,龙芯当时使用的美国 MIPS 指令系统由于其背后公司多次被收购、易主,辗转于不同企业之间,加上西方国家对中国半导体产业的阻挠,致使 MIPS 在中国市场的支持力度和开发可持续性都受到了很大的影响。这让龙芯意识到,“建筑地基”自主可控的重要性,但是更换指令系统对于半导体企业来说是一件风险极大的事情,胡伟武为此茶不思饭不想地纠结了很长时间,最终下定决定,并在 2020 年正式用上了自主研发的 LoongArch 指令系统,真正做到了从地基到上层建筑完全的自主可控……

试想,在这些困难和风险面前,如果没有一份信念和执着,也许就没有今天我们看到的龙芯 3A6000 的突破,还有整个龙芯产业生态的壮大。

就像龙芯所说的,这样的生态是一个独立于 X86 体系和 ARM 体系的第三套新型信息技术体系和产业生态,也就是“龙体系”。

尽管了解半导体产业的朋友都知道,这样一个大厦的建成可谓“路漫漫其修远”,但我们相信龙芯就像不知疲倦的飞鸟,只要眼里看着远方,翅膀还在振动,就总有飞越沧海的那一刻。

最后,再分享一个让小编颇受感动和思索的细节,就是去年,胡伟武在接受央视面对面栏目采访时,主持人问他“你希望未来人们提到龙芯的时候会是怎样一种评价?”胡伟武的回答是:

我希望首先人们买电脑的时候,买龙芯不是因为要支持自主,而是基于性价比的考虑,就是因为喜欢它,这样我们的生态才能做成。

是啊,一句“消费者(或客户)喜欢”抵过所有宏大命题下的千言万语,更是所有“自主化”的终极目标。如果这不能解释龙芯惊艳于世的原因,那还有什么可以解释呢?

龙芯 3A6000 里程碑的背后,是一群人的信念

本文收录在
0评论

登录

忘记密码 ?

切换登录

注册