2022年6月6日,由工业和信息化部网络安全产业发展中心指导、北京经信委联合主办的“2022 LoongArch生态发展暨通明湖创新应用论坛”在线举办技术开发区国家信息创新园、龙芯中科。 握住。 会上安卓 x86 安全软件,龙芯推出龙芯3C5000服务器处理器,并协同生态伙伴发布新一代国产服务器基础软硬件平台。
克服奴隶心态,成为自己的指挥系统
近年来,在国家的重视和支持下,国产CPU也迎来了快速发展。 华为、飞腾、海光、兆芯、龙芯、申威是目前国内为数不多的国产CPU厂商之一。 但无论是出于自主可控、商业化还是生态方面的考虑,华为、飞腾、海光、兆芯、龙芯、申威都选择使用之前存在的相对成熟的CPU指令集架构。
例如,华为和飞腾选择基于Arm的ARMv8指令集架构授权开发自己的CPU; 海光、兆芯分别与AMD、VIA成立合资公司,获得x86指令集授权,开发自己的CPU; 龙芯最初是基于MIPS指令集,而神威则是基于ALPHA指令集。
时至今日,x86和Arm指令集架构仍然是最主流的两种指令集架构,而MIPS、ALPHA、SPARC、POWER等指令集架构均出现了下滑。 此外,还不断出现新的指令集架构,比如大家熟悉的开源RISC-V。 目前,国内多家芯片厂商正在研发自己的基于RISC-V指令集架构的CPU。 选择现有的开源或可开放许可的 CPU 指令集架构意味着无需从头开始。 在满足国内一定自主可控需求的基础上,可以利用现有的软硬件生态系统快速发展。 。
不过,在龙芯中科董事长胡伟武看来,无论是x86、Arm、RISC-V,还是龙芯此前采用的MISP指令集架构,都是国外的指令集架构,尤其是在美国贸易战期间与中国和技术战争。 在此背景下,存在着不可控的风险。 尤其是对于自主性和可控性要求较高的芯创产业来说,如果采用基于国外指令集架构的CPU,仍然难以改变核心技术受制于人的局面。
例如,近年来,由于美国对国内芯片产业的打压,华为、飞腾、海光、神威等国内CPU厂商均被美国商务部列入实体清单,还让他们获得了新指令集架构的授权。 已被限制。 例如,对于Arm最新的ARMv9架构,目前国内还没有厂商获得授权。
“指挥体系和基础工业(工艺材料和装备)是信息产业最重要的两个基石。基于国外指挥体系的信息产业无法支撑中华民族的伟大复兴。我们中国人可以用英文写文章,但我们不可能用英语来发展自己的民族文化。同样,我们中国人也可以用外国的指挥系统来制作产品,但我们不能指望用外国的指挥系统来构建我们自己的生态。 胡伟武坦言,龙芯这些年的发展历程就是一个生动的例子,“做跟随者可以,但超越不行。龙芯CPU曾经拥有MIPS架构中最高的性能。在软件生态方面龙芯已经逐渐成为MIPS领域的领军者,但MISP却觉得龙芯不准超越他们。女佣一辈子掌握着关键,但她仍然是女佣。所以,我们需要克服奴隶心态,成为我们自己的指挥系统。”
胡伟武 龙芯中科董事长
胡伟武进一步指出:“我经常听到市场上有人说龙芯的独立指令集架构芯片不够好,不如x86和Arm。他们说x86和Arm指令集架构才是主流。”龙芯怎么能比x86和Arm做的更好?arm?这是一种奴隶心态,我们要克服这种奴隶心态。
LoongArch正在成为与X86/Arm并列的顶级开源生态
其实,CPU指令系统是否需要自主研发,很多年前就已经讨论过了,到现在至少已经有15年了。 自主研发有自主研发的好处,但最大的问题在于生态建设。 选择采用或兼容国外指令集的好处是可以直接共享国外指令集现有的软硬件生态系统。 历经20年的历练,龙芯的选择是独立与兼容并存。
2021年4月,龙芯正式发布独立指挥系统架构LoongArch。 龙芯LoongArch指令集在完全自主可控、拥有完全自主知识产权的同时,还兼容多种国际主流指令系统。
胡伟武表示,要实现完全自治和兼容,需要“2+3+3+2”十项基础软件能力。 即两个核心软件:BIOS和操作系统内核(包括驱动和虚拟化); 三大编译器:GCC、LLVM、GOLANG; 三大虚拟机:Java、Javascript、.NET; 两个主要的二进制翻译系统:x86 和 Arm。 “我们不仅要纵向建立自己的软件生态系统,还要横向接入x86和Arm。”
“LoongArch指令系统正在成为像x86、Arm一样的国际主流指令系统。未来它会开源,但它与RISC-V不同。RISC-V的开源是由美国人主导的,我们的开放“LoongArch的来源是我们中国人自己的开源指挥系统。虽然我们过去也有过一些自研的指挥系统但失败了,但我相信我们的LoongArch能够成功。”胡伟武说。
据介绍,LoongArch架构得到了国际开源软件社区的广泛认可和支持,并已向GNU组织申请了一个ELF机器编号(第258号),这是LoongArch的“身份证”; Linux内核社区版也将继续支持龙芯系列CPU和桥片。 Binutils、GDB等基础工具已经实现了对LoongArch的原生支持。 ACPI 国际标准包括对 LoongArch 架构功能的支持。 GCC 已经实现了对 LoongArch 架构的原生支持。 LLVM 和 GO 已经初步实现了对 LoongArch 架构的原生社区支持。 ; 龙芯与.Net、V8、Mozilla等社区紧密合作,实现了Java、Javascript、. Net基于LoongArch架构。
龙芯3C5000服务器处理器发布:16核性能媲美Arm 64核处理器
2021年7月,龙芯正式发布龙芯3A5000,这是首款基于自主研发的命令系统LoongArch的处理器芯片。 其性能实现了显着的飞跃,代表了我国自主CPU设计领域的最新里程碑。
作为首款基于LoongArch指令集系统的龙芯3A5000处理器,主频为2.3GHz-2.5GHz,包含4个处理器核心。 每个处理器核心均采用64位超标量GS464V自主微结构,包括4个定点单元、2个256位向量运算单元和2个内存访问单元。 龙芯3A5000集成了2个支持ECC验证的64位DDR4-3200控制器和4个支持多处理器数据一致性的HyperTransport 3.0控制器。 龙芯3A5000支持主模块时钟动态关断、主时钟域动态变频、主电压域动态调压等精细化电源管理功能。
根据国内第三方测试机构龙芯中科发布的测试结果,运行SPEC CPU2006的龙芯3A5000处理器在GCC编译环境下的定点和浮点单核base分数均达到26分以上,四核得分达到80分以上。 基于国产操作系统的龙芯3A5000桌面系统Unixbench单线程成绩达到1700分以上,四线程成绩达到4200分以上。 以上测试成绩接近市场主流桌面CPU水平,在国产桌面CPU中处于领先地位。
与上一代龙芯3A4000处理器相比,龙芯3A5000处理器在保持引脚兼容性的同时,性能提升50%以上,功耗降低30%以上。
据龙芯中科副总裁张戈介绍,本次发布的龙芯3C5000系列是龙芯针对服务器领域开发的高性能通用处理器。 采用全新LoongArch独立指令系统,具有超强算力、卓越性能的特点。 ,可满足通用计算大型数据中心云计算中心的计算需求。
张戈 龙芯中科副总裁
在芯片设计方面,龙芯3C5000通过封装集成了四片3A5000硅片,形成16核处理器,重点优化多核、多通道互连效率。 单芯片unixbench分数超过9500,双精度计算能力达到560GFlops。 16核处理器的峰值性能相当于典型的Arm 64核处理器,并支持多达16个互连。 搭载新一代龙芯7A2000桥接芯片,PCIe吞吐带宽较上一代提升400%以上。 可满足通用计算、大型数据中心、云计算中心的计算需求。
此外,龙芯3C5000还可以通过芯片级安全机制,为Class Assurance 2.0、可信计算、国密算法替换、网络安全漏洞防护等提供CPU级内生支持。
龙芯现阶段主要矛盾:应用生态
纵观龙芯CPU的发展历程,胡伟武认为可以分为三个阶段:
2019年之前,龙芯面临的主要矛盾是CPU性能不足。 例如,2013-2015年,龙芯第一代产品(3A1000、3B1500)的总体处理性能仅为市场主流产品的1/10。 然后,在2016-2018年推出的第二代产品(3A2000、3A3000)中,3A3000的性能是3A1000的4倍,解决了操作系统和硬件结合的稳定性问题,基本可用。
2019年至2021年,龙芯推出第三代产品(3A4000、3A5000、3C5000)。 尤其是自带LoongArch指令集的3A5000,性能达到了3A3000的3倍。 与上一代3A4000相比,性能也提升了50%以上。 ,功耗降低30%以上,接近市场主流产品水平,达到易用水平。
然而,配套国产操作系统成为龙芯当时面临的主要矛盾。 当时国内很多“小而散”的国产操作系统开发团队逐渐融入同心和麒麟两个国产操作系统团队,各自规模在2000-3000人。 在此过程中,龙芯需要解决操作系统与硬件的兼容性问题,消除操作系统与硬件结合的“爆炸”。
“我们曾经有过一个操作系统适应每台机器的时期。现在我们有了一个操作系统,无论是谁的机器,只要安装了龙芯CPU就可以运行。”胡伟武说。
随着自有LoongArch指令集3A5000系列的推出,龙芯还将推出第四代产品(3A6000、3A7000),将达到市场主流产品的水平。
据胡伟武介绍,3A6000将采用与3A5000相同的制裁工艺(应该是12nm),主要通过设计优化来提升性能。 根据仿真结果,3A6000处理器的单核SPEC CPU 2006定点/浮点基础分数(GCC)从26/28分提升至35/45分,双DDR4 Stream带宽(峰值)值 51.2GBps)也将从 25GBps 增加。 至 38GBps。
随着龙芯CPU性能的不断提升,从2022年开始,龙芯技术平台的主要矛盾也将开始向应用生态转移。龙芯基础软件工作的重点也从操作系统与硬件的融合转向操作系统和应用程序的集成。
三大举措打造LoongArch应用生态
对此,龙芯采取了三大举措:一是夯实基础; 二是兼容性广泛,不仅在Linux内部,还兼容x86和Arm; 三是开发独立的应用程序,形成独立的编程框架和编程语言。
为此,龙芯除了继续与同心、麒麟等国内操作系统厂商合作外,还针对信息应用和工业控制推出了龙芯基础版操作系统Longnix和龙芯基础版操作系统LoongOS和终端应用程序。
龙芯还完成了LoongArch基础软件系统(LBF)的建设,目前可以原生支持所有主流Linux基础软件和应用环境。 也就是说,Linux平台上,有x86、Arm、龙芯。
当然,Linux平台的开放性也带来了很多应用程序的兼容性问题,包括打包格式不兼容、API环境不兼容、内核升级导致的不兼容等等。 为了解决这一问题,龙芯推出了龙芯应用兼容框架(LCF),实现跨Linux版本应用兼容。
为了兼容各种x86和Arm应用,龙芯还推出了自主研发的x86架构翻译系统(LATX)和Arm架构翻译系统。 胡伟武表示,这里需要用到很多核心技术:首先,LoongArch指令必须添加一些x86和Arm功能指令,这样翻译才会高效; 其次,必须制作一个高效的从x86架构到LoongArch架构的二进制翻译器; 第三,要模拟Windows环境。
据介绍,龙芯目前在x86/Windows应用的兼容性方面正在按照“3+10+X”的节奏推进。 “3”指Windows打印机(很多打印机驱动在Linux平台上不可用)、IE兼容浏览器、.NET虚拟机; “10”指的是10种常见的基础应用。
胡伟武说:“按照3+10+X的节奏安卓 x86 安全软件,首先要提高兼容性,其次优化性能,最后把整个通用平台做好。我觉得也许今年3+10可以做好,明年今年我们会做得很好。”
此外,为了解决Linux和Windows生态系统中部分用户经常遇到的浏览器问题,龙芯还推出了自主研发的兼容IE的龙芯浏览器。 例如,大量基于IE/Windows系统开发的历史应用(各种网页元素和插件)无法在当前的Chrome等浏览器上运行。 很多用户在登录网上银行时都会遇到类似的问题。 龙芯浏览器通过插件兼容技术、二进制翻译、网页元素兼容转码等关键技术实现了对IE的兼容。
胡伟武自豪地说:“我相信全球Linux平台中,只有龙芯浏览器能够成功登录我们网银。所以我常说生态是创造出来的,不是跟随的。并不代表我就兼容x86 ……我别人的生态一定好,因为别人的生态也不一定好。
最后,针对目前国内信息和创新领域对独立CPU和操作系统的完整产品需要无尽的移植和适配问题,龙芯也在推动建立独立的编程框架和编程语言。
胡伟武指出,拥有独立CPU和国产操作系统的完整产品,由于其上运行的应用程序都是基于国外编程框架编写的,因此需要无休止的移植和适配。 Windows、Android、iOS平台不存在适配问题,因为它们都有自己的编程框架。
胡伟武强调,自主指挥系统+自主编程框架是自主软件生态的基础。 自主编程框架是自主操作系统的一个重要特征。 目前的国产操作系统并不是真正的独立操作系统,而是开源操作系统的独立发布。 只有使用独立的编程框架,才能彻底解决APP开发者无休无止的适配问题。
为了解决这个问题,龙芯计划推出自己的龙芯独立编程框架LDF(龙芯应用开发框架)。 据介绍,龙芯目前正在调研Windows、IOS、Android编程框架的特点,形成龙芯独立编程框架,力争在2023/2024年推出。
“经过20年的发展,龙芯将在2021年基本完成自主CPU和操作系统的搭建,自主CPU的应用软件生态也越来越好。龙芯将力争在‘十一五’期间完成‘三个转变’。” “十四五”时期:从技术“补课”向生态建设转变;从政策性市场向开放市场转变;从后续发展的“必然王国”向“自主王国”转变独立发展的自由”。 胡伟武总结道。