国产龙芯(LoongSon)平台记事
2015-01-31 19:32:50 阿炯

普华龙芯共同发布国产龙芯平台操作系统

国产芯片和国产服务器是关系到网络安全的核心信息技术,为了提供自主可信、安全可靠的国产软硬件一体化平台,2014年10月中电科普华基础软件股份有限公司(以下简称“普华”)与龙芯中科技术有限公司(以下简称龙芯)建立战略合作伙伴关系,根据协议,普华与龙芯成立了“国产软硬件联合实验室”。日前,联合实验室正式对外为行业用户推出国产软硬件一体化行业解决方案,与此同时,普华和龙芯共同正式对外发布基于龙芯平台的国产普华操作系统。

普华公司市场总监宋可为在接受记者电话采访时透露,“此次普华携手龙芯发布的龙芯平台普华国产操作系统,全面支持当前主流的龙芯3A和龙芯3B芯片组,同时新系统已支持适配多种龙芯计算机引导固件,如昆仑固件、PMON等。在应用系统方面,龙芯版普华操作系统优先对国内主流应用系统进行了适配优 化工作,力图为所有国产软件搭建一个稳定可靠的国产操作系统平台,包括北京人大金仓、武汉达梦、神通公司等。此外根据部分客户需求,新系统全面提升对主流 开源软件如Python、MySQL和PostgreSQL的友好程度,解决了这些优秀的开源软件在龙芯平台部分功能(相对X86版本)的缺失,完善了几十个外部插件重构,使整体系统的功能性和兼容性得到大幅提升。根据目前第三方测试的初步结果,普华操作系统龙芯版产品在龙芯平台的系统基础性能和应用性能 等方面全面领先。”宋可为补充道,“普华这次推出的龙芯平台操作系统是普华公司整体国产软硬件一体化平台策略的重要第一步,普华公司一直以来希望以国产基础软件为核心重新构建一个良好有序的国产软硬件生态系统。此次与龙芯一起发布的新版本得到了曙光公司、浪潮公司、江苏梦兰公司、北京龙芯中科公司、北京中电科技公司等国产硬件企业的大力支持。”

北京龙芯中科技术有限公司副总工程师张戈认为,“CPU与操作系统作为信息安全产业的两块基石,我国信息产业对二者都有着非常紧迫的需求。而 CPU和操作系统的发展也已经不是单一产品的发展,更多是需要作为一个统一适配的整体来考虑,我们希望和普华的合作,能够实现国产软硬件产品1+1大于2的效果。现在国家各个关键行业对自主化程度要求越来越高,双方的合作有着非常好的市场前景。”

普华与龙芯中科完成3B3000平台的兼容性认证

2019年10月下旬,普华基础软件与龙芯中科技术有限公司(简称:龙芯中科)的3B3000平台进行了联合严格测试,测试结果显示普华虚拟化平台软件V4.3(iSOFT—VMServer)产品在龙芯中科的3B3000平台上顺利安装、运行良好,且整体系统运行稳定,满足用户的关键性应用需求。


普华 & 龙芯中科

龙芯中科

中科院计算所从2001年开始研制龙芯系列处理器,经过十多年的积累与发展,于2010年由中国科学院和北京市政府共同牵头出资,正式成立龙芯中科技术有限公司,旨在将龙芯处理器的研发成果产业化。龙芯中科致力于龙芯系列CPU设计、生产、销售和服务。主要产品包括面向行业应用的专用小CPU,面向工控和终端类应用的中CPU,以及面向桌面与服务器类应用的大CPU。龙芯中科坚持自主创新,掌握计算机软硬件的核心技术,为国家安全战略需求提供自主、安全、可靠的处理器,为信息产业及工业信息化的创新发展提供高性能、低成本、低功耗的处理器。

在国家大力发展自主可控信息安全战略背景下,普华基础软件作为国产操作系统厂商,注重生态发展的重要性,积极与芯片、数据库、中间件、应用软件、硬件等生态上下游厂商保持高度紧密的协同合作,不断完善产品性能,为客户提供更优质的产品和服务。也期待实现与更多的产品实现兼容,共同破解生态瓶颈。


龙芯发布自主指令系统架构 LoongArch

2021年4月15日,龙芯发布新一代自主指令系统架构——龙芯架构 (LoongArch)。


龙芯中科技术有限公司董事长、中国科学院计算技术研究所研究员胡伟武介绍,龙芯架构从整个架构的顶层规划,到各部分的功能定义,再到细节上每条指令的编码、名称、含义,在架构上进行自主重新设计,具有充分的自主性,同时也能兼容多种主流指令系统。目前,支持龙芯架构的龙芯3A5000处理器芯片已经流片成功,基于新架构的完整操作系统已经在3A5000计算机上稳定运行。从其它主流指令系统到LoongArch的二进制翻译系统已经可以在3A5000计算机上演示运行基于其它主流指令系统的复杂应用程序。龙芯中科从2020年起新研的CPU均支持LoongArch架构。


龙芯LoongArch架构的生存和对抗

2021年8月,通用CPU要想在主流市场上有生存和对抗的能力,有两个必须跨越的门槛,一是产品性能,二是软件生态。在桌面计算机和服务器领域,x86架构(指令集)已经称霸了几十年,使人们产生了一种错觉:CPU的竞争只是Intel和AMD的CPU产品的性能竞争。直到近些年,随着智能手机的蓬勃发展,大家才发觉原来还有一种架构(指令集)叫ARM。因为软件生态相互独立,x86进军移动领域铩羽而归,ARM在桌面和服务器市场上初露锋芒。

完全由国内科研人员自主设计的龙芯CPU,如今最新型号3A5000的性能已迈进了主流的门槛,但是它使用的架构(指令集)既不是x86也不是arm,而是自主设计的LoongArch,软件生态又怎样满足各行各业形式多样的需求呢?龙芯以前基于MIPS架构(指令集)扩展了LoongISA,以此为基础发展自主生态,在与国计民生相关的行业中有广泛的应用,今年4月15日又发布了完全自主设计的LoongArch架构,龙芯要让LoongArch生存壮大、并有与其它架构对抗的能力,软件生态的门槛也必须跨越过去。


通用计算机发展以来,基于不同的设计思想,诞生过许多各有特色的CPU架构。“架构”在大多数时候与“指令集”是同义词,它专指CPU指令系统的行为规范,也约定了软件调用CPU物理电路功能时使用的控制信号。而CPU核心的电路设计称为“微架构”或“微结构”,只是这些词语被许多企业和媒体有意无意地混淆了。龙芯曾与MIPS有很深的纠葛,从起步开始,就一直在基于MIPS架构设计自己的CPU,以前使用的LoongISA架构也是以MIPS为基础扩展而来。现在由于各种原因,MIPS架构成为龙芯进一步发展制约因素,因此龙芯决然把全线产品转向自主的LoongArch架构。看到龙芯为保障LoongArch架构成功而实施的种种举措,我觉得龙芯可能细致研究过MIPS的兴衰历程,以史为鉴,兴利除弊。对于MIPS的历史,我认为可以用十六个字来简述:“始于微末,成于天时,衰于割裂,亡于自囚”。

