拿A10做例子说明:
面积换取性能和功耗。面积会增加成本,但是能换取功耗和性能。其他家不是不能这么干,是成本过高无法收回。没勇气!
A10是6m缓存,而在其他家一般也就2m左右。
A10是六发射,A73是双发射。先不管发射宽度逐渐递减的效果,但是三倍的发射流水线宽了这么多,怎么可能没收益。
其他各种包括指令预测、电源、电压、时钟控制,整套方案都精心设计过。
苹果A10的CPU频率并不高,但是Geekbench单核性能却接近了Intel桌面处理器的性能,跑分比 A73高出一大块。
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定制化),自然出来的东西差别巨大。因此你甚至就不能去比较这两个成品模块。粗暴一点来打比方,就像这样:
乐高搭出来的大巴车(要考虑拉很多人,带着各式行李的人,推着孩子上车的人;有人要车开得稳,有人要车开得快,有人要开得远);很显然一种大巴车不能满足要求,高通整出大巴车,面包车,小巴车,各种各样的载客车型。
乐高搭出来的私家车(虽然核心需求是类似的,就是平稳/快速/续航,但是因为我只考虑带一家人,限制少了很多,苹果设计师就有余粮做各式各样的优化,全部堆在着一辆私家车上。
留言与评论(共有 0 条评论) |