额……老铁们,我图吧老捡垃圾的了。之前咱在麒麟9000S发布前不久更新过一篇文章,当时咱对于家用机上HT/SMT超线程技术对于普通个人用户的作用是持否定态度的,但是最近上新的麒麟9000S据传用了超线程技术,所以加更一期。

前作:为什么图吧垃圾佬不认为超线程有用? 中咱提到了强如苹果华为高通联发科三星都没有在处理器中使用过超线程技术,一个物理核心就对应一个逻辑线程非常完美,这才更新几天结果光速被打脸所以简单分析一下原因。

打开网易新闻 查看精彩图片

首先说下麒麟9000S的情况,这个U并不是之前网传3nm设计的麒麟9010/9100,也不是类似麒麟710A的麒麟9000简单换境内可控工艺版本,而是完全重新设计的架构。CPU+GPU全自研,集成5G基带。

打开网易新闻 查看精彩图片

GPU不是Mali,开原神和之前咱测过的格兰菲1020国产显卡一样会有贴图错误(1020没这么严重只在启动画面和城区建筑出现),好在没有摩尔线程那种早期驱动进不去原神或者直接会闪退的情况。

工艺据说是SMIC的N+1或者N+2去美化工艺,约等于三星8nm或者TSMC早期7nm DUV(麒麟990 4G工艺)

打开网易新闻 查看精彩图片

这波境内先进工艺能起来据说是21年当年接了不少矿机的单子所以有足够的利润发展填补良率问题(外国产能接收矿机订单较少),这下真要感谢矿潮了属于是,属实是一盘大棋,想不到回旋镖最后飞回来了,矿狗还真帮助国产芯片发展了。虽然算力上浪费了大量能源结果被贡献给了非法金融活动,但是侧面来看矿机的订单还真助力国产工艺进步了(当然和一般屯显卡挖矿的矿狗或者倒卖矿卡的贩子没啥关系就是了)。

CPU也不再是普通的ARM公版,虽然过去常说乱研发不如不研发(比如高通三星都曾自研过ARM核心但是最后都翻车回到公版,除了苹果以外没有厂家在商用产品中大量使用自研CPU核心),但是现在时过境迁也不能按过去的商业思想做事了,所以华为这波上自研微架构支持超线程也是有可能的。

根据安兔兔平台上的数据,麒麟9000S搭载12个核心,2+6+4的配置,其中A34核心2个,A78AE核心6个,A510核心4个,最高频率2.62 GHz。GPU的型号是Maleoon 910。

传说中该处理器在中核与大核上都支持超线程,自研核心。

打开网易新闻 查看精彩图片

目前我们无法确认是否真的存在实际的额外线程,还是仅仅是调度器占位。如果麒麟9000S支持超线程这事能确认,基本就确认自研架构了。因为没有其他高性能支持超线程的ARM核心。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

这里我们取信这位老哥的说法因为他之前做过鲲鹏920的TSV110架构分析,这种架构分析的文章在国内是比较少的很多时候咱过去调查龙芯圈攻击其他国产芯片的时候咱要看其他国产芯片是否为自研架构就需要上外网查找英文资料,说来惭愧国产芯片国内的网站居然没有做架构分析的文章要去查看外文资料。

打开网易新闻 查看精彩图片

因此既然老哥有能力做架构分析,应该相比其他一些没撇的UP主或者MCN专业性要强一些。既然老哥认为不能确定是否支持或者启用超线程那咱就默认它可能是没有也可能有。这里我们假设它有然后进行分析

打开网易新闻 查看精彩图片

可能麒麟9000S用的鲲鹏930同款TSV架构的CPU原计划设计是支持SMT超线程的,但是在麒麟9000S上没有启用。原因也比较简单,根据上期的文章咱之前的分析来看超线程对于大部分工况下的性能提升有限,而且代价是功耗的提升而且往往得不偿失(宣传提升30%实际上只有7-18%,不少工况超线程无提升甚至还是负优化。同时开启超线程会增加30%的功耗甚至更高可达50%),且通常只能提升轻载下的核心调度效率问题,而这个问题ARM的大小核多少年前就已经解决了,平时低负载的时候用小核心,所以也不用太过于担心低负载下单核心调用不足的问题因为这时间大核心本身就处于空闲的状态所有任务都加在小核心上。

打开网易新闻 查看精彩图片

TSV new是一颗6发射的微架构,应该是原定给鲲鹏930用的和TSV200相似(原配是台积电N5)。性能与真正的麒麟9000很接近,不过功耗略大。

