胡伟武谈LoongArch:希望2035年实现与x86/ARM三足鼎立

2022-04-23 14:00:16 来源: 半导体行业观察


作为国内自主处理器的主要推动者之一,龙芯中科技术股份有限公司(以下简称龙芯)的董事长胡伟武先生对如何实现自主可控的生态有很深刻的了解。这也是他们过去二十多年来,从授权IP打造处理器,逐渐走向了从更底层开始,自下而上打造完全自主可控架构的原因。

在2020年正式推出自主指令系统架构“LoongArch”之后,龙芯公司正式迈入了一个新阶段。按胡伟武所说,这个全新指令系统正在成为跟X86、ARM并列的顶层的开源生态系统。而为了最终实现这个目标,龙芯公司正在全力以赴。


LoongArch的必要性


日前,在一个报告会上,胡伟武直言,我们国家的信息产业正在面临着改革开放以来最大的变局。因为国际贸易的不确定性倒逼国内的企业和行业使用自主研发的CPU和操作系统。但他同时也指出,我国信息产业过去大多构建在Wintel(Windows+Intel)和AA(Android+Arm)平台上,这并不符合我国提出的“构建安全可控的信息技术体系”的要求。


“购买别人授权的IP做芯片,有点像租房子,你不但要交租金,还不能调整房子的隔断家具,只能有一定的自由度。但用自主IP设计芯片,就有点像买房子,不但不用再交租金了,还可以按照自己的意图装修、买家具、调整隔断,进一步提升了芯片设计的自由度;而基于自主指令系统设计芯片则相当于盖房子,在自有的地块上我可以盖出个庭院、盖出个菜园来,也可以盖多层多栋,这样自由度就更大了。”胡伟武举例说。

在这种思维指导下,龙芯指令系统架构LoongArch横空出世。据胡伟武介绍,这个拥有自主知识产权的架构拥有先进性、兼容性、模块化和扩展型四大特征。


首先看先进性方面,据介绍,这体现在LoongArch吸收了近年来指令集发展先进技术成果而带来的代码效率提高。“举个例子,我们把SPEC CPU 2006这样复杂的应用程序编到MIPS上和编到“LoongArch”上进行对比发现,后者的动态执行指令数大概会少15%,这主要是受惠于“LoongArch”的指令系统表达能力强等优势。”胡伟武告诉记者。

其次看兼容性方面,胡伟武指出,LoongArch能够融合ARM和X86的主要特点,支持把X86和ARM的指令高效地翻译过来。这符合了当时的终端使用现状需求;至于模块化方面,则表现在LoongArch不但提供基础指令,还支持了二进制翻译。胡伟武表示,单单为了支持X86和ARM的翻译,龙芯就在LoongArch上增加了176条指令;最后,在拓展性方面,LoongArch在指令槽上留有余地,这将利于今后的持续演进。

基于这个架构,龙芯在2021年七月正式发布了其3A5000处理器,这是公司过去二十多年自主CPU研发的又一个突破。据介绍,该产品是首款采用自主指令系统LoongArch的处理器芯片,性能实现大幅跨越,代表了我国自主CPU设计领域的最新里程碑成果。


从龙芯提供的数据我们可以看到,龙芯3A5000处理器主频2.3GHz-2.5GHz,包含4个处理器核心。每个处理器核心采用64位超标量GS464V自主微结构,包含4个定点单元、2个256位向量运算单元和2个访存单元。龙芯3A5000集成了2个支持ECC校验的64位DDR4-3200控制器,4个支持多处理器数据一致性的HyperTransport 3.0控制器。龙芯3A5000支持主要模块时钟动态关闭,主要时钟域动态变频以及主要电压域动态调压等精细化功耗管理功能。

根据国内第三方测试机构的测试结果,龙芯3A5000处理器在GCC编译环境下运行SPEC CPU2006的定点、浮点单核Base分值均达到26分以上,四核分值达到80分以上。基于国产操作系统的龙芯3A5000桌面系统的Unixbench单线程分值达1700分以上,四线程分值达到4200分以上。上述测试分值已经逼近市场主流桌面CPU水平,在国内桌面CPU中处于领先地位。

