龙芯总强调单核同频性能,是因为Pentium4要到25+GHz才能比得上11代酷睿单核

闲话不说,先上图,是SPEC CPU 2006 int(单任务)测试的成绩:

龙芯总强调单核同频性能,是因为Pentium4要到25+GHz才能比得上11代酷睿单核

  上图中的成绩,大部分是本人自己测试的结果。SPEC CPU 2006 的测试可费劲了,Pentium 4运行一遍完整测试(int base/peak)需要24小时以上,飞腾D2000和兆芯KX-U6780A也要至少12个小时,也能侧面说明测试结果的准确性和全面性。某些几秒钟到几分钟就完成测试的软件只能体现CPU某一方面的性能,无法实现全面考察 。其中有两个来自SPEC官网的成绩,因为测试年代久远,测试时的系统环境和编译器等都比较老,所以成绩比不上本人新近测试的相近型号的CPU,只能作为参考。

  i5-760是Intel酷睿初代4核4线程产品,标称主频2.8GHz,睿频3.33GHz,但我试了两款主板默认睿频都只能达到2.91GHz。因此3.33GHz要用当年的高端主板,通过一些附加的设置才能达到。

  i7-1165G7是笔记本CPU,默认环境下无法把睿频保持到较高的水平,因此我进行了两次测试。第一次测试时仅在笔记本下放了个风扇加强散热,第二次测试时卸了后壳,加了个服务器的暴力风扇,再用工具软件强制CPU运行在较高的频率。

  Pentium4(641)在使用GCC编译器时,每GHz的成绩只有2.37。不考虑内存等部件对性能的影响,要想达到i7-1165G7在4.3GHz左右时的56.1分,至少需要23.67GHz的频率。因为桌面版本的CPU可以达到更高的频率,所以Pentium4(641)要想与桌面版11代酷睿比拼单核性能的话,频率就需要达到25~28GHz。

  国产的飞腾D2000、FT-2000/4、兆芯KX-U6780A、龙芯3A4000单核性能相差无几,但我测试的3A4000频率仅1.8GHz,因此它的每GHz成绩比飞腾和兆芯的产品高得多。3A4000是28nm工艺,表中飞腾和兆芯的产品都是16nm工艺,工艺要先进一代。

  龙芯3A5000终于使用了与飞腾和兆芯相当的生产工艺,主频也相当接近,但是单核性能却超过了它们的1.7倍,与3.33GHz时的i5-760相当。只看每GHz的测试成绩的话,3A5000大致是4~6代酷睿的水平,也就是说与4~6代酷睿的单核同频性能相当。

  飞腾和兆芯的单核性能低,比2007年的笔记本CPU T7500还低一些。每GHz的性能更低,还比不上T7500。但它们都宣传达到国际主流水平,和6代酷睿CPU性能相当,是怎么回事儿呢?

  因为D2000和KX-U6780A都是8个核心,全CPU运行SPEC CPU 2006 int(多任务)测试时,都有80分多点。多核心并行运行时,运行效率不是单核心的简单叠加。受内存访问、Cache同步等影响,核心数量越多时,多核加速比越低。因此8个核心的D2000(2.3GHz)和KX-U6780A(2.7GHz),以及4个核心的3A5000(2.5GHz)和i5-760(3.33GHz),在使用GCC编译器测试SPEC 2006 int时,实际的多核心性能都在80分左右的相同水平。

  我们看到6代酷睿i5-6400单任务就有37.6分,那么6代酷睿两个核心跑多任务总能接近70分吧,要是2核4线程那就妥妥地超80分了。因此飞腾和兆芯宣传的6代酷睿水平,实际是用8个核心和2个核心进行比较呢。

  龙芯说3A5000接近主流水平,水分就要少得多,因为单核同频性能与4~6代酷睿差不多,那就和低频版本的i5-6400T(2.2~2.8GHz)比较吧,总归是4个核心对比4个核心,而不是8核对比2核。

  飞腾和兆芯的CPU单核性能低,每GHz的性能更低,因此总喜欢宣传自家的产品核心多,频率高。某些非正式的宣传还说每GHz的性能没有意义,用户买CPU又不是只买单核1GHz。而龙芯却特别重视每GHz的性能提升,总也是有原因的吧!

  Pentium4有3.8GHz的型号,并且总能保持在3.8GHz运行。11代酷睿最高5.3GHz,但几乎不能保持在5.3GHz运行。中端的台式机和高端的笔记CPU通常也是运行在4.0GHz左右,视散热情况有区别。可以说和2005的产品相比,十七年来CPU能稳定保持的频率几乎没有提升。但是11代酷睿每GHz的性能相对于Pentium4却提高了5.5倍以上,Pentium4的单核性能要想达到11代桌面酷睿CPU的水平,运行频率要达到25GHz以上。要是频率相同,那么核心数量也至少要5.5倍以上,如果考虑核心越多并行性能越低的问题,Pentium4可能需要8倍的核心数量。然而这种使用弱小的单核组成的多核系统,对于绝大多数应用软件,运行效率都不如一个强大的单核心。因为无论软件开发者怎么努力,也不可能把任何任务都拆解成多线程并行。

  当然飞腾和兆芯的CPU每GHz的性能远超Pentium4,但是仍然与龙芯3A5000有很大差距。在核心数量相同的条件下,3A5000需要3.5GHz的频率性能才能与i5-6400相当,多花点钱努一努力改善后端设计还是有希望的。而兆芯则需要6.5GHz以上才能达到i5-6400相当的水平,需要比Intel/AMD更强的后端设计能力,功耗肯定是控制不住了。要是与4.3GHz时的i7-1165G7相比,3A5000就需要5.3GHz左右的运行频率,刚刚达到Intel的最高水平,而兆芯需要把频率拉高到10GHz,超出了物理限制。

  我不是瞧不起国产CPU,而是国产CPU的设计水平、资金投入、生产工艺与Intel/AMD相比存在差距是客观事实。CPU的频率提升依赖强大的后端设计和与之配合完美的生产工艺,需要大量的人力和资金投入,国产CPU都还在向3GHz的频率迈进,什么5GHz、10GHz都是天方夜谭。

  每一款CPU核心,要想达到高频率,都需要后端设计与生产工艺相互磨合、共同改进。我相信国产CPU如果投入大量的人力财力,花上几十亿人民币,是可以把某一款CPU的频率提高到3GHz以上,甚至达到4GHz的。但是有意义吗?核心逻辑设计的水平不够,每GHz的性能低下,像飞腾和兆芯那样的CPU核心就算有4GHz,也不过与2.5GHz的龙芯3A5000性能相当。然后CPU核心逻辑设计有改进之后,再花几十亿精雕细琢一番,只为了一款产品的频率?按照国产CPU的销量,收不回成本。

  CPU运行频率是要追求的,但在CPU核心逻辑设计水平低下时,一味追求新工艺和高频率就是在朽木上雕花,浪费资源,浪费时间。飞腾的CPU每GHz的性能已经6、7年没有提升,兆芯的从VIA得到的CPU核心比飞腾还差,至今每GHz的性能还不如飞腾。能不能把主要精力放在改进CPU核心逻辑设计上?改进CPU核心设计很难,特别是当CPU核心本就不是自己设计的时,连看懂都难。在没有能力修改核心设计时,就只能依靠多核心、高频率来提高CPU整体性能。因为改进CPU核心设计很难,就忽视高频率、多核心带来的高功耗和高成本。不改进 CPU核心逻辑设计,把有限的资源花在边边角角上,就是在假装努力,而不是在真正进步。别人的CPU每GHz的性能是飞腾和兆芯的2倍,难道飞腾和兆芯能把频率做到同类的2倍?未来很长一段时间,国产CPU频率再高也高不过Intel,每GHz性能要是也差得远,那就没法比了。

  像龙芯这样,10年间把每GHz的性能从Pentium4的水平提高到酷睿4~6代的水平,从单核性能远低于引进技术的CPU产品,到远远超过兆芯和飞腾,每一代都能看到明显的提高。只有全力设计更好的CPU核心,提高每GHz的性能,CPU频率保持稳中有升,才是夯实基础、不断进取的最优途径。要是CPU核心长期不变,只寄希望于使用更新的工艺提高频率、堆出更多核心,那么不是懒就是蠢。下一代龙芯3A6000频率可能提升不大,但每GHz的性能将与11代酷睿相当,以比6代i5低的频率切切实实达到或超过6代i5的性能。以优秀的CPU核心设计为基础,再去提高频率、增加核心,才能真正追上世界主流水平。

  宣传达到主流水平,实际上是玩8核打2核、64核打14核的游戏,除了欺骗用户、玩弄国产CPU的支持者,还有什么意义?

转载请注明:《龙芯总强调单核同频性能,是因为Pentium4要到25+GHz才能比得上11代酷睿单核

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注