半岛·综合体育荣获国产科技特别贡献金奖:龙芯CPU的性能升级之路从2001年龙芯项目组成立,到2008年龙芯公司诞生,20多年来,龙芯CPU从未像今年这样扬眉吐气。最近刚发布的龙芯3A6000处理器总体性能与Intel公司2020年上市的第10代酷睿四核处理器相当,形象地诠释了厚积薄发的含义。龙芯3A6000是4核8线程的规格,对标的是酷睿i3-10100,至于第10代酷睿那些核心更多的型号,龙芯也很快会推出后续产品去与它们对应。
在酷睿14代已经推出的当下,第10代酷睿i3已经不怎么起眼,不过我们不能只盯着差距而忽略龙芯的进取。以往的龙芯看似前路茫茫,现在的它已能拽住市场主流CPU的尾巴,那么未来有朝一日,龙芯CPU是否能与Intel、AMD以及ARM的产品齐头并进呢?
从1971年到2001年,这30年间是集成电路和CPU技术高速发展的阶段,CPU的集成度和运算速度呈指数级增长,平均18个月翻一番,30年间CPU性能提高了百万倍。不过因为CPU性能越来越高,所以性能翻倍的时间间隔也越来越长。从2001年到2010年这10年,Intel CPU的单核性能上涨了十多倍,但从2011年至2020年这10年,同级别Intel CPU的单核性能只翻了一倍。然而,Intel在这20年之所以能保持着单核性能近乎线性增长,说明它其实是游刃有余的。果然,在AMD给予Intel“惊吓”之后,Intel第12代酷睿的性能突飞猛进。虽然从第12代酷睿到酷睿14代,Intel又恢复了以往的节奏,但谁也不知道它是否留有余力。
2001年国内的CPU设计技术已经与世界脱节20~30年,龙芯CPU在这一年才开始孕育,准备挑战已经成长了30年的x86 CPU产品。
由于科技水平的整体提升,龙芯不需要从Intel 4004的水平做起,但第一款龙芯CPU——龙芯一号的性能极低,只与Pentium(586)同级别,这些古老的CPU甚至运行不了SPEC_CPU_2006。龙芯一号的性能不到同年Intel Pentium4的1/20,假如用SPEC_CPU_2006对它进行测试,按比例算成绩就只有0.2分左右。因此,纵然开始几年龙芯CPU性能每年都翻倍,但增长的绝对性能却不到Intel的零头。测试成绩从0.2翻倍到0.4,再翻倍到0.8……还要再翻两次才能抵消Intel每年上涨的两三分。如此推断bob半岛,在接下来的十来年里,龙芯与Intel的绝对性能差距会越来越远,这令最有信心的人也逐渐迷茫。
2006年之后,因为某些原因,所有与“芯”有关的项目都备受质疑,在各种压力下,龙芯项目组开始急于求成。单核性能不足那就做多核,提升通用处理性能太难那就去提升专用性能,于是接连诞生几款看似强大的产品:4核的龙芯3A1000、浮点运算速度达到192GFlops的8核龙芯3B1500。龙芯3B1500的浮点性能甚至超过了Inte酷睿i7-980Ebob半岛,可是绝大多数应用软件需要的是单核通用处理性能,再强大的浮点性能也无法让各种软件都流畅运行。从2006年到2015年的10年间,龙芯CPU的单核通用处理性能提升缓慢,哪怕是特定行业的客户也视如敝屣,龙芯的发展境况雪上加霜。
2011年龙芯重整旗鼓,确立了桌面CPU的研究重心——提高CPU单核通用性能,并决定在每GHz的性能达到主流水平之前,最多只做4核CPU,放弃当时的众核路线。因为资金不足,龙芯开始“减员增效”,又分散了大量的精力设计能赚钱的嵌入式CPU,以维持桌面CPU的研发,新核心的研发进度被拖慢。龙芯3A2000仿真测试完成后还要等着筹集流片的钱,直到2015年才正式降生。在间断等待期间,龙芯的研发者也没有闲着,比如同步多线程、二进制翻译、动态调压调频等都诞生于这个阶段,只是要经济状况好转半岛BOB·中国官方网站、技术条件成熟之后才能把科研成果变成商用产品。
龙芯3A2000改用国内40nm工艺,主频从龙芯3B1500的1.5GHz降回1.0GHz。但因为每GHz的性能提高到了2.5倍,所以单核性能达到Intel Pentium 4的水平。4核的龙芯3A2000整体性能是Pentium 4的3倍以上,应对普通的办公已经没有问题。
龙芯3A2000帮助龙芯实现了扭亏为盈,2017年发布的龙芯3A3000则是更换工艺提高频率的版本,龙芯已经启用了Tick-tock的策略:一代升级工艺,一代升级核心。2019年发布的龙芯3A4000使用了新设计的核心,每GHz的性能接近AMD的Zen核心。龙芯3A4000成为龙芯与Intel性能差距的转折点,它们的距离不再是越来越远。接下来,龙芯3A5000升级工艺,龙芯3A6000再次升级核心,通过提升单核心性能,低频打高频,一举把与Intel的差距缩短到了3年。从龙芯CPU的进步趋势,我们看到了龙芯追赶Intel产品性能的希望。
如果只看CPU性能是否接近,前段时间有家公司找Intel做的OEM产品当然更加接近Intel CPU的性能,但是它不可能用Intel的产品去战胜Intel。同样,依赖国外授权的架构和IP核也不可能战胜规则的制定者。
只要CPU中使用的标准、专利、关键技术等都由国外掌握,或者依附国外的软硬件生态,就随时可能失去竞争的资格。如果不想前进的路上突然出现深渊,就必须提升自主的层次。龙芯是极少数主动提升自主层次的国产CPU企业之一,少有CPU企业像龙芯这样不但自己设计指令集、建立自主软硬件生态,还力求所有IP核都自主设计。
龙芯二十多年时间累积了上百个IP核,覆盖了CPU功能的方方面面。这里我们列出了龙芯自主设计的重要IP核,不含已经淘汰的版本。其中用在龙芯3A6000中的全部IP核全都是自主设计。自主的LoongArch指令集和自主设计的IP核,使龙芯设计CPU时完全不必依赖外部授权,有底气面对一切封锁和制裁。
很多人认为,因为龙芯不能安装Windows,就注定会让用户望而却步。这只是一种弱者思维,任何强大的生态都有弱小的时候,并且龙芯LoongArch指令集的软件生态已经越过了拐点,正在从“能用”向“好用”转变。对于Linux桌面和服务器用户来说,使用龙芯电脑与其他电脑几乎没有区别,各种开发工具、开源软件、国产常用软件等都有龙芯版本,Linux软件生态的成熟度已经与x86和ARM是同等水平。
很多Linux用户会用Wine运行Windows软件以弥补Linux的不足,在基于龙芯LoongArch架构的电脑上也同样可以这么做。尽管Wine和Windows软件都只支持x86架构,但龙芯凭借自己的二进制翻译技术能把它们一并翻译。龙芯的目标是基于龙芯的基础软硬件发展自己的应用,但作为过渡手段,还要通过二进制翻译技术兼容部分x86和ARM的应用。龙芯还用二进制翻译彻底解决了困扰Linux几十年的打印机兼容性问题,在龙芯电脑上可以直接使用Windows版的打印机驱动,即使x86版的Linux也没有这样的能力。龙芯这种一边发展自主软件生态,一边“收割”Windows应用软件的策略,使龙芯电脑可用的软件迅速丰富,基本扫清了桌面和服务器的应用障碍。
而在嵌入式行业,龙芯的策略是把CPU架构及核心授权出去。龙芯是国内唯一向其他组织授权通用CPU指令集和IP核的公司半岛BOB·中国官方网站。放眼当世,这样的企业不外乎Intel、AMD和ARM,现在还加上龙芯。而依赖Intel、AMD和ARM授权的CPU厂商,则不具有二次授权的资格,甚至不能对指令集和IP核自主升级。
LoongArch指令集授权正在筹划,龙芯设计的CPU核心已经向10家公司和组织开放授权,其中雄立科技已经完成了产品化,成为第二家设计和销售LoongArch架构CPU的企业。
我们知道CPU是由很多功能模块组成的,大到CPU核心,小到温度传感器,各种功能模块都统称为IP核。大多数CPU企业都是购买CPU核心、内存、PCIe等各种IP核再集成为CPU。国内只有龙芯因为积累了完备的IP库,可以不依赖外来IP核。
CPU核心是CPU最重要的组成部分,龙芯二十多年来大约设计了14款CPU核心。龙芯的CPU分为三个大系列,命名为1、2、3系列或小、中、大系列。龙芯CPU核心的型号也极其直白,比如LA132的第一个数字“1”表示单发射,后来的“32”表示32位,LA664就是6发射64位。
1号系列CPU核心用于低功耗嵌入式设备,其中LA132的用途及每GHz的性能对标ARM Cortex-M4。龙芯的合作企业有用它做SSD主控的、做智能门锁的、做机器人玩具的,还有做跑步机的……
2号系列CPU核心面向的是中高端工控、网络设备、轻薄笔记本等。其中LA264对标的是ARM Cortex-A55,LA364对标ARM Cortex-A75(实际上LA364每GHz的性能与Cortex-A76更接近)。Cortex-A76工艺下限是TSMC的16nm,推荐7nm,而LA364仅要求28nm工艺即可,使用12nm工艺时就能达到与使用7nm工艺的A76相近的频率,更符合国内实际情况,也更有性价比bob半岛。
3号系列CPU核心用于桌面和服务器CPU,龙芯3A6000的核心就是LA664,上一代龙芯3A5000的核心是LA464。龙芯3号系列的核心经过了4次大版本迭代,LA664架构的龙芯3A6000的总体性能已经演进到了第10代酷睿的水平,在一些测试软件下,单核心同频性能甚至能达到挑战14代酷睿的水平。
4个代次的CPU核心不只是规格的变化,更重要的是每一个大版本都进行过多次改进,通过优化微结构实现性能提升。设计CPU微结构的细节是CPU企业的秘密,除了微结构本身,还有设计思路、优缺点、多种方案的抉择过程……只有高质量的设计锻炼,才能融会贯通。如果以为买到一套CPU核心源码就能具有同等的能力,那就像学渣以为拿到学霸的试卷就能并列第一那样滑稽。
因为LoongArch的设计比MIPS优秀得多,所以在GS464V被LA464替换之后,每GHz的性能提高了10%左右,这是人们始料未及的。不过LA464毕竟不是专为LoongArch设计,很多指令是通过微操作进行兼容处理,因此基于LA664的龙芯3A6000这款CPU才是LoongArch更合适的载体。LA664的规格提高了很多,微结构也有重大突破,每GHz的性能提高了60%以上。特别是增加了超线程支持后,多核性能提高一倍以上。
每GHz性能挑战14代酷睿还不是LA664的极限,据说以LA664为基础优化出的后续版本预计每GHz的性能还能提高20%~30%。如果能实现,这将是超过Intel处理器,挑战苹果处理器的水平。苹果也是走的高IPC路线,擅长低频打高频,只不过龙芯受限于工艺,主频比苹果的CPU更低。在工艺落后,也没有充足的资金多次流片改进物理设计的现状下,提高每GHz的性能是最具性价比的路线,也是难度最高的路线。
龙芯除了升级CPU核心,其他IP核也在持续改进和增加。比如3A6000中的内存虽然和3A5000的规格一样,都是DDR4 3200,但实际访存性能提高了一倍,比第10代酷睿访问相同规格内存的速度还快,和第13代酷睿差不多,还突破了片间高速互联技术。龙芯第二代自研图形处理器核LG200支持图形加速、科学计算加速、AI加速,并支持OpenGL 4.0和OpenCL 3.0的API。龙芯的这些年进步所形成的技术储备,使它能更加自由、快速地组合产品,比如最下面一张图片中没有实物照片的就是规划中的新款CPU。
桌面CPU已经有了3A6000,服务器CPU 3C6000就成了龙芯的当务之急。3C6000集成16个LA664核心,因为单核性能及多核效率提高,通用处理器性能将达到上一代3C5000的两倍,访存性能也是3C5000的两倍。有了3C6000之后,就能使用龙链技术(Loongson Coherent Link)把多颗龙芯3C6000整合成核心更多的产品,如32核的3D6000、64核的3E6000半岛BOB·中国官方网站。
同样比较迫切的是2K3000,它集成了8个LA364核心以及GPGPU。2K3000的单核性能与上一代桌面CPU 3A5000相当,8核并行性能应该非常接近4核8线的低功耗、全集成设计使它比3A5000和3A6000更适合轻薄型笔记本电脑。
最后的7000系列是升级工艺、提高频率的一代。龙芯7000系列能把频率提到多少尚未可知,但以龙芯低频战高频的能力,料想能与Intel酷睿14代以及同代的服务器CPU匹敌吧!
Intel、AMD和ARM都是技术强大、积累深厚的CPU企业,又是各个领域的先行者,龙芯的市场竞争能力远不如它们。虽然龙芯无论在多么拮据的时候都在坚持研发更好的产品,但市场对龙芯CPU的接受程度又有谁说得准呢?不过市场归市场,技术归技术,只要龙芯CPU性能可与Intel这些巨头齐头并进,就是自主CPU的大胜利。
最后我们想说,龙芯就像是无数中国IT硬件从业者的缩影,以不怕成泥的无惧无畏、无意哗众的苦干实干,向世界表达中国IT人的倔强。为此,我们特向龙芯3A6000颁发“2023年度国产科技特别贡献金奖”!
在龙芯3A6000发布之后,《微型计算机》特地对龙芯中科技术股份有限公司副总裁张戈博士进行了专访,他在采访中透露了龙芯处理器当前的研发设计思路,以及研发团队对龙芯产品未来发展方向的一些展望。
张戈博士,龙芯中科技术股份有限公司副总裁,长期从事国产“龙芯”系列处理器研发、管理、市场与产业化相关工作。他全面参与了龙芯多款产品的总体研制工作,曾担任国家“核高基”重大专项子课题、国家自然科学基金,以及863计划,973计划项目子课题等多个课题的课题负责人,并在国内外学术刊物与IEEE国际会议上发表论文30余篇,申请专利多项。
张戈:除了指令集以外,龙芯自主研发掌握了上百款关键IP。比如,现在的高速DDR4、DDR5内存,其实很考验内存访存带宽的设计能力。我们龙芯3A6000实测访存效率对比第10代酷睿都是大幅领先的。这也是为什么我们同频对比性能会那么好。龙芯大量的DDR和PCIe里的PHY、数字模拟转换接口,都是自己完成的,可以避免成为“卡脖子”的卡点。这和购买第三方IP是不一样的。未来龙芯还要为实现平台化和低成本做进一步考虑,不但关注CPU,而且还要关注配套的IP,包括GPU、未来的AI能力配套甚至是时钟芯片等。
张戈:因为我们认识到,龙芯此前主要的不足点在于单核心的性能不强。这也是此前国产CPU通常会遇到的问题。因为大家都是用的开源或者授权的架构,只能“单核性能不够,多核心去凑”,所以我们优先考虑提升单核性能。举个例子,在桌面处理器来看4核心其实够用了,更能发挥单核的性能优势,绝大多数使用场景不会需要更多的核心和线程。就好像一群小学生,单纯比智力开发水平,正常情况下怎么也比不过一个博士。我们在桌面市场目前更多考虑的是性价比以及低功耗这两个维度,但龙芯在有了很强的单核心之后,未来会很快在服务器端推出16核、32核以及64核的产品,来大幅度提升服务器市场的并发算力。
张戈:龙芯未来如果做大小核,应该会考虑让不同CPU核心的性能不一样,这样才能让成本和性价比优势真正凸显。现在龙芯内部就有好几个不同的IP,比如龙芯3A6000用的LA664,这是前端6发射的64位乱序执行架构。但龙芯也有低端的LA132结构,就是前端单发射的32位顺序执行架构。如果因为某种需要组合起来,就可以缩减面积,降低功耗和成本。但总归首先需要单核心的性能先强大起来,然后再做不同的系列和组合。
张戈:当算力到达一定程度的时候,瓶颈或者说压力就会来到内存访存和I/O的能力。龙芯作为通用处理器,就是要保证通用计算能力与访存吞吐的平衡,龙芯3A6000是四核的结构,配备了16MB缓存,总体规模是不小的。未来龙芯会继续去掌握内存的设计、Chiplet设计,以及包括使用HBM内存这样嵌入式内存,使其实现与CPU芯片之间的高带宽互联,进一步提升性能,并不只是考虑增大L3缓存一个方式。
张戈:客观来讲,现在龙芯的GPU配套还不是很成熟。我们现在在做自研的显卡,因为原来我们主要搭配的是AMD ATI的显卡,用的是开源的驱动,性能其实是比较偏低的,没有充分发挥出我们CPU的能力,所以现在我们开始自研GPU。我们现在出的是两片方案,GPU先不要做到CPU内部,而是做一个外围的桥片,桥片里面可以包含USB接口、网络接口以及2D/3D GPU,同时桥片里面也可以再出PCIe接口,对接独立显卡。
张戈:未来的计算机确实可能会有AI PC的概念,因为今年炒得很热,所以接下来龙芯也会把一些8bit、16bit这些高算力、不同精度的高效率加速模块给做进去。我们认为其实AI芯片本身的门槛并不高,之所以现在没有去做,是因为眼下我们认为不应该花费更大的精力去研发这一部分。
MCer请注意,由于微信公众号调整了推荐机制,如果你发现最近很难刷到Microcomputer(微型计算机)公众账号推送的文章,但是又不想错过微机的精彩评测内容,可以动动小手指把Microcomputer设置成星标公众账号哦!
Copyright © 2012-2025 半岛BOB·「中国」官方网站 版权所有 Powered by EyouCmsHTML地图 XML地图 鲁ICP备18053584号-2
收到你的留言,我们将第一时间与你取得联系