向完善的生态前进


从上文的介绍我们可以看到,龙芯在架构和芯片上都取得了突破,但如胡伟武所说,我们需要从低层的指令系统架构开始,打造一个可控的生态,才是解决“自主可控”问题的终极办法。而只有自主研发才能体现为最高的性能、最低的成本和最好的生态。

但胡伟武同时也指出,考虑到当前的整个产业的现状,我们打造的生态在自主的同时,还需要兼容。而要达到这个目标,则需要具备“2+3+3+2”共十个能力。

其中,第一个“2”是指两大核心软件:BIOS、操作系统内核(含驱动和虚拟化);第二个“3”则是三大编译器,GCC、LLVM、GOLANG;第三个“3”则是三大虚拟机:Java、JavaScript、.NET;第四个“2”则是两大二进制翻译系统:X86、ARM。


“如果会这十个能力,我们就可以自己做一个既自主又兼容的指令系统,刚好龙芯这十个都会,都做过,而且有技术的积累。”胡伟武表示。在谈到如何基于“LoongArch”做软件生态的时候,胡伟武接着说,这首先要提供基础的开源操作系统。

要实现这个目标,就需要要降低产业门槛,提供包括BIOS、内核、编译器、虚拟机、浏览器和图形库在内的核心模块。另外,还需要规范硬件的兼容性,通过统一系统架构,实现操作系统硬件的兼容。具体而言就是要让操作系统在面对不管谁的主板,都能做到装上就能跑,不需要适配,这就是胡伟武所说的,龙芯必须提供的基础操作系统。

据胡伟武介绍,龙芯的团队已经让其操作系统能够原生支持Linux所有全部主流基础软件和应用环境。“从BIOS内核开始,到编程语言,到基础开发环境,到基础函数库,到云计算、大数据、数据库中间建浏览器等等。经过两年多的发展,现在我们都已经支持。”胡伟武补充说。

其次,要充分考虑兼容需求的自主编程框架。这就要求我们先实现兼容框架,克服Linux系统版本间不兼容问题。然后再形成自主编程语言和编程框架,形成新型APP流派。这正是龙芯正在实现的目标。

借助一个自研的兼容框架,龙芯实现了Linux平台一次开发、各处使用的兼容性。让无论是源码还现有二进制程序都能支持。音频、视频、外设、打印、输入法等也能获得完全支持。同时,该框架还拥有保持Host应用100%性能,存储开销小(如微信跨平台兼容从114MB到126MB,普通镜像需要1GB左右)等特性。


在胡伟武看来,自主编程框架是自主操作性能的最主要的特征。因为我们只有使用自主编程框架写APP,才能终止无休止的适配适配的问题。“我认为操作系统只有有了自己的编程语言和编程框架,才能叫自主操作系统。”胡伟武接着说。这也是龙芯正在形成一个叫LDF(Loongson application Development Framework)的自主编程框架的原因。

最后,我们还需要通过高效二进制翻译系统消除指令系统壁垒,才能实现广泛兼容。

据介绍。二进制翻译技术是将一种指令集的软件翻译到另一种指令集并实现高效运行的技术 。在过去二十年里,这一直是计算机领域的研究热点,学术界也已经有大量成熟的研究成果。而随着处理器性能的逐步提升,通过二进制翻译技术运行其他架构的软件在商业上具备一定的成熟度,在业界上已经有不少的应用案例。如苹果公司使用Rosetta动态二进制翻译器,将X86应用移植在ARM系统上运行;Intel公司推出Houdini二进制翻译器,用于在X86上运行ARM android应用,在win11/android-x86上应用。

作为一家拥有长远目光的企业,龙芯也基于自主研发的LoongArch指令集,开发了二进制翻译系统LAT,支持X86和ARM平台的软件在龙芯平台上运行。据介绍,通过高效二进制翻译系统消除指令系统壁垒,实现广泛兼容。

