国产龙芯(LoongArch)运作记录
2010-07-14 09:02:24 阿炯

龙芯20年
龙芯杯开源软件大赛火热进行
Linux内核、LLVM、GCC均已支持龙芯LoongArch架构
Arch Linux 发行版正式支持龙芯架构
Debian 支持龙芯 LoongArch 架构
俄罗斯企业基于龙芯处理器生产电脑和服务器
LoongArch和RISC-V的简单对比


龙芯20年


1998年,中国科学院开展知识创新工程,希望在战略高技术、重大公益性创新和重要基础前沿研究领域取得新的突破,其中自主可控芯片对国家安全的意义显得尤为重要,当时中国科学院计算技术研究所研究员胡伟武主动请缨组建CPU设计队伍,在中科院知识创新工程的支持下,2001年5月龙芯课题组正式成立。


中间为胡伟武

胡伟武之前曾发明过一个虚拟共享存储系统,并以自己女儿命名JIAJIA(佳佳,该系统实现锁的高速缓存一致性协议,并在国际上的同类系统中首次实现了把多台机器的内存空间组织成更大大的共享空间)。被二十多个国家和地区的100多个科研单位使用,由此享有盛誉,这也是为什么放心让他组建龙芯课题组的原因。

得到了中科院支持的胡伟武课题组花费了仅三个月时间,龙芯1号设计与验证系统就成功启动 linux操作系统,并且通过了由中国科学院组织的鉴定。

2002年8月10日,我国首款通用CPU“龙芯1号”诞生。当时龙芯研发团队只有几十个人、经费也只有几千万,但还是将“龙芯1号”造了出来。这款芯片采用了0.18微米工艺,包含近400万个晶体管,主频最高可达266MHz,龙芯一号还被用于国产龙腾服务器当中,可以说打破了我国长期依赖国外处理器产品的尴尬局面。


芯片是“集成电路”的俗称。集成电路有模拟集成电路和数字集成电路,如果一片集成电路(芯片)中既有模拟电路又有数字电路,则称其为数模混合集成电路。
CPU是中央处理器,包含运算器和控制器,是数字电路。如果将运算器和控制器集成在一片集成电路上,就称之为微处理器。目前人们将中央处理器与微处理器已经混为一谈了。
因此,CPU是一种数字芯片,只是众多芯片中的一类。CPU的制造是一项极为复杂的过程,当今世上只有少数几家厂商具备研发和生产CPU的能力。
当时MIPS架构在大学、科研单位有良好的基础,而linux系列也被认为未来潜力很大,完全可以和windows抗衡,所以龙芯一号基于“自主可控”、个人消费级CPU的想法,选择了MIPS架构+linux系统。

这里科普一下,在当今整个世界,总共有四种主流架构。分别是ARM、X86、MIPS、RISC—V。


ARM主要是运用于移动通讯领域、像我们熟知的消费性电子产品,例如可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏),电脑外设(硬盘、桌上型路由器),甚至导弹的弹载计算机等军用设施。

X86 主要是运用于 PC 中的CPU,巨头是英特尔公司。RiSC-V架构可以设计服务器CPU,家用电器CPU,工控CPU和用在比指头小的传感器中的CPU。MIPS架构广泛被使用在许多电子产品、网络设备、个人娱乐装置与商业装置上。

龙芯一号诞生的时候和英特尔之间的差距并不大,所以龙腾服务器才会采用龙芯一号,龙腾服务器是由在超级计算机领域有着很大影响力的中科曙光公司全自主研制,曙光龙腾服务器被广泛应用在了多个政府、军工、航天等保密要求高的领域中。由此可见龙芯在诞生初期,账面实力还是很能打的。

不过当时英特尔当时采用的是windows+X86的组合形式,得益于微软和英特尔的强大影响力,这样的组合形式在后来成为了市场主流,生态也得到了进一步完善,由此,押错注的龙芯一号采用的MIPS架构+linux系统在后来就完全被英特尔甩了几条街。

后来龙芯CPU的研制经历了很多的波折,大家要清楚,芯片的研发,可以说不仅研制过程十分复杂,包含了从结构设计、逻辑设计、功能验证、可测性设计、定制设计、物理设计等各个环节,而且十分烧钱,龙芯研究团队从中科院拿来的几千万根本不够用。最重要的是芯片的研发有时候甚至好几年都没有成果。

因此在研制完成龙芯3A1000之后,2010年,龙芯团队转型成立公司,企图通过企业化运营让龙芯可以投放到更大的市场,为龙芯的研发带来更多的资金。