一、教训:MIPS架构的兴衰史

上世纪七八十年代,一些学者认为往CPU中不断添加各种指令是在错误的方向上越陷越深,每一条新指令都需要大量的晶体管去实现功能,许多指令的功能有重合的部分,也使编译器和程序员在选择指令时无所适从。他们提出了一种新的思路,最主要的特征是:

    把各种指令功能尽可能的拆解为最小单元,把相同的单元合并为一条指令,所有的复杂功能都可以使用这些简单指令组合实现;
    固定指令长度,统一指令编码格式,只有加载、存储指令可以读写内存;
    进一步分解指令执行的每一个步骤,便于实现指令流水线设计,尽量使每一条指令都只消耗一个时钟周期,而传统指令系统无法实现流水线。

基于这些思路设计的指令系统都被称为“精简指令集(RISC)”,传统的指令系统就自然地得到了“复杂指令集(CISC)”名称。RISC的每一项重要特点都与传统的指令系统背道而驰,以至于没有哪家公司愿意进行实践,而一些学术项目也没能成功展现RISC的优点。直到斯坦福大学的几名老师带着研究生们成立了MIPS项目组,完成了基于RISC设计思想的MIPS指令集设计,并完成了用于验证的CPU设计和流片,然后在1983年的ISSCC大会上引起了业界哗然。这款CPU的主频只有同期主流商业CPU的一半,晶体管数量也只有几分之一,但却把来自工业界的对手完全击败,展现了RISC设计思想的非凡优势。

在当时集成电路中晶体管的单位成本还很高,MIPS架构指令少,就意味着设计成本和生产成本都能减少,但又能实现比传统架构更高的性能,因此迅速获得了学术界和工业界的广泛关注,也成为了被写进教科书的经典设计。1984年MIPS公司成立,但只是一家很小的创业公司,它无力自己生产芯片,只能通过把设计授权给其他半导体企业来获利。那时候把CPU核心设计成独立IP(作为功能模块存在的芯片核心设计)的技术还不成熟,出售的要么是难以修改的完整CPU设计,要么是非常宽松的架构授权。MIPS允许其它公司基于MIPS架构自行设计CPU,并允许以ASE(应用特定指令集扩展)和UDI(用户定义接口)这两种方式扩展指令集。由于MIPS表现出的性能和成本优势,DEC和SGI等公司均大量地使用基于MIPS架构的CPU产品,MIPS在市场竞争中呈现良好的上升势头。

随着MIPS授权企业的增加,在发展的过程中,几乎每个获得架构授权的公司都会在CPU中加入自己的独特设计以提高在某些应用中的性能,配套的板卡更是五花八门,操作系统和应用软件的兼容性受到了挑战。而Intel与微软的联盟则依靠良好的向前兼容性特性迅速积累了大量的应用软件,整体上看MIPS的CPU市场占有率仍在上升,但MIPS的业务软件却进入了衰退期。

在1991年大约20个公司成立了ACE联盟,希望定义统一的规范和标准,使操作系统和应用软件能够运行在它们的任何一款计算机上。可是MIPS公司自身的实力不足以主导规范定义,每家企业都希望采用自己的标准,在大家的争吵中规范定义的工作进展缓慢。没有主导者的联盟,除了吵架似乎没有什么其它事可以干,直到MIPS彻底倒闭,这个联盟也没有完成规范的制定。目前受到关注的RISC-V我觉得与MIPS有许多相似之处,拥有授权的各家企业都在UDI中扩展自己的指令,但谁都不愿意让步致使大家都不能并入主线,RISC-V的设计者曾经也设计了MIPS,大概是对MIPS执念太深,仍然保留了这个深坑。

那时老牌的半导体企业们基于RISC思想设计的CPU和架构,也纷纷投入了使用,ARM也开展崭露头角,给MIPS公司带来了巨大的压力。在DEC决定抛弃MIPS架构,未来转用自己的Alpha处理器之后,MIPS公司的处境更是雪上加霜。之后SGI成为了MIPS的最大客户,为了拯救MIPS而在1992年完成了对MIPS公司的收购,成为它的CPU设计小组,这是MIPS公司第一次易手,之后MIPS就进入了颠沛流离的模式。

九十年代中期,Intel在P6的设计中采用了RISC的思路,CPU后端使用类RISC流水线的设计,在CISC指令集解码的阶段转换为RISC类的指令,并引入了乱序多发射技术,多管齐下使CPU性能与MIPS当时的旗舰R10000相比不再有明显的劣势。随着先进的微结构和物理设计、工艺实现带来的改进,指令集的劣势被逐渐掩盖,加上Intel在软件生态方面的优势,市场占有率逐年上涨。SGI在与Intel的竞争中业务下降,因营收减少而削减了MIPS新CPU的研发资金。1998年SGI面临现金流问题,于是决定裁掉CPU设计小组,将它恢复为独立的MIPS Technologies公司。壮士断腕的同时,SGI又做了一个更加错误的决定,就是宣布今后使用Intel的IA-64体系结构。

从MIPS被SGI抛弃以后,除了龙芯CPU之外,再也没有其它的高性能MIPS桌面/服务器CPU问世。

2013年MIPS又被Imagination并购成为其子公司,当时仅花了6000万美元。同年,MIPS公司发布了MIPS R5版,次年又发布了与以往版本不兼容的MIPS R6版。

2017年时一家中国公司Canyon Bridge收购了Imagination,但是美国政府反对MIPS被出售,因此MIPS被剥离后单独出售给了Tallwood,以6500万美元成交。这一次中资企业对MIPS收购失败,也令龙芯更加警惕。MIPS当时最有价值的是MIPS系列架构的所有权,至于MIPS手中的那些IP(芯片核心设计),性能已经落后于龙芯的自主设计,但只要这个线头可以牵制中国自主技术的发展,美国就会把它牢牢攥在手里。

2018年MIPS又被Wave Computing收购,成为其独立经营的子公司。

2019年3月底,为了扭转MIPS乏人问津的局面,MIPS开源了R6版,除了指令集,还有免费的IP和相关工具。可当时已经领导了MIPS桌面生态的龙芯却公开宣布不会跟进MIPS R6,给了MIPS最后一击,然后MIPS R6的开源计划仅持续了半年多点就草草取消。从时间推断,龙芯当时可能正在预备或已经开始LoongArch的设计,无论今后是继续发展LoongISA还是切换到LoongArch,削弱MIPS的影响力肯定符合龙芯自身的利益。

