欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

龙芯:中国一定要建立自己的CPU生态 不能重复日本错误

程序员文章站 2022-04-01 12:46:47
2021年12月9日-11日,2021第六届全球人工智能大会(gair2021)于深圳正式召开。历经五年,见证数次潮水的转向,成为目前为止粤港澳大湾区人工智能领域规模最大、规格最高的学术、工业和投资领...

2021年12月9日-11日,2021第六届全球人工智能大会(gair2021)于深圳正式召开。历经五年,见证数次潮水的转向,成为目前为止粤港澳大湾区人工智能领域规模最大、规格最高的学术、工业和投资领域跨界盛会。

在大会第二天举办的“集成电路高峰论坛:国产高端芯片之路”上,汇聚来自学术界、产业界和投资界的15位大咖,共同探讨了国产高端芯片的实力以及risc-v带给中国芯片的机会。

cpu是一个复杂系统,在我们国家追求自主性的过程中,牵涉到三个维度的自主性,包括基于自主ip核的芯片设计、基于自主指令系统的软件生态,以及基于自主材料设备的生产工艺。

一个芯片里集成大量的ip核,ip核是否自主设计是最基础的维度。指令集系统承载着软件生态,软件生态控制着产业体系,而产业体系是最大的卡脖子环节,基于国外指令集不可能发展自主的信息产业体系。由此,自主性显得十分重要。

龙芯:中国一定要建立自己的CPU生态 不能重复日本错误

龙芯彭飞指出,中国一定要下定决心构建独立于wintel(windows+intel)体系和aa体系(arm+android)之外的自主的信息技术体系和产业生态体系。

前两大生态体系——x86的生态体系和arm的生态体系——是美国主导的信息化生态体系,未来要有基于我国的指令系统、国产的操作系统形成的,和这两个生态体系平行的一套生态体系。

除了自主性,指令集的兼容性也很重要。龙芯中科基于二十年的cpu研制和生态建设积累推出的loongarch指令系统,充分考虑兼容生态的需求,融合x86、arm等国际主流指令系统的主要功能特性,并依托龙芯研发团队在二进制翻译方面十余年的技术积累创新,可实现跨指令平台应用兼容,从而达到融合生态的目的。

以下是彭飞在gair 2021的演讲内容,进行了不改变原意的编辑整理:

今天从cpu的角度介绍一下基于指令集的国内发展现状。cpu是一个复杂系统,在我们国家追求自主性的过程中,主要牵涉到三个维度的自主性:

1、自主ip核。

一个芯片会集成大量的ip核,cpu、gpu仅是其中一个ip核,ip核是否能自主设计是考虑自主性最基础的维度。

2、基于自主指令系统的软件生态。

指令集是芯片对外的接口,同时是承载上面软件生态的体系基础。

过去,全世界基本上是基于两大生态体系:一是基于windows+intel,x86架构的产业生态体系;二是aa体系,就是arm+android,arm架构的产业生态体系,分别在桌面服务器、移动设备领域构建出了两大体系。我们国家要打造第三套信息化体系。

2020年,龙芯中科正式推出了自主指令系统loongarch,不包括国外任何授权,是跟x86、arm平行的指令系统。

3、自主材料的设备工艺自主性。

现在外界常说的“卡脖子”问题,“卡”得最严重的就是这个维度。为什么会出现这种情况?

可能有两方面原因:一是我国没有承接国外先进的产业转移。集成电路起源于美国,当集成电路生产,从美国向外产业转移的时候,有的转移到日本、转移到韩国,有的转移到我们国家的*,但没有转移到*。

另一个是过去国家集成电路设计相对比较薄弱,不能通过设计带动工艺的发展。不过,这几年我国芯片设计能力有了大幅提升,通过芯片设计带动整个工艺快速发展,从行业发展来看,虽然还有差距,但相信再过五到十年,这个差距可以补齐。

在70年代,美国硅谷的各种芯片蓬勃发展,当时芯片设计还不是美国一家独大,日本、欧洲、韩国都有芯片设计能力。intel曾在70年代向日本公司授权,让其采用兼容intel的架构设计cpu,这些cpu既便宜又好用,后来还反销到美国。1986年,美国挥起了制裁的大棒。

回顾那段历史可以发现,美国制裁他国高端芯片的发展并不新鲜,历史在反复上演。为什么会出现这样的情况?

当时日本犯了一个最大错误,就是只重视cpu产品的研发,忽视生态主导权。如果一直做生态里某一款产品,会难以实现超越。因此,掌握生态主导权极其重要。