具体而言,借助LATX,可以在龙芯平台上运行X86/Windows应用(不运行Windows)及X86/Linux应用。还可以支持Windows打印机、与IE兼容的龙芯浏览器并实现通用X86平台二进制翻译。借助LATA则能够在龙芯平台上运行ARM/Android应用(不运行Android)。当然。


而通过软硬结合、动静结合进行性能优化 ,不但可以添加融合X86/ARM功能的指令(英文翻中文 vs. 繁体中文翻简体中文+英文翻法文),还可以模拟Windows环境(优化Wine),模拟Android环境,并实现高效的X86到LA二进制翻译器LATX,ARM到LA二进制翻译器LATA。

在解决了二进制编译之后,兼容IE又成为了龙芯关注的又一个难题。

胡伟武告诉记者,基于IE/Windows系统开发的大量历史应用无法在当今的Chrome等浏览器上运行。一方面因为IE时代的网页元素代码与现今的W3C国际标准存在兼容性问题。另一方面,IE时代的 ActiveX插件只有X86/Windows平台的版本。面对这些问题,龙芯通过浏览器插件兼容技术、二进制翻译、网页元素兼容转码等关键技术,实现对IE应用的兼容。这就意味着基于IE ActiveX插件技术的网银、媒体等IE的网页应用能够直接在龙芯平台运行。

打印机驱动则是龙芯需要往前发展必须解决的又一个障碍。这主要是因为当前大量打印机只有Windows驱动,没有Linux驱动。但龙芯通过打印系统模拟支持、二进制翻译、异构驱动统一管理技术支持Windows打印机。

据介绍,龙芯目前不但覆盖了包括惠普、佳能、联想、奔图等29个品牌在内大部分常用打印机型。而且这些打印与Windows平台的打印速度相当,效果(颜色、格式)一致。来到功能上面,也能实现彩打、双面、旋转、多份、整理、远程、纸张选择、测试页、 网络共享;文本、图片、pdf、word等多种格式。还可以在浏览器、WPS等图形显示软件及lpr命令行进行打印。

在龙芯的努力下,Wintel的应用软件可在龙芯Linux平台上快速应用,消除指令壁垒,打通生态堵点。从胡伟武的介绍我们得知,他们已验证数十款主流应用软件,例如微信、腾讯通、Photoshop、WinRaR、扫雷、CS1.6游戏等。而作为一个超级复杂系统,龙芯的整个框架将于2022年上半年实现基本可用,下半年实现可用。


胡伟武还透露,在解决了X86兼容之后,龙芯接下来还会继续解决Arm和RISC-V的兼容问题,而这会相对容易得多。


最后,在谈到未来规划时,如上图所示,胡伟武给公司提出了四步走战略。他同时还谈到,龙芯会效仿RISC-V,打造拥有几十条指令的精简指令集,让操作系统可以在上面跑,进一步丰富其生态。

据胡伟武介绍,龙芯在“十四五”的目标除了要实现从技术“补课”到生态建设的转变;还要实现从政策性市场到开放市场的转变;并最终实现从跟随性发展的“必然王国”到自主发展的“自由王国”的转变。

展望未来,胡伟武希望龙芯能在2025年走向开放市场,基本建成自主信息技术体系。到2030年能走向国际市场,而自主信息技术体系更加完善 。到来了2035年,更是能实现与Arm和X86的“三足鼎立”的目标。


*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。


今天是《半导体行业观察》为您分享的第3019内容,欢迎关注。

推荐阅读


你不一定知道的砷化镓

手机半导体黄金时代,谢幕!

韩国对SiC发起总攻


半导体行业观察

半导体第一垂直媒体

实时 专业 原创 深度


识别二维码 ,回复下方关键词,阅读更多

晶圆|集成电路|设备 |汽车芯片|存储|台积电|AI|封装

回复 投稿 ,看《如何成为“半导体行业观察”的一员 》

回复 搜索 ,还能轻松找到其他你感兴趣的文章!

责任编辑:Sophie

相关文章

半导体行业观察
摩尔芯闻

热门评论