2020年Wave Computing破产,然后重组后更名为MIPS,但以后将使用RISC-V架构,MIPS架构被它的所有权人彻底抛弃。

其实,从SGI削减MIPS的研发投入开始,到后来被数次转卖,MIPS都一直缺少足够的研发投入,没有设计新的优秀CPU,也就没有机会诞生有价值的新专利,随着旧专利的过期,还剩下的也就一个MIPS系列架构的所有权,以及不多的仍在使用MIPS架构的客户而已。如果不是美国政府对MIPS的囚禁,MIPS架构本来应该有机会在中国获得新生。

二、抉择:龙芯也抛弃了MIPS架构

龙芯CPU早已经是全世界性能最高的兼容MIPS指令集的通用CPU,当然这也有MIPS公司本身发展停滞的原因。仍在基于MIPS架构设计产品的客户已经罕有,而龙芯注册的CPU技术相关专利数量稳定增长,已经形成可以自我保护的知识产权围栏。龙芯基于MIPS扩展而来的LoongISA架构也有了大量的应用场景。龙芯软件生态也在逐渐完善,近10年来龙芯CPU在各种行业中的应用软件,绝大部分来自国内软件企业,以及龙芯自己移植和开发的基础环境,并不属于MIPS生态,龙芯同样是MIPS生态的割裂者之一。虽然发展良好,但在2019年的时候,龙芯仍然立项开始设计完全自主的新指令集,实现从指令系统到CPU设计都完全自主,也就是现在大家知道的LoongArch架构。龙芯设计LoongArch的原因,我推测主要有以下几点:

1.MIPS R3/R5指令集已经跟不上时代的步伐,其最新的MIPS R6也是重新设计,不能兼容以往的应用程序。如果龙芯跟进MIPS R6,那么以往通过指令实验得到的成果可能就没有用武之地,龙芯注册的大量与指令和微架构相关的专利也可能难以用于MIPS R6指令集。既然自己有能力量身打造一套更加优秀的新指令集,那么就没有必要再去使用别人的设计,毕竟自己无法完全掌握MIPS的发展,完全自主的架构对于发展自主软件生态更有意义。

2.彻底解除MIPS在市场推广方面对龙芯的干扰。无论MIPS多么弱小,只要龙芯使用了它的指令集,总是或多或少地会受到牵制。由于没有MIPS架构的所有权,龙芯就不能把自己扩展的LoongISA架构授权给其他企业,甚至公开指令集手册也会涉嫌侵犯著作权,自主的LoongISA架构无法得到有效的推广,严重影响了龙芯的市场扩张。只有指令集也完全自主,才有开放和自由的权力,否则只要发展到了一定程度,如果别人无法牵制,就可能通过种种手段恶心你。

3.中美关系有恶化趋势,美国对中国科技领域的打击逐渐加强。使用自主指令集,就消除了易受打击的隐患,因为美国的制裁只能针对使用美国技术的企业,或者通过其盟友施加影响,并没有任何理由限制完全自主的架构。即使遭受制裁,也不可能使龙芯陷入休克状态。龙芯CPU的架构和微架构均为自主设计,也可以增强合作企业的信心,对龙芯的发展有利无害。

4.加速自身和行业发展壮大,自主设计的LoongArch架构和相关IP可以向其他半导体企业广泛授权,共建自主生态。可以向高校广泛授权,培养设计人才。通过模块化的指令集设计,比MIPS更加适合嵌入式CPU使用,增强市场竞争能力。培养后备人才和加强嵌入式方向的推广合作,能够提高国内半导体行业的整体实力。IP免费授权可以使合作伙伴的研发成本显著降低,增强合作伙伴的产品竞争力,大家抱团也可以整体加强生存和对抗的能力。

三、新生:LoongArch的后发优势

随着生产工艺进步,CPU中晶体管的单位成本降到极低,英特尔向x86架构中加入了大量的向量、加解密等专用指令,使应用性能数倍提高,证明了CISC并不像RISC的极端支持者所说的那样一无是处。而MIPS架构在发展过程中,也增加了各种功能的新指令,不再如诞生时那样精简,借鉴了CISC的思路。特别是2013年MIPS R5版本中加入了SIMD指令,意味着CISC与RISC之争落下帷幕,两者殊途同归,熔为一炉。

当前的主流指令集,无论ARM还是x86又或者MIPS,无一例外都是从几十条指令起步,逐渐扩充到了上千条指令的规模。因为计算机硬件和软件技术在迅速发展,计算机的应用范围也快速扩大,CPU的指令集也就必须与时俱进。比如80年代电脑内存的常用单位是K,20年前的常用单位是M(1024K),10年前常用单位就变成了G(1024M)。在设计指令时无法预见到未来的变化,当时设计的部分指令就无法适应新的情况,就需要设计新的指令加入到指令集中。当人们开始使用计算机处理图像和声音信息时,就出现了“多媒体扩展指令”用于加速多媒体数据的处理,数据加密的应用流行后,指令集中又出现了加解密的专用指令。但林林总总的新指令被创造出来后,功能相似的旧指令也不能删除,因为需要保持软件兼容性。于是各种成熟指令集的历史包袱越来越沉重,为了能够摆脱历史包袱,Intel设计了不兼容x86的IA-64,MIPS设计了不兼容以前版本的MIPS R6,但都以失败告终。

龙芯的LoongArch架构也遵循了RISC的基本设计思想,对CISC也没有成见,吸收了各种流行指令集设计思路的精华,与龙芯20年来对指令集的理解相结合,完全基于最前沿的CPU和操作系统技术及理论,重新规划了所有指令的功能构成,使LoongArch成为了当前最先进的指令集之一。龙芯总结了各种应用领域对CPU功能的需求,LoongArch架构的指令功能设计面面俱到,基础指令和各种扩展指令总计约2000条,整个指令集设计成熟度极高。因为是全新的设计,又一开始就设计得非常完善,所以未来很多年都不用担心出现历史包袱的问题,将会长时间地保持稳定状态。

龙芯在多年的CPU设计实践中积累了大量的专利技术,专利数量在国内集成电路企业中名列前茅。并且,龙芯中科在指令系统和微结构设计方面的专利均属于保护龙芯核心技术且具备较高技术价值、市场价值和法律价值的专利。针对基于LoongArch打造的龙芯3A5000处理器,所布局的专利申请已达到几百项,已申请专利技术内容涉及指令系统、微结构设计、测试、验证等多个方面。在LoongArch指令系统的知识产权保护方面,除了针对指令系统相关技术进行专利布局外,龙芯中科还委托国内知名知识产权评估机构,将LoongArch与ALPHA、ARM、MIPS、POWER、RISC-V、X86等国际上主要指令系统有关资料和几万件专利进行深入对比分析,最终确认LoongArch基础架构对上述国际主要指令系统中国专利没有侵权风险。对LoongArch扩展指令以及国外的知识产权的评估还在进行中,应该也快要完成了。

