为什么高通和苹果A系芯片都是基于arm的芯片,性能差别却这么大
来源:西部游星 | 作者:adminuser | 发布时间: 2018-12-21 | 2371 | 分享到:
为什么高通和苹果A系芯片都是基于arm的芯片,性能差别却这么大


拿A10做例子说明:

  • 面积换取性能和功耗。面积会增加成本,但是能换取功耗和性能。其他家不是不能这么干,是成本过高无法收回。没勇气!
  • A10是6m缓存,而在其他家一般也就2m左右。
  • A10是六发射,A73是双发射。先不管发射宽度逐渐递减的效果,但是三倍的发射流水线宽了这么多,怎么可能没收益。
  • 其他各种包括指令预测、电源、电压、时钟控制,整套方案都精心设计过。
  • 苹果A10的CPU频率并不高,但是Geekbench单核性能却接近了Intel桌面处理器的性能,跑分比 A73高出一大块。
为什么高通和苹果A系芯片都是基于arm的芯片,性能差别却这么大


ARM提供各种积木块,而怎么把积木搭好,以及自行研发积木块,那是另一门大学问

简单打个比,你去买一盒乐高积木,乐高(ARM)给了你一堆积木, 包括

  • CPU族, 比如Cortex-Axx,Cortex Mx;
  • GPU族,比如Mali-Txxx/Gxx;
  • ISP族,比如Vxx系列
  • 总线族(AMBA),比如APBx/AHB/ACE/CHI, Corelink 系列
  • 外围设备接口,类如各种Controller类
  • Debug,security 等等

Debug tool 等等现在ARM产品线已经分地非常细,AI 等IP 也有供应了。ARM官网上很全。

积木块可以是RTL(代码实现)级别,门电路(原理图)级别,客户拿回去自己研究造积木块);也可以是物理形态(Physical IP)级别,layout都有了,客户拿回去可以直接用。

ARM还附送给你了一本手册教给你每代两三来种不同的积木模块(公版设计)。大家如果都参照这个手册,那么搭出来的是差不多的东西--十年前还有不少这样玩家,现在基本都没有了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~

好,这时候有几个NB的玩家(Qualcomm,MTK,展讯为代表)按照自己对于市场的了解,搭了些显著不同于手册上面的成品模块(芯片 IC),其中也使用自己研发的积木块,以及自行购买自非乐高家的第三方积木块。他们的目的是卖这些积木模块给下游N个客户去搭手机。因为要满足很多种不同需求,这几种成品积木模组必须要做很多妥协(泛制化)。

这一段是题外话,为了照顾需求急出货快,或者能力相对弱一点的客户,MTK为代表,他灵机一动,更进一步拿自己的模块(IC),整出来更高级的成品玩具(Turn-key 参考设计)。客户如果不要求什么客制化的feature,拿走这个设计基本上可以做产品了,这个思路和打造一颗芯片比较类似。

以高通为例,

  • 他可能用标准Cortex-A7x/Mx,也可能用自己研发的核心(比如Kryo,这个不太成功)
  • 他不用Arm的Mali,用自己的Adreno,这个很成功;
  • 他应该用了AMBA, 做没做定制化不确认。
  • 他用了很多第三方的其它IP block;
  • 他要为不同的客户提供不同的套餐(好多好多种组合,snapdragon 2xx/4xx/6xx/8xx); 组合是数量级复杂的。
  • 为了最大化利用ARM生态的便利,接口/外设/调试手段,他都倾向于尽量和行业主流兼容。

这是典型的泛制化做法,选择太多了,有时候很痛苦(大多数客户买单吗?)。

另一些个NB的玩家(APPLE,海思,三星为代表),根据自己的需要,自行搭了个成品模块。和前一类玩家最大的区别是,他们不需要管其它客户的需求,只要满足自己的要求即可。他们也不需要顾及什么高中低档位的不同需求,只需要给自己家的旗舰手机供货,所以约束要少得多。因此他们可以相对不计成本地去追求自己的诗意和远方(定制化)。

以苹果为例:

  • 他使用自己研发的核心,著名的A系列;架构做了大幅度修改和优化,他不需要一定兼容arm ISA 指令集;
  • GPU使用Imagination的PowerVR定制版本,从A11开始抛弃了Imagination,等同于直接搞死。
  • 他应该使用了自己定制化的AMBA类BUS;
  • 他也用一些第三方的其它IP block; 但是很多都是私有版本或者定制版本;
  • 他的客户就是自家兄弟,所以需求就在家里面关上门讨论解决;
  • 他的生态环境全部是封闭的,只有别人follow他的标准;

这是典型的定制化做法,最大的风险在于终端能否大卖。

结论:

以上这完全两种不同的玩法(泛制化vs定制化),自然出来的东西差别巨大。因此你甚至就不能去比较这两个成品模块。粗暴一点来打比方,就像这样:

  • 乐高搭出来的大巴车(要考虑拉很多人,带着各式行李的人,推着孩子上车的人;有人要车开得稳,有人要车开得快,有人要开得远);很显然一种大巴车不能满足要求,高通整出大巴车,面包车,小巴车,各种各样的载客车型。
  • 乐高搭出来的私家车(虽然核心需求是类似的,就是平稳/快速/续航,但是因为我只考虑带一家人,限制少了很多,苹果设计师就有余粮做各式各样的优化,全部堆在着一辆私家车上。
为什么高通和苹果A系芯片都是基于arm的芯片,性能差别却这么大