2019年,国科大录取通知书信封内就夹有一枚龙芯3A1000处理器。国科大校长李树深在信里写道:它看上去很小,却可以驱动庞大的世界。它朴实无华,正是中国科学院砥砺创新自主研发的写照,希望同学们透过芯片,读懂更多,看得更远!

而龙芯成立公司之后的第一个作品就是龙芯3B1500,这款产品当时可以说差点胎死腹中,首先是第一次流片完成后芯片测试并不顺利,连操作系统都启动不了。最终发现是由于芯片可测性设计部分的逻辑设计错误,在功能模式下误把内存引脚置为测试状态,导致芯片访问不了内存,通过FIB(用离子束改变硅片上的连线)修复后功能正常。

后来还相继发生了多核互相访问引起了死锁、处理器核Cache一致性引起了问题以及工艺制程等问题。之所以会出现这么多的问题,是龙芯团队转型公司之后因为管理的问题所导致的,毕竟胡伟武他们之前是在中科院旗下以科研的形式从事龙芯的研发,还保持着学院派导向,采用企业管理化制度一开始难免水土不服。


胡伟武

龙芯3B1500峰值浮点运算速度达到160GFLOPS,还算不错。龙芯3B的报告引起了很大反响,论文分别被国际顶级会议Hotchips和ISSCC录用,美国IT Times对此专门进行了报道,MIT也发表评论,认为龙芯3B的浮点性能超过了同期的Intel处理器。但胡伟武认为龙芯3B1500的水准与国际主流水准还差的非常远。

在龙芯3B1500研发的时候,胡伟武就已经决定下款龙芯芯片不能再采用国外的架构了,要自主研发架构,所以从2011年开始,自研架构项目开始立项,结果数年的研发,GS464E自研微架构终于诞生,GS464E为四发射64位微架构,GS464E项目确立时的目标是Intel Ivy Bridge和IBM Power7,实际研发完成后,性能还略有提升。


2015年,龙芯推出的全新一代“龙芯3B2000”处理器,就是采用龙芯GS464E自研架构,在功能和功耗方面与上一代龙芯3A1000相当的基础上,性能得到了成倍提升,同时达到了国际主流高性能处理器水平。

龙芯3B2000增加了500 余条自定义龙芯扩展指令,可用于实现对其他主流指令系统的二进制翻译兼容,访存与IO效率大幅度提高。并且软硬件保持向前兼容。


我国首台采用自主设计的“龙芯3B”八核处理器的万亿次高性能计算机“KD-90”,就集成了10颗八核龙芯3B处理器,理论峰值计算能力达到每秒1万亿次。系统硬件由1个前置服务器、5个计算节点、2个千兆以太网交换机以及监控单元组成。其中,前置服务器和计算节点均采用了我国自主设计的龙芯3B八核处理器,主要互连部件采用了自主研发的超多端口千兆以太网交换芯片。系统软件以开源软件为主,其中包括针对龙芯3B处理器结构专门优化的数学函数库,以及自主研发的图形化系统监控管理软件,具有兼容性强、易维护、易升级、易使用等特点。

KD-90可以说是我国高性能计算机国产化的又一次重要突破,在编程模型和互联网络等关键技术上达到了世界先进水平。适用于高性能计算教学、大规模科学与工程计算,以及军事科学、国家安全和国民经济建设等领域,应用前景广阔。除此之外,龙芯研发的龙芯1E和龙芯1F还被安装在了北斗卫星上,实现了我国卫星导航系统在半导体领域的自主可控。在北斗卫星上有3个被称为“单机”的黑盒子,每个约有4本400页的32开图书摞起来那么大。其中两个黑盒子里,每个装了2片龙芯1E芯片和4片龙芯1F芯片。

这两个黑盒子的主要任务是用于完成星间链路的数据处理,即支持北斗各颗卫星之间的通讯数据处理任务。龙芯1E负责进行常规运算,龙芯1F完成数据采集、开关控制、通讯等处理功能。与之前北斗在国际上能买来的芯片相比,龙芯1E和龙芯1F的性能要更为优越。对于计算机芯片处理器来说,从地到天,不只是送上去那么简单。银河宇宙辐射、地磁捕获辐射、太阳粒子事件,宇宙中的各种辐射是卫星上处理器面临的最大环境“威胁。所以抗辐照成了作为用户的国家空间科学中心和上海微小卫星工程中心对龙芯一号的最重要需求。而龙芯在设计上,一方面努力减少电荷的累积效应,另一方面通过隔离措施,防止芯片在受到高能粒子撞击时出现电流不断增加的情况,龙芯从2006年开始研究抗辐照加固技术,可以说在抗辐照加固技术上颇有心得。