有些人认为CPU的指令集并不是指令越多越好,这种观点不能说是错误的,但却是不全面的。在不同的应用场景中,对指令集有不同的需求,对于桌面电脑和服务器来说,由于可能使用的软件类型复杂多样,需要CPU在各种应用中都有合理的性能表现,那么就必须存在大量的指令去满足各种需求。而在用途单一甚至不追求性能的场景中,可能成本和功耗才更加重要,这种时候CPU的指令越少,设计成本和生产成本也就越低。因此不同的领域对指令集有不同的要求,是不能一概而论的。

为了满足各种应用环境的需要,LoongArch借鉴了RISC-V的模块化的设计方案,这种设计的优点是可以针对CPU的用途,对指令集进行剪裁。例如电子门锁、仪表等等嵌入式设备中,可以使用LoongArch精简版中最基础的50条指令就能构成完整的指令系统。指令数量少,CPU微结构中使用的晶体管就少,设计难度、研发成本、生产成本、产品功耗等都可以压制到极低的水平。与RISC-V不同的是,LoongArch的精简版是对完整指令集的剪裁,而RISC-V还需要继续添加各种扩展指令,才能成为成熟的指令集,目前的RISC-V还不能应用到复杂多变的桌面和服务器环境中。

IA-64和MIPS R6失败的主要原因是生态真空,MIPS是无力推动新的生态建设,而Intel则是因为无法承受破釜沉舟的代价,在x86如火如荼的时候,不可能全面转向到IA-64。LoongArch没有Intel的负担,也不像MIPS晚期那样孤立无助,全面转向LoongArch没有太大压力。何况龙芯还在LoongArch中设计了“二进制翻译指令扩展”,与操作系统结合可以完美地兼容运行以往的MIPS/LoongISA应用程序,完全避免了生态真空的窘境。

更重要的一点是,龙芯的软件生态,除了操作系统等基础环境之外,各种常用软件实际上都来自于国内软件厂商。目前所知的情况是,很多软件正在进行或已经完成了向LoongArch架构的迁移,即使没有二进制翻译,当前的基于LoongArch的龙芯生态也和以前相差无几。最差的情况下,也可以把LoongArch的第一款桌面产品3A5000视为对3A4000的常规升级,转向新的指令集并没有影响到原本的软件生态规模,至少LoongArch架构和龙芯的生存不会出现任何问题。

四、基础:避免生态割裂的措施

MIPS衰亡的主因,就是生态割裂。不同的CPU、不同的主板,操作系统和软件都可能不能通用,可能必须为每一款电脑单独做适配,每一家公司都在做自己的生态积累,无法形成合力。ARM也同样向其它公司授权架构和IP,但却没有出现应用软件兼容性的问题,是因为不允许其它公司修改和扩展它的指令集。只不过ARM也和MIPS一样没有定义统一的硬件规范,导致操作系统仍然必须针对不同的硬件进行适配,否则就不能正常使用。

龙芯如果只是自己使用LoongArch指令集,那么肯定不会造成割裂,但能满足各种应用需求的庞大的软件生态需要群策群力,对于嵌入式CPU市场上与ARM和RISC-V的全面对抗,也超越了龙芯的能力。因此龙芯将联合产业链伙伴建立开放指令系统联盟,在联盟成员内免费共享LoongArch架构,并免费提供高性能的IP核。在开放的情况下,要如何避免生态割裂呢?龙芯总结了历史上的经验教训,计划并已经完成了多种举措:

1.保持指令集的统一。从龙芯LoongArch的相关资料上来看,龙芯没有设计类似MIPS的UDI那样的用户扩展部分。而是采用与ARM相似的方式,如果联盟的成员建议增加某些指令功能,那么就由大家协商是否加入下一版的指令集中。RISC-V的联盟早先与MIPS的ACE联盟相似,成员都希望自己的规范成为标准,而在Intel收购了SiFive之后,很可能出现一家独大的局面,其他成员丧失发言权。LoongArch联盟为了避免类似的情形,整个联盟的运作会接受有关部门的监管,保障联盟的决议和行动符合规范且有序进行。

2.制定硬件规范的标准。龙芯制定了自己的UEFI固件规范,凡是遵守规范设计的主板,就不会存在操作系统无法安装或启动的问题。龙芯LoongArch架构的中断模型已经得到ACPI支持,成为国际标准之一。ACPI支持的另外两种架构是x86和ARM64,LoongArch是第三种,而MIPS由于一直没有形成统一的规范,RISC-V也还不够成熟,ACPI的标准暂时与它们无关。今后凡是符合ACPI规范的硬件,在龙芯电脑上与电源管理相关的功能就可以正常使用,不需要操作系统单独添加支持。休眠唤醒、电池节能等都能有统一的控制方式,不必每种操作系统、每款主板都单独适配。

3.使用统一的Linux核心。龙芯已经为LoongArch架构向GNU组织注册了ELF machine,值为258,这意味着Linux主线和各种开源软件的上游都可以接受针对LoongArch的优化代码。而在以前,LoongISA因为缺少这个独立身份标识,如果提交的补丁与MIPS不兼容是会被拒绝的,只有龙芯和龙梦提供的Linux核心才有对LoongISA架构的优化,各种基础库以及编译器则只有龙芯官方提供的才有足够的优化。如果用户使用没有相关优化的软件,CPU的性能就无法发挥,无论软件使用体验还是性能测试成绩都和真实水平相差极大。今后不会再出现这种情况了,从上游开始就提供了对LoongArch的优化,龙芯不但可以自己维护基于LoongArch的Linux核心和基础环境,社区开发者也同样可以提交针对LoongArch的各种补丁程序,修改bug、优化性能。

4.不同用途的CPU使用不同的指令集版本。LoongArch是模块化设计,并分为三个版本,分别是LoongArch64、LoongArch32、LoongArcn32精简版。在追求超低功耗和成本的应用中,可以使用仅50条指令的精简版;对性能有一定要求的设备可以使用32位或64版,且可以只保留基础指令集,不需要实现向量、虚拟化、二进制翻译等扩展指令;桌面和服务器则使用完整的LoongArch64版本。看起来这样的设计与指令集统一背道而驰,实际上则不是这样,因为LoongArch64完全兼容LoongArch32及精简版的应用程序,LoongArch32也能完全兼容32位的精简版。也就是说桌面和服务器可以兼容其它设备的应用程序,而智能冰箱本身也不会有看电影跑虚拟机的需求,分层次的设计解决了成本和性能的冲突,又不会造成生态碎片化,是很聪明的折衷方案。

五、成长:完善生态和产品,加速向主流市场迈进