1982年,nec生产的个人pc用的是intel的芯片,1985年换成了自研芯片,1986年又换回去了。为什么?因为制裁失去了生态的主导权,这给我们很大的启示。

中国一定要下定决心构建自己的信息化生态体系,前两大生态体系,x86的生态体系和arm的生态体系是美国主导的信息化生态体系。希望未来基于我们自己的指令系统、国产操作系统形成和这两个生态体系平行的一套生态体系,它是产业的基础,在别人的基础上盖房子总是不牢靠的。

目前基于自主cpu的发展情况是怎么样?

龙芯:中国一定要建立自己的CPU生态 不能重复日本错误

左图是龙芯3a5000芯片结构图,这里每一个方块其实都是一个ip,这些ip都是完全自主设计、自主演进,左下角罗列了芯片里面的ip核。

右上角反映了近十年自主cpu的发展速度,第一代3a1000跑分是2-3分,经过近十年的快速迭代,现在能达到30分(目前国际主流cpu跑分在20-40分之间)。右下角图片是芯片产业里性能提升的曲线,可以看到,前几年呈现线性快速增长,越往后增长越缓慢,龙芯cpu也即将达到性能增长的顶端。

指令集是信息产业绕不过去的话题,前面提到,我国不可能基于国外的指令系统构建自己的产业生态体系,就像中国人可以用英语阅读和写作,但是用英语构建我们国家的文化体系、构建民族文化是不可能的。

另一方面,应该如何考虑指令集的自主和兼容性?过去十几年,业界一直在争论这个问题,兼容性和自主性孰优孰劣?兼容有兼容的好处,可以直接利用现有生态里的软件产品,有现成的生态,一开始发展速度可能会快一些,但最大的问题是受制于人。

那么,我们能否做到既自主又兼容的指令系统?从龙芯过去二十年的发展来看,这是可以做到的,重点是要打造“3+3+3”的核心能力。一是三大编译器,gcc、llvm、golang。二是三个虚拟机,java、javascript、.net。三是三个翻译器,实现对mips、x86、arm的二进制翻译,直接运行其应用软件。

目前,龙芯中科推出了自主指令系统loongarch,包括基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,近2000条指令,是充分考虑兼容的指令系统。

loongarch的特点主要表现在两个维度:一是用户态,二是核心态。

loongarch是一个精简指令系统,32位长指令、32个通用寄存器、32个浮点寄存器。用户态是给编译器、程序设计者使用。核心态在内存管理、控制寄存器的数量、规格都进行了大量的创新性设计,是符合现代操作系统的设计。

我们对loongarch的性能进行了测试,在相同ip下,一个用mips指令集,一个用loongarch指令集,可以看到,动态指令数下降了15%到20%,总体性能提升了12%左右。

loongarch指令系统能够支持二进制翻译,融合了x86、arm、mips、risc-v指令系统的主要功能特性。

自主指令系统的生态是如何构建的。龙芯中科推出了二进制翻译器,又称lat翻译体系。最底层是loongarch架构的芯片,再往上是操作系统,操作系统往上有几个维度:基于loongarch的原生linux应用,比如说本地化的办公、音视频的应用。

同时,龙芯中科推出了三个翻译器:mips应用往loongarch上翻译,arm应用往loongarch上翻译,x86应用往loongarch上翻译,未来希望能够做到:从mips翻译过来百分之百性能不损失,从arm翻译过来90%性能不损失,从x86翻译过来做到80%的性能不损失。

目前,photoshop、微信、一些游戏都可以在国产平台上很好地运行,生态是有保障的,包括一些主流的linux应用框架都可以原生支持。国产操作系统厂商统信和麒麟也都推出了对应的国产操作系统版本。

关于loongarch平台的ai计算,龙芯中科构建了全域异购ai硬件支撑体系,龙芯cpu+gpgpu、龙芯cpu+asic、龙芯cpu+fgpa分别应用于通用ai计算和专用ai计算。软件方面,龙芯中科构建多层级ai软件生态体系,包括系统支撑、计算框架、算法模型层级,ai领域有完整的解决方案。

目前围绕龙芯中科的产业合作伙伴已经有上千家,通过一系列的措施,包括标准建设、开源软件建设、解决方案提供、安全体系、产品认证、人才培养、出版书籍等,从多个维度构建loongarch产业生态体系。

同时,loongarch正在构建技术产业联盟,在联盟里与产业合作伙伴实现知识产权的共享,一起打造一套生态。希望在2025年消除指令系统之间的壁垒。

 

- the end -

转载请注明出处:快科技

相关标签: CPU处理器 龙芯