2017年4月,龙芯推出了龙芯3A3000和3B3000,龙芯3A3000除了厂家提供的基本单元外,其中包括CPU和内存控制器在内的所有的模块都是自主设计的,没有引入第三方IP。从实测数据来看,这款芯片的综合性能已经超越了Intel Atom系列和ARM系列CPU,在国产所有芯片里面单核性能最高。可以看出,龙芯和英特尔以及ARM的差距在不断缩小。


除此之外,龙芯还推出了“龙芯1H”,这是一款神器。它主要用在地下数千米的石油钻探探头上,工作温度在200度左右。对于这种超高温条件下的稳定工作,一直是芯片界的核心技术,可以看出龙芯在十几年的发展中,积累了越来越多的技术,如今,龙芯1H高温钻探芯片在中石油、中石化中也得到了广泛应用。


可以说,随着龙芯公司化程度愈发深入,龙芯芯片在市场上也被运用到了更多方面,并且也形成了产品研发线。

其中“1”开头的芯片,是“小CPU”,是根据需求定制的专用或嵌入式芯片。

“2”开头的芯片,是“中CPU”,对标的是Intel的Atom(阿童木)系列,适合平板电脑、办公电脑等低功耗的通用便携计算。

“3”开头的芯片,是“大CPU”,对标的是Intel的酷睿/至强系列,用途是桌面计算机或高性能计算。


除此之外,龙芯拥有通用领域、嵌入式领域以及安全应用领域三大业务,产品除处理器外,还有开发系统。

可以看出,龙芯对未来还是信心十足的。过去几年,龙芯CPU还通过打通技术链,基于龙芯平台的性能在应用层实现了一个数量的提高,并实现了基础软硬件的平台化。基于龙芯平台各形态桌面计算机已经完全可以满足日常办公要求,并且已经从可用向好用迈进。如今的龙芯已经在国防、政府、教育、工业、物联网等行业取得了重大市场突破和良好的应用。

需要说明的是,龙芯十几年来只拿了中科院 7 亿的研发资金,其余都是龙芯自己靠卖芯片赚来的,这个和外界的印象还是有偏差的。龙芯2014年扭亏为盈,2017年实现了1.5亿的销售收入,利润2000多万元,中国工程院倪光南院士说:1995年Windows 3.2退出市场,至今Wintel的生态建设已经经过了30年,而相比Intel早年的发展,龙芯的脚步已经很快了。

仰视Intel,龙芯道阻且长。如今下游基于龙芯CPU的软硬件研发人员已经达到上万人。几年时间龙芯有了如今的生态,可以说并不容易,日前胡伟武也在采访中提到,龙芯18年来一直在补课,预计几年后就能把这个课基本补回来。补完课之后龙芯未来将走向市场,在一些领域与国际主流产品同台竞技。(海思从成立到研发出主流的芯片,也是花了10年的时间,这还多亏了华为之前的芯片研发技术积累以及庞大的资金投入,龙芯18年做的这个程度还是非常不错的,胡伟武说的市场应该是更广阔的民用市场)

可以说,龙芯发展的20年一直在不断前行,其产品被运用在了各大领域,而目前正在朝着更伟大的目标前行。


希望有一天,胡伟武可以实现自己赶超英特尔的宏伟愿景。


龙芯杯开源软件大赛火热进行

“龙芯杯”中科院全国开源软件大赛开幕后,全国各地开源爱好者积极报名参赛,2010年7月中旬,已经有超过一百个参赛团队提交了参赛作品申请。其中既有清华大学、华南理工大学、四川大学、西南交大、成都电子科技大学、西安电子科技大学、东南大学、兰州大学、中国科学技术大学等大学的学生报名,也有射手影音播放器、DJYOS (都江堰操作系统)、Freeiris、ExtMail、等知名开源软件团队参加。参赛作者已陆续收到了大赛免费借用的龙芯迷你电脑,迷你笔记本,开发板等大赛开发样机。其中开源通信软件Freeiris 2已经成功移植到龙芯平台上并在6月19日的北京开源通信爱好者大会2010上进行了展示。龙芯中科蔡嵩松工程师在该大会上做了“龙芯的研发与产业之路” 的介绍。

与此同时在高校校园的宣传也逐步进行。在四川大学计算机学院、龙芯梦兰、EasyJF、传智播客、蓝源信息的支持下,龙芯俱乐部6月29日在四川大学望江校区进行了《龙芯开源技术沙龙》成都站活动。龙芯梦兰史晓亮经理、EasyJWeb开源框架首席设计师蔡世友、龙芯俱乐部创始人石南等做了演讲宣传,部分当地作者介绍了参赛作品,并给到场的观众发放了大赛的介绍光盘、开源人杂志和T恤、笔等大赛纪念品。