龙芯使用的Linux核心和各种基础库一直是由龙芯自己维护,包括Java虚拟机、.net core、浏览器/JavaScript等支撑应用运行的基础环境,全都是由龙芯自己开发或移植。龙芯最初选择MIPS是因为它有基础的软件生态,但是没落的MIPS无力跟进软件技术的发展,迫使龙芯进化出了底层核心软件的开发和维护能力。因为掌握了能力,龙芯再把这些原本在LoongISA上进行的工作迁移到LoongArch也轻而易举,已经有上万个开源软件包完成了迁移。被龙芯称为“3+3”的三大编译器(GCC、LLVM、Golang)和三大虚拟机(Java、JS、.net)也完成了移植,正在持续进行性能优化。

龙芯最初低估了国内软件厂商的热情,担心新推出的基于LoongArch的3A5000没有软件可用,就着力于提升翻译LoongISA软件的效率,如今看来似乎成了屠龙之技。因为基础环境和开源软件都完成了移植,成为了LoongArch的原生版本。而在行业应用方面,因为行业软件一般都是由国内的软件厂商开发,向LoongArch的移植工作也在有条不紊地进行,LoongArch的原生生态已经不输于原本的LoongISA,针对MIPS/LoongISA的二进制翻译能力提前结束了使命。

对x86的Linux和Windows应用程序的二进制翻译,功能已经基本跑通,成功地在3A5000上运行了PhotoShop,这是一个里程碑似的成就。翻译运行的效率还需要持续地改进,目前只有30~70%,预计年底能够达到80%效率的预定目标。今后还会逐步增加对ARM和RISC-V应用程序的翻译运行功能,预计翻译效率达到90%左右。

但是二进制翻译始终会存在性能损失,现有技术条件下也不可能完全解决兼容性问题,能带来最佳的用户体验的仍然是原生的应用软件。一种全新架构的推广和市场扩张,必然需要大量的应用软件支持,这能够为沉寂的桌面/服务器软件行业注入新的活力。CPU与软件相辅相成,两者彼此需要,一些全新开发的或用户较少的应用软件如果能在初期就在新的平台上站稳脚跟,随着新平台的用户规模扩大,甚至能使这些软件拥有挑战老牌同类软件的能力。比如WPS在国产系统中几乎成为了所有用户的首选,但在Windows系统中却仍然难以动摇Office的地位。国产CPU、国产操作系统、国产应用软件三者的紧密结合,能够推动国内整个IT行业共同进步。

龙芯中科是一家CPU设计企业,建设软件生态是推广自主CPU的手段,设计出性能更高、自主程度更高的CPU及配套的硬件产品才是目的。

CPU方面,龙芯产品实现了从嵌入式到桌面/服务器的全方位覆盖,还包括多种特种芯片。最新的桌面CPU型号是3A5000,使用境内的12nm工艺生产,集成4个核心,主频2.5GHz。依靠优秀的核心设计能力,其单核性能在国产CPU中达到了最高,整体性能大致有Intel/AMD当前的低压版4核CPU的水平。另外还有16核的3C5000及3C5000L服务器CPU,因成本原因暂不适合作为桌面CPU销售,估计实际性能与当前主流的8核i7接近。今年下半年还会完成64核的产品,性能可以对标Intel当前服务器CPU的中端型号。龙芯的CPU支持多路互联,整机可以达到256个核心,可以部分代替Intel的服务器产品。

与CPU配套的芯片组产品,除了自主设计的7A1000之外,升级版本7A2000也即将完成。7A2000支持DDR4 3200,集成了GPU,对于办公主机和非游戏/设计用途可以省下显卡的成本。7A2000芯片组很有可能与3A5000 CPU同时发布,3A5000的整机成本也很可能低于上一代3A4000整机,进一步接近市场主流价位。仍然在设计中的3A6000系列CPU将成为龙芯正式进军主流市场的产品,龙芯还在试验中的独立显卡将来也会成为国产GPU产品的一员。

除了国内,龙芯的产品也在跟随一带一路向国外推广,目前进展尚未公开,但肯定已经有了一定的销量。再过几天3A5000就会正式发布,这款产品的市场表现应该能超过上一代3A4000。除了新创市场和行业应用之外,也一定会有规模更大的普通市场试水,以及面向国外的出货量。

六、培养:龙芯LoongArch面向校园和社会的推广

20年前中科院计算所打算研发CPU时,找不到有现代CPU设计经验的人。让胡伟武担纲Godson-1的设计任务,我猜可能是因为他在上大学时解锁了手搓CPU的成就,用分离元件焊出了一块与8086(Intel早期的16位CPU产品)等效的电路板。因为起步时人才匮乏、资料匮乏,龙芯就特别注重CPU设计人才的培养。20年来不但龙芯自身向国内各大半导体企业输送了大量的芯片设计人才,还特别注重与高校合作培养后备力量。

龙芯编写了面向本科和研究生的《计算机体系结构》教材,并设计了多款用于CPU实验的教学及实验工具,积极推动高校计算机教学从“用”到“造”的转变。龙芯已连续举办多届以CPU设计为主题的“龙芯杯”大赛,引导学生们学习和实践CPU设计。近日公开的由中科院牵头的基于RISC-V架构的“香山”开源CPU,其设计人员就有部分是“龙芯杯”历届获奖选手。在LoongArch推出后,龙芯为进一步加强对高校计算机体系结构教学和实验的支持,已经启动了“LoongArch高校开源计划”以及“百城千校”计划。“高校开源”侧重于CPU设计,“百城千校”主要是培养软件人才。

RISC-V之所以在一些高校受到宠爱,主要是因为它的最小级指令数量很少,学生学习难度小、进行CPU设计实践的门槛较低,因而很大程度上替代了传统的MIPS和ARM。龙芯的LoongArch32精简版也有同样的特点,仅50条指令就能构成完整的指令系统,非常适合教学和实验。为了让学生对CPU设计有直观的了解,龙芯还提供了开源IP供学生学习和参考,并提供了CPU测试和验证工具包,学生可以方便地检验CPU设计的正确性,降低了找寻设计错误的难度和时间开销。

为了改变中小学的计算机课成为Windows应用培训的现状,龙芯编写出版了面向中小学的信息课教材,邀请中小学校长参观龙芯总部,了解龙芯CPU在各行业中的应用。还面向中小学教师开展国产操作系统的使用培训,并推广龙芯的数字化教学系统。与厂商合作开发基于龙芯嵌入式CPU的智能机器人玩具,吸引孩子们从小关注国产CPU。

面向软件企业的技术培训也一直在分期分批地进行,主动去全国各大城市轮流开展基于国产计算机平台的软件开发和移植技术讲座,并解答各种技术问题,取得了很大的成效。现在龙芯平台来自国内软件厂商开发和移植的应用软件已能基本满足许多行业的应用需求,软件的数量和类型也在迅速扩充。


