因为它们用的面积不同,所以性能不同。拿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还附送给你了一本手册教给你每代两三来种不同的积木模块(公版设计)。
以高通为例,他可能用标准Cortex-A7x/Mx,也可能用自己研发的核心(比如Kryo,这个不太成功)他不用Arm的Mali,用自己的Adreno,这个很成功;他应该用了AMBA, 做没做定制化不确认。他用了很多第三方的其它IP block;他要为不同的客户提供不同的套餐(好多好多种组合,snapdragon 2xx/4xx/6xx/8xx); 组合是数量级复杂的。为了最大化利用ARM生态的便利,接口/外设/调试手段,他都倾向于尽量和行业主流兼容。这是典型的泛制化做法,选择太多了,有时候很痛苦(大多数客户买单吗?)。另一些个NB的玩家(APPLE,海思,三星为代表),根据自己的需要,自行搭了个成品模块。和前一类玩家最大的区别是,他们不需要管其它客户的需求,只要满足自己的要求即可。他们也不需要顾及什么高中低档位的不同需求,只需要给自己家的旗舰手机供货,所以约束要少得多。因此他们可以相对不计成本地去追求自己的诗意和远方(定制化)。
结论:以上这完全两种不同的玩法(泛制化vs定制化),自然出来的东西差别巨大。因此你甚至就不能去比较这两个成品模块。粗暴一点来打比方,就像这样:乐高搭出来的大巴车(要考虑拉很多人,带着各式行李的人,推着孩子上车的人;有人要车开得稳,有人要车开得快,有人要开得远);很显然一种大巴车不能满足要求,高通整出大巴车,面包车,小巴车,各种各样的载客车型。乐高搭出来的私家车(虽然核心需求是类似的,就是平稳/快速/续航,但是因为我只考虑带一家人,限制少了很多,苹果设计师就有余粮做各式各样的优化,全部堆在着一辆私家车上。