本次大赛已和由软件行业协会共创软件分会(共创软件联盟)组织的《2010 中国开源软件竞赛》达成了合作,相关作品可直接推荐参加《2010 中国开源软件竞赛》。同时本次大赛的报名截至时间延长到了2010年9月30日以方便更多的团队参赛,报名者可登陆官方网站及时报名。已报名的部分作品介绍:

校园组:
《U-boot 龙芯移植》 兰州大学研究生院 金国军 吕清泉 孙彦猛
龙芯能够潜在的用在很多嵌入环境,但是现在的PMON已经很庞大而且很老。而U-boot具有较高的可靠性和稳定性,同时高度灵活的功能设置,适合U- Boot调试、操作系统不同引导要求、产品发布等。所以针对龙芯进行U-boot移植势在必行。

《RhythmCat 音乐播放器》 四川大学 陈贤鑫 朱乘慧 米泽田
本课题主要开发目的是实现一个Linux平台下的音乐播放器。Linux是一个开放源代码的操作系统,相对于常用的Windows具有安全性高、稳定性好、硬件要求较低等特点,且大部分情况下可免费获得。由于在Linux平台下目前无功能较为完善的音乐播放器,常用的Audacious,Amarok,Rhythmbox等播放器都不支持歌词的动态显示,本课题的目标之一就是弥补Linux平台下无实用的带歌词动态显示功能的音乐播放器的缺憾。同时,本课题中将为这个音乐播放器添加各种实用功能,如皮肤更换,桌面显示歌词,卡拉OK混音(使用者可将自己唱的歌曲与已有的伴奏合成一首完整的歌曲),音频格式转换,播放列表管理,音频裁剪与合并,音频格式转换等功能。该软件将让Linux平台下的多媒体生活变得更加丰富多彩。

《龙芯汇编器工具链的开发》 清华大学 朱坚
实现loongson-mips的一种编译器,并编译bootloader

《基于qt的linux窗口拖放鼠标手势功能扩展》 浙江大学 孟捷 王静 李遥
在基于龙芯的开发平台下,实现类似Win7系统窗口拖放停靠的特色功能:支持左右拖放自动半屏显示、上拖放全屏显示、抖动非聚焦窗口最小化等。并将开发鼠标手势,扩展其功能,预计具备窗口筛选、窗口规律化排放、快捷启动程序等功能。并提供扩展接口,可快捷切换蓝牙、wlan等硬件开关,方便用户的操作。可嵌入操作系统发行,作为特色功能之一。

《攻克46级》 中国矿业大学 王俊 李海洪 王福凯
此软件针对广大高校在校生背单词难的问题,采用游戏的形式,激发学生背单词兴趣。同时可以自动维护词库,根据记忆曲线自动挑选需要强化的单词,让学生可以一目了然的掌握自己的学习进度。实现方面,拟采用如下开发包进行开发:
sdl 基于C的游戏开发包,有丰富的功能扩展库。用来实现核心功能以及管理多媒体资源。
stardict 跨平台词典工具。这里将借用它的功能管理词库资源。
wxWidget 跨平台GUI库。基于GTK。用来快速开发用户界面。

社区组:
《射手影音播放器》 沈晟
是由射手网创建与维护的开源播放器项目内核基于MPC(感谢Gabest)、MPC-HC与ffmpeg。同时加入更多真正符合中国用户习惯的功能,旨在改进华人的数字影视观赏体验,建立和维护一个真正属于中文用户的开源播放器。

《Freeiris2 移植》 hoowa
Freeiris是国人发起的一个开源通信项目。Free表示自由、开放、共享,Iris为希腊神话中的彩虹女神,宙斯的通信官。Freeiris项目是由通信爱好者所共同组建的一个平台,因为我们这里大部分同时也是开源软件运动的推广者,因此我们将自己的精力、技术融合在了一起创造了Freeiris这么一个平台。Freeiris主要是基于开源的系统完成了以往只有几十甚至上百万的交换机才能做到的功能。

《都江堰操作系统》CU 罗侍田
江堰操作系统(简称DJYOS)是国内原创的开源操作系统,得名于一个伟大的水利工程:都江堰。与传统操作系统不同,DJYOS不是以线程而是以事件为调度核心,这种调度算法使程序员摆脱模拟计算机执行过程编写程序的思维方式,而是按人类认知世界的方式编写应用程序。除调度方式外,DJYOS还在设备管理、中断管理等方面,都做了大胆而且实用的创新。DJYOS的目标,是要成为世界主流操作系统,在不久的将来,世界流行操作系统中,有一个来自中国。