七、未来:彻底打破指令集藩篱

现在流行的指令集不算多,但对软件开发人员和用户已经造成了很大的困扰。本来Java和.net的目标是为了解决软件跨架构的问题,但并不是所有平台都有足够完善的Java和.net虚拟机支持,并且软件虚拟机始终难以满足对效率有苛刻要求的应用程序,因此实际上大多数软件项目仍然离不开编译型的开发语言和工具。对于开发人员而言,当开发环境和运行环境不是相同的平台时,软件的测试和调试就会比较繁琐。每次修改代码后,编译完成还需要导出甚至安装,会严重降低开发效率。购置与运行环境相同架构的设备用于测试,也提高了跨平台应用开发的门槛和成本。甚至当交叉配置的环境无法成功配置的时候,还必须把运行环境配置成开发环境,在真机上进行开发和调试,又进一步增加了开发工作的复杂程度。

龙芯有一个设想,就是在龙芯电脑上进行任何架构的应用软件的开发及调试,在龙芯电脑上也可以运行任何架构的应用软件。龙芯的二进制翻译技术令这个设想具有了成为现实的可能,虽然现在距离实现这个目标还有比较遥远的路程。我个人认为这个目标是完全可以实现的,只要龙芯电脑成为软件开发者的宠儿,龙芯的软件生态问题就会得到彻底的解决。我作为一名软件开发者,对此保持高度期待!

如果能够实现在龙芯电脑上高效而简单地运行任何架构的应用程序,对于电脑用户来说,也不必再区分下载的是安卓的APK,还是Windows的EXE,Linux软件也不需要再区分CPU架构。那时用户对于架构的概念,又会像桌面电脑只有x86可选时那样变得模糊。现在有些产品已经有了这样的雏形,未来的计算机可能真会发展成这种形态。

对未来可以无限畅想,现实情况是龙芯只要在常规市场上大量铺开,就必然出现与进口同类产品对抗的局面。对抗不是消灭对手,而是在保障自己生存的情况下与对手共存,为市场增加一个新的选项。龙芯消灭不了x86和ARM,国外企业也消灭不了龙芯,但是龙芯想要进一步发展,产品就必须走出新创市场。龙芯为推广自主CPU和自主架构脚踏实地步步为营,在研发投入不到主流CPU零头的情况下努力提升产品性能,在销量与主流产品相差甚远时尽力降低成本,这都是为必然出现的高烈度市场搏杀做出的准备。按照龙芯现在的发展势头,我相信再过一两年,龙芯的性能和成本就能与市场主流产品持平,然后成为部分个人用户的新选择。


主流编译软件对LoongArch的支持

2022年2月中旬消息,LLVM 15.0 开发树已出现支持 LoongArch CPU 架构的初始补丁。

LoongArch 是龙芯打造的自主指令系统架构,LoongArch 包括基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,近 2000 条指令。龙芯架构不包含MIPS指令系统。Loongson 3 5000 系列是第一款支持此 ISA 的硬件。

虽然开源 LLVM 编译器堆栈已提供初步的 LoongArch ISA 支持,补丁也已被合并,但对龙芯开发团队而言,还有许多工作需要完成,以改进 LoongArch 的编译器工具链和 Linux 内核支持,尤其是在代码生成方面。龙芯工程师正在积极为 LoongArch 添加编译器支持,这与他们为 GCC 所做的工作相似。

继LLVM之后,GCC 编译器接受龙芯 LoongArch

2022年3月下旬消息,GCC 指导委员会 (GCC steering committee) 批准了龙芯的 LoongArch 移植,并指派了两位中国开发者作为维护者,预计会在未来几周加入到 GCC 12 稳定版本。公告写道中,目前已进入最后的技术审查和补丁批准阶段,后续的工作包括与 GCC 版本发布经理协调,以便将补丁合并到开发树,然后加入到 GCC 12 中。LoongArch ISA 文档

据称龙芯此前就一直在做 GCC 编译器的移植工作,以及对 Linux 内核的修改和对其他软件栈的支持。其中对 Linux 内核的修改被批评复制了大量 MIPS 的代码,解决了此问题后,Linux 内核支持的主要障碍变成了缺乏主线 GCC 编译器的支持。

龙芯3C5000处理器正式发布:采用完全自主的LoongArch指令架构

在 2022 年6月的 LoongArch 生态发展暨通明湖创新应用论坛上,龙芯中科正式发布了面向通用计算、大型数据中心、云计算中心的计算需求的龙芯 3C5000 服务器处理器。


龙芯 3C5000 处理器 | 图片来自龙芯中科

龙芯中科表示,龙芯 3C5000 处理器采用完全自主的 LoongArch 指令架构,具备超强算力,16 核心单芯片 unixbench 分值 9500 以上,双精度计算能力达 560GFlops,16 核处理器峰值性能与典型 ARM 64 核处理器的峰值性能相当,并支持最高 16 路互连,搭配新一代龙芯 7A2000 桥片,PCIe 吞吐带宽比上一代提升 400% 以上。

据介绍,龙芯 3C5000 处理器可满足通用计算、大型数据中心、云计算中心的计算需求。该处理器通过芯片级安全机制可为等保 2.0、可信计算、国密算法替代、网络安全漏洞防护等提供 CPU 级内生支持。

龙芯 3C5000 处理器亮点如下:
采用完全自主的 LoongArch 指令架构;
16 核心单芯片 unixbench 分值 9500 以上,双精度计算能力达 560GFlops,16 核处理器峰值性能与典型 ARM 64 核处理器的峰值性能相当;
支持最高 16 路互连,搭配新一代龙芯 7A2000 桥片,PCIe 吞吐带宽比上一代提升 400% 以上;
可满足通用计算、大型数据中心、云计算中心的计算需求。该处理器通过芯片级安全机制可为等保 2.0、可信计算、国密算法替代、网络安全漏洞防护等提供 CPU 级内生支持。

龙芯为 LibreOffice 添加 LoongArch 支持

根据 LibreOffice 代码仓库的合并记录,2022年8月中旬它合并了 “支持龙芯 Loongarch64 架构” 的 commit。LibreOffice 是一款知名度极高的开源办公套件,这意味着龙芯 LoongArch 架构的生态得到了进一步扩大。根据代码提交的信息,为 LibreOffice 开源办公套件添加 LoongArch 支持包含 1630 行新的代码,其中包括从构建系统到数百行新的 C++ 代码变化。目前 LoongArch 对 LibreOffice 的支持只是针对 Linux 平台进行构建。龙芯自主指令系统 LoongArch 从顶层架构,到指令功能和 ABI 标准等,全部自主设计,不需要国外授权。LoongArch 吸纳了现代指令系统演进的最新成果,因此它的运行效率更高,相同的源代码编译成 LoongArch 比编译成龙芯此前支持的 MIPS 指令系统,动态执行指令数平均可以减少 10%-20%。