至于这个6发射就很有意思了,CPU的规模不仅要看核心数量和流水线长度,也要看发射数量。简单来说单核CPU如果想要在有限的频率下提升性能就可以堆晶体管增加发射,一般来说同样制程频率下发射数量越大的CPU性能越高。所以之前龙芯吧小吧主( @guee 彭东峰)总喜欢拿着自己4发射的CPU到处说国产其他同行2-3发射的小核心低功耗X86 ARM CPU同频性能(他们甚至称为IPC)垃圾单核性能太弱,相当于强拉着ATOM小核心(直到14nm末期一直是双发射)要和CORE大核心(skylake开始六到十代的牙膏核心架构工艺未变,四发射)比同频性能了,属于是一般用户不了解超标量、多发射、乱序执行架构设计原理最多也就知道同频性能就可以打信息差尬吹一波,总之给人看了就很乐。

英特尔都知道现有的堆核在环形总线上塞大核心终将有尽头也在开始堆小核心了,四核一簇在环形总线上只占用一个节点怎么着也能打得过一个大核心的,而且小核心本身能耗也不高生产起来由于晶体管数量少面积小良率更高反倒还便宜(当然N305的这种规格大砍+NT定价产品是另一回事纯厂家行为了)。intel的atom没有超线程,苹果没有超线程,arm没有超线程,你能说它们没有能力做超线程吗?同理国产X86 ARM走的是小核心路线你能说他们没有能力研发大核心没有自主创新迭代能力吗?

总之图吧垃圾佬认为,麒麟9000S可能有超线程但是可能出厂的时候就默认处于关闭的状态。低功耗应用给超线程其实并不是特别合理,如果原生支持超线程说明这个核心的设计很可能原定不是给移动端手机芯片而是给服务器。那么麒麟9000S的自研CPU核心大概率应该是给鲲鹏930设计的,移动端只是顺带。因为超线程本身的实现是需要硬件上增加晶体管的,所以一个架构从设计开始出厂前就已经确定能否支持超线程了,至于像I5 8400 I7 9700K这种支持了但是出厂锁定了超线程功能厂家关闭的可以另算,但是到用户手里能关闭超线程的时候跑分一定是会掉的,说明原生支持超线程的核心设计关闭超线程之后一定会损失性能,所以如果用不到超线程的功能的话最好从核心设计的时候就确定不支持超线程。所以麒麟9000S如果真的支持超线程那对于手机用户来说不是什么好事,就算出厂的时候默认关闭其实核心内部为了维持支持超线程技术的晶体管还是在的,只要有晶体管就会耗电不管这个模块的功能是否使用,除非有什么支持关闭功能单元的设计那就是另外一回事了,一般图吧接触的像是八核屏蔽核心变四核/八核变六核/六核变四核/四核变三核或者双核这种多少还是比原生核心要多费一些电的,即使功耗没有关闭核心之前那么高,也绝对比原生就是这些核心的产品高。

所以目前的分析结果是如果麒麟9000S的CPU部分自研的时候就考虑是作为移动端使用那就可能真没有超线程,现在传出来的信息大佬本身都没法确定,没准是乌龙。就算支持超线程也不太可能用,至少未必在手机上会启用,很可能是处于默认关闭的状态就像上文提到的INTEL I5 8400 I7 9700K之类的,原生设计支持超线程但默认关闭的代价是损失性能提高功耗。

需要纠正上文一个地方描述不清晰就是arm在给自动驾驶用的核心就有超线程,只不过移动端没有,arm在给自动驾驶用的A65AE核心就有超线程。超线程只能增加流水线的利用率,对能效是无益的,增加多少性能就增加多少能耗,甚至因为总体负载大了需要更高电压以及超线程本身就增加复杂度能耗可能反而会更差。

相比服务器或者桌面级产品这个核心的频率定的很低,首先鲲鹏这种级别的核心并非面向移动应用能耗是吃亏的,六发射规模也是相当大了,其次境内代工厂高频能耗肯定还是有打磨优化空间,这两点决定了麒麟9000s的频率必然很低,不然散热根本压不住(三年前的麒麟9000体验打不过屏蔽部分核心的麒麟9000E)。低频高性能堆了发射也就是说同频性能(所谓的IPC)估计会比较高,没准和同为6发射的3A6000相当甚至更高。当然在面对制程劣势的时候保证性能的方法不止这一种,小核心降低单核规模但是同时降低单核的晶体管数量降低功耗降低核心面积提升良率降低成本所以更容易堆核(四核的成本和大核心单核差不多,正常来说功耗也可以一样),在比较低频的状态下也能获得不错的使用体验。 图吧垃圾佬又不看什么IPC咱只看能效比,没有CPU是掐频率计费的最后还得看耗电量,所以龙芯吧小吧主炮制的兆芯所谓同频性能单核性能的问题我们下期会讲。还有本期我们的结论不变,SMT超线程对于个人PC用户就是没什么用甚至很多时候没有超线程比有更管用,所以就算兆芯以后能搓出支持超线程SMT的核心估计也只能给KH50000这种服务器产品用,给个人用户就算实装了也意义不是很大估计到时候还得关所以这技术也不是什么很值得宣传的事。

就这样,谢谢朋友们!