《基于龙芯的linux架构的万用表的开源软硬件实现》北京龙芯俱乐部 刘世伟 刘晓阳
通过串口跟AD电路通讯,先期实现电压以及电阻的测试显示、数据管理、逐步完善功能。所有的软硬件设计在龙芯电脑进行,所有的软硬件以及firmware完全开源,单片机以及电路图的开发工具使用开源的方案。完成的产品可以跨平台运行在任何linux的系统上。

《Fedora MIPS——基于N32的龙芯2操作系统移植项目》 辛蓁 Fai Wong Geraad
基于N32 ABI搭建的Linux操作系统,符合 Fedora Project 的所有管理、技术和质量要求,进而被允许冠以 Fedora 的名称和商标。目标机为龙芯2F盒子与逸珑笔记本。


Linux内核、LLVM、GCC均已支持龙芯LoongArch架构


LLVM 于 2023 年 3 月 18 日发布了 16.0.0 版本,以正式后端(official target)的级别实现了对 LoongArch 指令集架构的完善支持。

至此,开源软件世界最重要的五大基础软件(BIG FIVE),即 Linux 内核、GCC、LLVM、Glibc、Binutils,都已发布了支持 LoongArch 架构的版本。此后的 LoongArch 架构操作系统发行版将可以直接基于上游社区版本进行构建,标志着 LoongArch 软件生态建设将迎来快速发展的新阶段。

据介绍,龙芯架构包括基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分近 2000 条指令。龙芯架构不包含 MIPS 指令系统。

2023年2月,龙芯中科发布公告称,公司撤诉对上海芯联芯提起的关于 3A5000 处理器不侵犯 MIPS 指令系统的计算机软件著作权的诉讼案(案件 1);同时,上海芯联芯针对公司 LoongArch 和 3A5000 处理器的诉讼案(案件 2)已判决,北京知识产权法院判决驳回原告上海芯联芯的全部诉讼请求。据了解,二者的争议起源于龙芯最初选择的 MIPS 路线。龙芯刚起步时使用的 LoongISA 架构是以 MIPS 为基础扩展而来。龙芯在 3A4000 以前的 LoongISA 是基于 MIPS 进行添加,3A5000 则基于龙芯自主指令集 LoongArch。上海芯联芯公司成立于 2018 年,2021 年上海芯联芯一次性付清所有 MIPS 技术授权费,获得了在中国对 MIPS 技术独占权利人和独家经营权人的地位。然而上海芯联芯公司却对龙芯中科后来自研的 LoongArch 架构以及 3A5000 处理器提起诉讼,认为龙芯指令集侵害 MIPS 指令集著作权。对此龙芯中科进行了反诉,具体可参考《龙芯中科风波集》。

LLVM 是如今设计和开发编译器的最重要的框架之一,它不仅提供了知名的 C/C++ 编译器前端 Clang,也为 Rust 等许多其他编程语言提供了编译框架支持,包括 Chromium 在内的大量大型软件都采用 LLVM 作为编译构建工具。LLVM 项目于2023年开始全面支持 LoongArch。

根据此次 LLVM 社区官方发行注记的说明,在 LLVM16 中,LoongArch 架构从实验性后端(experimental target)被提升至正式后端(official target),这意味着 LoongArch 后端在任何平台上将被默认编译,无需通过额外的 CMake 选项指定。此外LoongArch架构在整个 LLVM 项目中得到了更加全面的支持,可支持 OrcJIT、GHC 调用约定等高级特性,clang、compiler-rt、lldb、openmp 和 libunwind 等子项目。龙芯中科是 2022 年 LLVM 社区代码贡献量较多的机构参与者,自 2022 年以来累计向 LLVM 社区贡献了 6.5 万行源代码。此外,来自国内外的开源开发者也向 LLVM 社区贡献了近 5 千行的 LoongArch 架构支持代码,相关的大事记有:
GCC 编译器接受龙芯 LoongArch CPU
GNU libc (Glibc) 2.36 发布,支持 LoongArch 架构
龙芯 FFmpeg 进入 5.0 时代,全力支持 LoongArch 生态
QEMU 7.1 发布,初步支持 LoongArch64 架构
龙芯为 LibreOffice 添加 LoongArch 支持
Go 1.19 开始原生支持 LoongArch 架构
龙芯发布基于 OpenJDK 17 & 11 的 Java 环境

Pascal 编译器 FPC 支持 LoongArch 架构


