与英特尔/AMD间差距能缩减多少
2017-05-14
关于龙芯3A4000,龙芯对其寄予了厚望,特别是吸取了3A2000和3A3000的不足后,做了修改,而且改动比较大,龙芯方面最理想的目标是实现GCC编译器下SPEC06 定点20分,不过这个是最理想状态下的。毕竟CPU公司跳票或者没能达到计划的情况很常见,即便是Intel、AMD都有这种黑历史。
先介绍一下3A4000的进度。3A4000的研发会比较慢,主要是两个目标定的很高,一个是GCC编译器下,SPEC2006测试能达到10/G,另一个是主频到2G。
10/G是什么概念呢?AMD的Zen大概也就这个水平——AMD自己公布的是3.4G,31.5分,换算以下就是9.26/G。不过由于一些优化选项没开,而且编译器是GCC4.6,换一下GCC编译器版本,多开一些优化,10+/G的成绩Zen还是能达到的。
Intel的Haswell,像赛扬的话,因为没有AVX指令带来的向量优化,以及缓存被“阉割”等因素,也就9.3/G,而I5 4460因为不像赛扬被“阉割”,可以到11/G,网友测试Skylake,大约也就11+/G(毕竟Intel这些年在挤牙膏)。
因此,如果龙芯3A4000能到10/G,那在微结构上和Intel、AMD的差距就比较小了。不过,考虑到越往上走,微结构优化难度越大。像3A4000基本上是3A3000里一点一点的抠,因而要实现这一目标的难度很大。
难度到底有多大呢?作为参照,以AMD的实力憋出Zen都用了九牛二虎之力,而龙芯3A3000的微结构GS464E除了带宽是K10的两倍之外,总体上GS464E和K10相当。等于是龙芯要完成AMD从K10到Zen的跨越。
AMD憋出Zen都用了这么久,龙芯要实现这一点,难度可想而知。
第二是主频,龙芯3A3000主频上不去,固然有自身后端设计能力相对有限的因素,但也和人力、财力,以及和代工厂的能力息息相关。而境内的代工厂在同制程下只有台积电的60%,和龙芯长期合作的ST在同制程下也只有台积电的80%,而台积电和Intel又有一定差距。
另外,如果主频要做上去,IC设计公司和代工厂就必须建立非常密切的关系,要开放一些技术资料,像Intel和曾经的AMD、IBM都是IDM厂商,因此可以开放技术资料设计和工艺制造不断磨合。虽然IBM和AMD把晶圆厂卖了,但依旧和GF保持了过去的密切联系,很多技术储备和资料也都保留了下来,这样就可以继续做高主频CPU。但龙芯和ST不可能建立这种关系。
而境内的一些代工厂,在技术实力上还有待提高——境内工艺的一致性比境外工艺有一定差距,包括不同批次的一致性,仿真模型和实际晶体管参数的一致性都和国外工艺有一定差距,设计时要多留些裕量,蒙特卡罗仿真也要把参数波动范围设大一些。
龙芯3A2000在研制中就因为和境内代工厂磨合多耗费了1年时间,而在ST流片的3A3000则非常顺利了,从立项到流片也就用了1年时间左右。换言之,就是龙芯即便和境内代工厂建立了密切的合作关系,境内代工厂也只能说:臣妾做不到啊!
此外,微结构越复杂,后端设计压力就越大,比如像把A53主频做到2G和把Zen的主频做到2G完全不是一个档次的工作难度。像3A4000这种CPU的微结构,设计目标接近Haswell的东西,对于任何一家国内团队来说,后端设计难度都非常大,而且龙芯3A3000和龙芯3A4000,还是使用同样的制造工艺,这样就不可能通过工艺的提升来提升主频,完全靠自身的设计能力把主频提升30%,难度可想而知。
最后,虽然目前微结构优化的成果比较喜人,而且已经有仿真结果了。但由于要达到2G主频,最后可能会做一些权衡。最后能拿出怎么样的产品,只有等待时间检验了。
笔者做一个预测,龙芯3A4000可能会采用ST 28nm FD SOI工艺,如果抢时间的话,保守估计主频1.8-2.0,SPEC06 GCC编译器下定点16-18分。
如果多花费一些时间进行优化,而且龙芯团队发挥正常的话,3A4000主频为2G,SPEC06 GCC编译器下定点18+分。
如果龙芯团队超水平发挥,ST也没有掉链子,也许能实现GCC编译器下SPEC06 定点20分。