LoongArch 还融合了 X86、ARM 等国际主流指令系统的主要功能特性,并依托龙芯团队在二进制翻译方面十余年的技术积累创新,实现跨指令平台应用兼容。根据之前的报道,至此,LoongArch 自主指令系统架构已获得 .NET、GCC、LLVM、FFmpeg、UEFI(UEFI 规范、ACPI 规范)以及国内龙蜥开源社区、欧拉 openEuler 开源社区的支持。

龙芯中科通用SOC芯片龙芯2K2000流片成功,集成自研GPU

2023年1月有关龙芯的好消息不少,前一段时间龙芯中科面向服务器市场研发龙芯3D5000初样验证成功,这是一款32核处理器,由两块龙芯3C5000芯片通过Chiplet技术封装实现。龙芯3C5000是龙芯中科在去年6月发布的LoongArch架构(龙芯架构)新品,最高配备16个内核,采用中芯国际的12nm工艺制造。近日龙芯中科宣布,龙芯2K2000在2022年12月中旬完成了初步功能调试及性能测试,达到其设计目标,已全面展开解决方案调试,近期将推出试用。


龙芯2K2000芯片尺寸为27 x 27 mm,塑封版本采用FC-BGA883封装,同时还支持高等级封装。其集成了两个LA364处理器核,典型工作频率为1.5GHz,共享2MB的L2缓存,SPEC2006INT(base)单核定/浮点分值达到13.5/14.9分。作为SoC,龙芯2K2000芯片还集成了龙芯自主研发的GPU,并优化了图形算法和性能。

龙芯2K2000芯片支持64位DDR4-2400内存(可带ECC)、PCIe 3.0、SATA 3.0、USB3.0/2.0、HDMI及DVO显示接口、GNET及GMAC网络接口、音频接口、SDIO及eMMC等接口。此外还集成了安全可信模块,Rapid IO、TSN、CAN等特色工业接口。初步测试结果显示,龙芯2K2000芯片在高性能模式下约为9W,平衡性能模式下约为4W。通过丰富的低功耗控制方法,让龙芯2K2000芯片在功耗方面具有良好的可伸缩性,以满足不同应用场景的使用需求。

目前基于LoongArch架构的龙芯阵容越来越丰富,包括了龙芯1C102、1C103,2K0500、2K1000LA、2K1500、2K2000,3A5000、3C5000、3D5000等,形成了从低到高的完整系列产品线。


龙芯发布 3D5000 高性能服务器 CPU

2023年4月8日上午,在鹤壁举行的信息技术自主创新高峰论坛上,龙芯中科正式发布了新款高性能服务器处理器 ——— 龙芯 3D5000。其采用龙芯自主指令系统龙架构 (LoongArch),无需国外授权,具备超强算力、性能卓越的特点,可满足通用计算、大型数据中心、云计算中心的计算需求。

据介绍,龙芯 3D5000 通过芯粒(chiplet)技术将两个 3C5000 的硅片封装在一起,是一款面向服务器市场的 32 核 CPU 产品。架构上龙芯 3D5000 内部集成了 32 个高性能 LA464 内核,频率 2.0GHz,支持动态频率及电压调节,片内 64MB L3 共享缓存,8 通道 DDR4-3200 ECC 内存,5 个 HT 3.0 高速接口,实现了双路、四路 CPU 扩展支持。


3D5000 采用 LGA-4129 封装,TDP 功耗为 300W,不过典型功耗只有 150W,算下来每个 CPU 大约是 5W 功耗左右。性能方面,龙芯 3D5000 的 SPEC 2006 分数超过 425,浮点部分采用了双 256bit 向量单元,双精度浮点性能可达 1TFLOPS(1 万亿次),是典型 ARM 核心性能的 4 倍。芯片内还集成了安全可信模块,可以取代外置可信芯片;还支持国密算法,内嵌独立安全模块,高性能加密解密效率可达 5Gbps 以上,足以替代高性能密码机。


SMT (Simultaneous Multi-Threading) 是一种把单个物理核心虚拟为多个逻辑核心的技术,可以有效地提高 CPU 内部各种处理单元的利用率。3A6000 是国内自主研发的首款支持 SMT 技术的通用 CPU 产品,集成 4 个龙芯自主设计的 LA664 核心,每个物理核心有 2 个逻辑核心。其主频为 2.5GHz,采用四核、双 DDR4-3200 内存通道,IPC 高,单线程定点 base 分值超过 40 分,浮点分值超过 50 分,多线程定点分值超过 140 分,浮点分值超过 130 分。龙芯中科表示,基于目前的判断,龙芯 3A6000 的性能可对标 7nm 工艺制造的 AMD Zen 2 架构,相当于英特尔第 10 代酷睿的水平。

在 2020 年之前,龙芯 CPU 的指令集基于 MIPS 进行扩展;在 2020 年之后,龙芯所有新设计的 CPU 都基于自主设计的 LoongArc h 架构。龙芯于 2019 年发布的 3A4000 每 GHz 性能首次接近 AMD Zen1,3A5000 主要是因为更换成了 LoongArch 架构,使 IPC 进一步提高了 10%。2023年6月龙芯向 Linux Kernel 上游提交了支持 3A6000 超线程功能的补丁,以提供对 3A6000 超线程功能的检测和调度。

龙芯入局显卡市场

龙芯公司2023年6月透露目前在通用计算 GPU 方面已经完成了相关 IP 的设计,并正在进行验证和优化;计划在 2024 年第一季度推出第一个集成自研通用计算 GPU 核的 SoC 芯片。此外,龙芯还将在此基础上开发兼顾显卡和计算加速卡功能的 GPGPU 芯片,并计划于同年下半年流片。

早在 2020 年 1 月份,龙芯布成立六支研发突击队,其中就有 GPU 突击队。2021 年 12 月,龙芯 IPO 上市成功,募集资金 35 亿元,其资金投向除了先进制程的 CPU 之外还有高性能 GPU 芯片及系统研发。2022 年 7 月份,与龙芯处理器配套的桥片龙芯 7A2000 发布,不但高速 I/O 接口达到市场主流水平,还首次集成了自研的 GPU 核心。该 GPU 集成龙芯自研的统一渲染架构 GPU 模块,核心频率 400-500 MHz,API 图形接口支持 OpenGL 2.1、OpenGL ES 2.0。

新一代处理器龙芯3A6000研制成功

龙芯中科于2023年7月下旬宣布,基于龙架构的新一代四核处理器龙芯 3A6000 流片成功,代表了我国自主桌面 CPU 设计领域的最新里程碑成果。