FPC 社区于2023年3月发布了支持 LoongArch 架构的正式版本。此后的 LoongArch 架构操作系统发行版将可以直接基于上游社区版本进行构建,LoongArch 指令集架构再次得到重要基础开源社区的原生支持。

FPC(Free Pascal Compiler)是一款成熟、多用途和开源的 Pascal 编译器,自 1998 年首个版本发布至今社区持续活跃了 20 多年。FPC 已支持包括 LoongArch 在内的多种处理器架构和多个操作系统平台,兼容 Turbo Pascal 和 Delphi 语法,在应用生态中得到广泛的应用。目前LoongArch架构代码已经合入 FPC 上游社区主分支,本次共提交了 13 个 commit、2 万余行代码,主要支持 compiler 和 rtl 两个部分。

龙芯团队称会持续维护 FPC 的 LoongArch 版本,提交社区支持 IDE 开发环境的 lazarus,持续优化 FPC 后端,为开发者提供更好的产品体验,以使用户的程序能够更加流畅地运行。

Arch Linux 发行版正式支持龙芯架构

Arch Linux 是一种轻量级、可定制、灵活的 Linux 操作系统。作为一款简单、现代、开放的操作系统,Arch Linux 旨在基于 “KISS 原则”(保持简单的哲学),提供最小化的核心系统,并允许用户根据自身需求进行高度自定义和优化。其包管理器 pacman 能够简单地管理、安装、升级和删除软件包,并支持使用 AUR(Arch User Repository)安装用户自定义软件包。同时,Arch Linux 也提供了广泛的文档和社区支持,助力用户轻松找到并解决常见问题,也允许用户参与操作系统的开发和维护。由于轻量、简单、灵活的特性,其通常被视为高级用户、开发者和 Linux 爱好者的首选操作系统。该发行版本在2023年7月中旬宣布正式支持龙芯架构 (LoongArch)。

Debian 支持龙芯 LoongArch 架构

2023年7月 Debian 社区正式接收 RISC-V 成为官方支持架构,并计划在 Debian 13 开发周期中完成移植。同年8月下旬 Debian 社区的开发者邮件列表显示,Debian Ports 添加了对龙芯 LoongArch 架构的支持,这意味 Debian Ports 存档镜像以及想要构建的基础设施均包含了该架构。

邮件还提到,LoongArch 现在已经成为 Debian Ports 归档镜像的最新 target。初始的 Debian LoongArch bootstrap 大约包含 200 个软件包,而使其成为自托管软件的工作仍在进行中。一旦达到自托管的里程碑,Debian 计划开始在 Loongson 托管的真实 LoongArch CPU 硬件上运行 Debian 软件包构建。

这将有可能成为 RISC-V 生态新一轮支持的爆炸式增长的起点,因为包括 Google 的 Chromium 在内的众多项目都是直接依赖于 Debian 的二进制包。Debian 将 RISC-V 批准官方支持架构之后,可能会有很多依赖 Debian 开源项目在很短的时间内会完成对 RISC-V 的支持。


龙芯国产化全固态桌面存储一体机正式发布

该产品由龙芯中科(武汉)技术有限公司牵头,联合龙众创芯、嘉合劲威、熊猫电子、可道云等多家国产存储厂商于2023年9月中旬共同推出。产品主要针对个人、家庭、团体和小微企业市场,提供国产化的桌面网络存储方案,目前预订活动已正式开启。


龙芯国产化全固态桌面存储一体机(8 盘位)

处理器:该产品采用龙芯 3A5000 处理器,主频 2.5G。主流桌面 8 盘位 NAS 产品采用的处理器多为 4 核 2.2G,因此该产品可完全满足桌面网络存储应用的需求。

内存:产品采用长鑫颗粒的嘉合劲威(神可)、力积存储(力存)、紫光等国产品牌产品,企业版方案专门配备带 ECC 的服务器内存型号,可靠性更高。

硬盘配置:产品与大唐存储、嘉合劲威和泽石等国产存储品牌厂商合作,为本产品定制硬盘,默认系统盘和存储盘采用全固态方案,主控芯片采用国产主控,存储颗粒采用长江存储颗粒,有效防止数据远程泄密和人为窃取硬件可能。

机箱外观:产品提供标准和定制机箱,包括迷你主机、NAS 主机等方案,以及入门型、社区型、门锁型、企业型等多种款式,满足各类用户的需求。

操作系统:产品支持 loongnix、统信 UOS、银河麒麟、龙蜥 Anolis、openEuler 等国产操作系统,本次采用最新发布的 Anolis OS8.8。该版本新增了龙芯 3D5000 处理器、龙芯 2K0500 BMC 驱动,以及虚拟化二进制翻译支持,功能完善,运行稳定,满足用户企业级需求。

