从2001年龙芯项目组成立,到2008年龙芯公司诞生,20多年来,龙芯CPU从未像今年这样扬眉吐气。最近刚发布的龙芯3A6000处理器总体性能与Intel公司2020年上市的第10代酷睿四核处理器相当,形象地诠释了厚积薄发的含义。龙芯3A6000是4核8线程的规格,对标的是酷睿i3-10100,至于第10代酷睿那些核心更多的型号,龙芯也很快会推出后续产品去与它们对应。
在酷睿14代已经推出的当下,第10代酷睿i3已经不怎么起眼,不过我们不能只盯着差距而忽略龙芯的进取。以往的龙芯看似前路茫茫,现在的它已能拽住市场主流CPU的尾巴,那么未来有朝一日,龙芯CPU是否能与Intel、AMD以及ARM的产品齐头并进呢?
龙芯CPU从零开始的追逐
从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每年上涨的两三分。如此推断,在接下来的十来年里,龙芯与Intel的绝对性能差距会越来越远,这令最有信心的人也逐渐迷茫。
2006年之后,因为某些原因,所有与“芯”有关的项目都备受质疑,在各种压力下,龙芯项目组开始急于求成。单核性能不足那就做多核,提升通用处理性能太难那就去提升专用性能,于是接连诞生几款看似强大的产品:4核的龙芯3A1000、浮点运算速度达到192GFlops的8核龙芯3B1500。龙芯3B1500的浮点性能甚至超过了Inte酷睿i7-980E,可是绝大多数应用软件需要的是单核通用处理性能,再强大的浮点性能也无法让各种软件都流畅运行。从2006年到2015年的10年间,龙芯CPU的单核通用处理性能提升缓慢,哪怕是特定行业的客户也视如敝屣,龙芯的发展境况雪上加霜。
2011年龙芯重整旗鼓,确立了桌面CPU的研究重心——提高CPU单核通用性能,并决定在每GHz的性能达到主流水平之前,最多只做4核CPU,放弃当时的众核路线。因为资金不足,龙芯开始“减员增效”,又分散了大量的精力设计能赚钱的嵌入式CPU,以维持桌面CPU的研发,新核心的研发进度被拖慢。龙芯3A2000仿真测试完成后还要等着筹集流片的钱,直到2015年才正式降生。在间断等待期间,龙芯的研发者也没有闲着,比如同步多线程、二进制翻译、动态调压调频等都诞生于这个阶段,只是要经济状况好转、技术条件成熟之后才能把科研成果变成商用产品。
龙芯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核的公司。放眼当世,这样的企业不外乎Intel、AMD和ARM,现在还加上龙芯。而依赖Intel、AMD和ARM授权的CPU厂商,则不具有二次授权的资格,甚至不能对指令集和IP核自主升级。
LoongArch指令集授权正在筹划,龙芯设计的CPU核心已经向10家公司和组织开放授权,其中雄立科技已经完成了产品化,成为第二家设计和销售LoongArch架构CPU的企业。
优秀的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相近的频率,更符合国内实际情况,也更有性价比。
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未来的产品规划
龙芯除了升级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。
同样比较迫切的是2K3000,它集成了8个LA364核心以及GPGPU。2K3000的单核性能与上一代桌面CPU 3A5000相当,8核并行性能应该非常接近4核8线程的3A6000。2K3000的低功耗、全集成设计使它比3A5000和3A6000更适合轻薄型笔记本电脑。
最后的7000系列是升级工艺、提高频率的一代。龙芯7000系列能把频率提到多少尚未可知,但以龙芯低频战高频的能力,料想能与Intel酷睿14代以及同代的服务器CPU匹敌吧!
Intel、AMD和ARM都是技术强大、积累深厚的CPU企业,又是各个领域的先行者,龙芯的市场竞争能力远不如它们。虽然龙芯无论在多么拮据的时候都在坚持研发更好的产品,但市场对龙芯CPU的接受程度又有谁说得准呢?不过市场归市场,技术归技术,只要龙芯CPU性能可与Intel这些巨头齐头并进,就是自主CPU的大胜利。
审核编辑:刘清
-
处理器
+关注
关注
68文章
19191浏览量
229311 -
cpu
+关注
关注
68文章
10832浏览量
211301 -
龙芯
+关注
关注
3文章
336浏览量
31220
原文标题:荣获国产科技特别贡献金奖:龙芯CPU的性能升级之路
文章出处:【微信号:Microcomputer,微信公众号:Microcomputer】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论