根据中国电子技术标准化研究院赛西实验室测试结果,龙芯 3A6000 四核处理器在 2.5GHz 运行频率下,SPEC CPU 2006 base 单线程定/浮点分值分别达到 43.1/54.6 分,SPEC CPU 2006 base 多线程定/浮点分值分别达到 155/140 分,双 DDR4-3200 内存通道 Stream 实测带宽超过 42GB/s,Unixbench 实测分值超 7400 分。综合相关测试结果,龙芯 3A6000 处理器总体性能与 Intel 公司 2020 年上市的第 10 代酷睿四核处理器相当。

注:上述测试结果基于龙芯 3A6000 4 核 8 线程 2.5GHz CPU,8GB DDR4 3200 内存,256 NVME 硬盘,Loongnix(V20.4)操作系统,LoongArch64 gcc8.3 编译器测试平台。

龙芯 3A6000 处理器采用龙芯自主指令系统龙架构(LoongArch)。龙架构从顶层架构,到指令功能和 ABI 标准等,全部自主设计,无需国外授权。

据介绍,龙架构得到了上百个与指令系统相关的国际软件开源社区的支持,得到了统信、麒麟、欧拉、龙蜥、鸿蒙等操作系统的支持,得到了WPS、微信、QQ、钉钉、腾讯会议等基础应用的支持,已形成与 X86、ARM 等并列的基础软件生态。

龙芯 3A6000 处理器是龙芯第四代微架构的首款产品,集成 4 个最新研发的高性能 6 发射 64 位 LA664 处理器核。主频达到 2.5GHz,支持 128 位向量处理扩展指令(LSX)和 256 位高级向量处理扩展指令(LASX),支持同时多线程技术(SMT2),全芯片共 8 个逻辑核。片内集成双通道 DDR4-3200 控制器,集成安全可信模块,可提供安全启动方案和国密(SM2、SM3、SM4 等)应用支持。较上一代龙芯 3A5000 桌面 CPU,龙芯 3A6000 在相同工艺下单线程性能提升 60% 以上,全芯片多线程性能成倍提升,为用户带来更极速的性能体验。此外,龙芯中科正在研发的服务器 CPU 将比上一代 16 核龙芯 3C5000 以及 32 核龙芯 3D5000 服务器 CPU 性能成倍提升。

龙芯 3A6000 与龙芯 3A5000 等龙架构 CPU 实现软件兼容。日前龙芯向 Linux 内核上游社区提交了支持 3A6000 超线程功能的补丁,以支持对 3A6000 超线程功能检测和调度的增强特性。龙芯 3A6000 进一步完善和提升了软硬协同的二进制翻译水平,可以运行更多跨平台应用,并满足各类大型复杂桌面应用场景。

龙芯 3A6000 桌面处理器正式发布

在2023年11月未旬举办的 2023 龙芯产品发布暨用户大会上,龙芯 3A6000 国产桌面通用处理器正式发布。

央视新闻的报道原文:龙芯 3A6000 采用我国自主设计的指令系统和架构,无需依赖任何国外授权技术,是我国自主研发、自主可控的新一代通用处理器,可运行多种类的跨平台应用,满足各类大型复杂桌面应用场景。


其推出标志着我国自主研发的 CPU 在自主可控程度和产品性能方面达到新高度,性能达到国际主流产品水平。

据介绍,龙芯 3A6000 拥有四个物理核/八个逻辑核,主频 2.0-2.5GHz,采用第四代 64 位微架构 LA664,实现 SMT2 技术,支持双通道 DDR4-3200 内存,片内集成安全可信模块,支持安全启动和国密算法(SM2、SM3、SM4)等。

龙芯 3A6000 突破了同时多线程 (SMT, Simultaneous Multi-Threading) 技术,支持 CPU 核心在同一时刻运行多个线程,相比上一代龙芯 3A5000 的单线程性能提升 60%,多线程性能提升 100%。

根据龙芯官方实测,2.5GHz 龙芯 3A6000 性能可达英特尔 10 代酷睿 3.6GHz i3-10100 的水平,下一步争取使用成熟工艺达到英特尔、AMD 先进工艺 CPU 的性能。另外龙芯后续将推 3B6000、3B7000 等桌面端产品,而在服务端已完成龙芯 3C6000 设计,笔记本端已完成 2K3000 前端设计。

华硕电脑开放平台中国区总经理俞元麟在其 B 站账号更新的视频介绍了龙芯 3A6000 CPU 的性能表现:《国产最强!龙芯中科 3A6000 台式机 CPU 性能测试》。

华硕发布龙芯 3A6000 消费级主板


在2023龙芯产品发布暨用户大会上,华硕宣布推出支持龙芯 3A6000 处理器的消费级主板 ——XC-LS3A6M 主板。


华硕电脑开放平台中国区总经理俞元麟在大会现场展示了龙芯 3A6000 的测试成绩,在多核定点/浮点成绩上强于英特尔 i3-10100 处理器。


此外,龙芯 3A6000 可以超频到 2.63GHz,而在液氮下保守可跑到 3GHz(BIOS 限制),后续还能继续提升。


说了周边硬件方面,在来看软件侧:.NET 8 SDK 8.0.100-ea1(试用版)

2023年11月21日龙芯发布 LoongArch64 架构的 .NET 8.0-SDK 基于上游社区 .NET 8.0-SDK 制作,在生命周期维护范围内,会持续进行更新升级。

龙芯 LoongArch64 版 .NET 8 下载地址
开发过程中可能需要依赖一些平台相关的 nupkg 资源,可在龙芯 Nuget 源搜索下载。
相关配置方法见龙芯 Nuget 源配置方法。

特性更新:同步上游社区 v8.0.100 新特性。

关键更新:
同步上游社区 v8.0.100 更新。
默认开启 DOTNET_TC_QuickJitForLoops,支持 OSR 堆栈替换特性。
默认集成 PE32 + 格式 System.Private.CoreLib.dll 核心库文件,提升了 .NET8.0 SDK 在 LoongArch64 平台上的性能表现。
支持 crossgen2 特性。

龙芯平台 .NET 是龙芯公司基于开源社区 .NET 独立研发适配的龙芯版本,官方称会长期进行安全更新和错误修复,并持续进行性能优化。

社区 .NET 7 版本开始已经原生支持 LoongArch64 架构源码,具备如下特性:
跟进社区最新版本,获取及时的安全更新和问题修复
支持多 OS:Loongnix、Loongnix-Server、统信 UOS、银河麒麟等 64 位操作系统
支持 LoongArch 架构
明确的、多版本的产品维护计划
专业团队支持

从龙芯 2019 年启动 .NET 的研发工作,2022 年完成了 LoongArch64 架构代码合并到 .NET 社区主干分支上,2023 年 LoongArch64 架构代码的开发完全和社区同步,从而保证了同时发布 LoongArch64 的 .NET 8。



该文章最后由 阿炯 于 2023-11-29 09:45:33 更新,目前是第 3 版。