存储管理软件:上海七朵信息基于 loongnixserver 8.4、可道云基于 Anolis OS 8.8 分别移植了 NAS 系统和私有云网盘系统,可为个人、团体、企业提供专业的网络存储应用服务。基于 Anolis OS 的可道云企业私有云存储操作系统 8.8 LoongArch64(龙芯定制版)是专门支持龙芯的 Anolis OS 商业发行版,将在龙芯俱乐部社区和龙蜥社区推广。

俄罗斯企业基于龙芯处理器生产电脑和服务器

据俄罗斯卫星通讯社援引2023年10月《生意人报》的报道,俄 Norsi-Trans 公司将开始生产使用龙芯处理器的数据存储系统、服务器和电脑。据市场参与者称,中国合作伙伴决定允许向俄罗斯联邦进口处理器是由于龙芯受到美国的封锁制裁。该公司总经理谢尔盖・奥夫钦尼科夫表示,已经采购了约 100 个龙芯处理器,将试生产一批使用龙芯处理器的设备。Norsi-Trans 的合作伙伴将是 Basalt SPO(Alt OS 的开发商),该公司董事会主席 Alexei Smirnov 表示,ALT OS 适用于龙芯处理器。

俄罗斯数据存储系统开发商协会执行总监奥列格・伊祖姆鲁多夫指出,俄方企业将采购性能与英特尔 i5 相仿的龙芯 5000 系列处理器(12nm 工艺)。《生意人报》还指出,Norsi-Trans 并非唯一计划在产品中使用龙芯处理器的俄罗斯电子制造商,Prombit 公司的 “路线图” 中也包含类似计划。接受该报采访的专家认为,俄罗斯设备转用龙芯处理器对于减少对 Intel 和 AMD 等美国技术的依赖很有必要。


LoongArch和RISC-V的简单对比

LoongArch是一套全新指令集

在龙芯推出loongArch后,一些人总是把它和MIPS混淆,认为龙芯盗版或魔改MIPS。

LoongArch 是全新的指令集,有2000多条指令。从2020年二季度开始,龙芯和第三方将LoongArch与国际上主要指令系统有关资料和几万件专利进行深入对比分析。工信部下属单位评估认为:LoongArch指令系统手册在章节结构、指令说明结构和指令内容表达方面与上述国际上主要指令系统存在明显区别。LoongArch基础架构未发现对上述国际上主要指令系统中国专利的侵权风险。

具体来说,LoongArch摒弃了传统指令系统中部分不适应当前软硬件设计技术发展趋势的陈旧内容,吸纳了近年来指令系统设计领域诸多先进的技术发展成果。比如重新设计的指令格式可以包含更多的指令槽,有利于以后的长远发展。MIPS只有3种指令格式,LoongArch重新设计了指令格式,使可用的格式多达10种,其包含3种无立即数格式和7种有立即数格式。例如单条指令支持的立即数从MIPS的最大16位扩展到最大24位,分支跳转偏移也从64K扩展到1M字节,以及寻址空间从固定分段改变为单一平面等,都有效减少了编译结果的目标指令条数和访存次数,提高了效能。在Coremark的测试中,程序运行过程中执行的指令总数LoongArch为MIPS的83%,相当于运行效率提高了20%。LoongArch指令集计算CRC32的速度则是MIPS的4倍。

事实上,开发一套指令集并不难,难得是开发一套高效率的指令系统并将其实现,也就是基于该指令集开发CPU,以及基于该指令集开发一整套软件生态。

指令集不是越少越好

最初,CPU的指令系统相对简单,随着面对的应用越来越复杂,CPU的指令系统也随之越来越庞大。半个世纪前,美国学术界提出了一种新的思路,把各种指令功能尽可能的拆解为最小单元,把相同的单元合并为一条指令,所有的复杂功能都可以使用这些简单指令组合实现,分解指令执行的每一个步骤,尽量使每一条指令都只消耗一个时钟周期,实现指令流水线设计,而这是传统指令系统所做不到的。

RISC指令集也就应运而生,斯坦福大学的几名老师带着研究生成立了MIPS项目组,开发的MIPS CPU所用的晶体管只有CISC处理器的几分之一,但性能却更强,在1983年的ISSCC大会上大放异彩。随后,Alpha、Power、PA-RISC、SPARC等诸多RISC指令集百花齐放。Intel虽然坚持CISC指令系统,但也引入了RISC的思路,CPU后端使用类RISC流水线的设计,在CISC指令集解码的阶段转换为RISC类的指令,使自己的CISC处理器在性能上不被RISC处理器超越。

也许是这段历史太过刻骨铭心,使很多人先天就认为指令集越少越好,RISC优于CISC,本能认为loongArch指令数达到2000条,而RISC-V不破白条,因而RISC-V更好。随着时代发展,RISC指令集的指令数量越来越多,同时CISC也借鉴了RISC的优点,两者已经殊途同归了。

RISC-V的思路和半个世纪前开发MIPS时的思路是类似的,指令集尽可能精简,因为指令数量少,CPU微结构中使用的晶体管就少,设计难度、研发成本、生产成本、产品功耗等都可以压制到极低的水平。不过现阶段的RISC-V有些过度“精简”了,只有四十多条基础指令,加速扩展指令,指令数量依然没有破百,能够实现的功能相对有限,虽然在嵌入式CPU上,这些指令已经足够,但在桌面和服务器等高性能领域,这点指令是不够用的。因为桌面和服务器应对的场景更加复杂,就必然需要相应的指令去满足这些应用场景,在嵌入式这种用途单一且性能要求一般的场景,几十条指令够用,这是RISC-V所擅长的。但在桌面和服务器上,RISC-V指令集过于精简反而是其劣势。

举例来说,SG2042搭载64核玄铁C910,主频2.0GHz,每16核为一个numa节点,共4个内存通道。SPEC CPU2006 单核测试,使用社区版GCC10,int_base测试最好成绩为8.97。使用厂家推荐参数调优,int_base测试得分10.6。作为对比,龙芯3A6000 int_base 43+,差距是非常明显的。

龙芯也有类似RISC-V的指令系统,那就是LoongArch精简版,共有50条指令,基于LoongArch精简版开发的CPU已经向高校开源用于教育。如果RISC-V要开发高性能CPU,必然要对指令集进行扩展,其实,X86、ARM这些成熟指令系统都是上千条指令。

LoongArch精简版是对LoongArch的剪裁,而RISC-V还需要继续添加各种扩展指令,才能成为成熟的指令集,目前的RISC-V还不适合用到复杂多变的桌面和服务器环境中。


俄罗斯操作系统 ALT Linux 支持龙芯处理器 (LoongArch)

根据俄媒 CNews 于2023年11月下旬的报道,ALT Linux 操作系统已经正式添加对龙芯处理器的适配,支持龙芯 3A5000、龙芯 3A6000 等 CPU。得益于龙芯 CPU 出口限制已经被解除,俄罗斯相关部门可以采购这些 CPU 来替代 AMD 和英特尔的产品。


ALT Linux 由俄罗斯公司 Basalt SPO 开发,其桌面环境基于 KDE Plasma 及 Xfce 构建,设计风格和 Windows 类似。


报道称,Basalt SPO 的开发团队非常高效,只花了 9 个月时间,就将 ALT Linux 移植到了龙芯 LoongArch 架构。

Basalt SPO 表示,目前支持龙芯的 ALT Linux 已开始提供不稳定的测试分支,预计稳定的 11.0 正式版将在明年第一季度发布,采用 Xfce 桌面环境。

近万台龙芯 3A5000 电脑走进中小学课堂


据 “龙芯中科” 官方公众号在2024年4月介绍,鹤壁市政府携手市教育局等部门,将近万台龙芯 3A5000 电脑引进鹤壁市直及鹤壁市淇滨区近 50 所中小学课堂。这些电脑均采用基于自主龙架构的龙芯 3A5000 处理器,搭载国产 UOS 操作系统,安装 WPS 办公软件、极域教学(运维)管理软件等全套正版授权软件,并打通了从教室管理到教学、编程、国家/省市级管理平台等共 104 款应用。目前该批电脑已经常态化应用于试点学校的教学过程中。

据悉,龙芯 3A5000 处理器是首款采用自主指令系统 LoongArch 的处理器芯片,从顶层架构到指令功能和 ABI 标准完全自主,没有任何国外授权,可兼容 MIPS、X86、ARM 主流指令集架构。其主频为 2.3GHz-2.5GHz,拥有 4 颗核心,每个处理器核心采用 64 位 LA464 自主微结构,支持 DDR4-3200MHz 内存,支持 Hyper Transport 3.0 控制器。

龙芯中科2023年发布了新一代 CPU 龙芯 3A6000,采用龙芯自主指令系统龙架构,是我国本土研发、自主可控的新一代通用处理器。该处理器主频达到 2.5GHz,集成 4 个最新研发的高性能 LA664 处理器核,支持同时多线程技术(SMT2),全芯片共 8 个逻辑核,对比 Intel-i3 10100 性能基本持平。