轻松读懂移动处理器 CPU微架构全解析
在本文中,我们首先指出了当前手机、平板电脑所使用的应用处理器与平时大家接触的电脑仍然存在巨大的性能差别,以性能来看的话,可能是 6~10 年的距离。
由于电池和散热的限制,移动应用处理器不可能像台式处理器那样相对较少地考虑耗电问题,对移动应用处理器来说,所有的一切都得围绕一个词进行:省电。
省电不只光靠制程上的改进,还有芯片本身的设计也是极为重要的,例如英特尔的 Atom 在实验室的时候采用了 6T(单位元六个晶体管)的 Cache 设计,速度和面积都不错,但是为了省电,后来上市的产品转用了 8T(单位元八个晶体管),这样的设计会增加不少面积,但是更省电了,类似这样牺牲芯片面积换取功率控制的措施在移动应用处理器上比比皆是。
不过差距并非完全来自于处理器本身,像 Android 这个操作系统,程序是跑在一个 Google 自己做的虚拟机上面,绝大部分 apk 的开发语言都是 Java,这使得问题变得更加严重。
在这个博客里,博主采用 C 和 Java 两个版本的程序在 Android 上作对比,得出的差别是 C 版本跑了 8 秒,而 Java 是 57 秒。类似这样的区别在 C 和 Java 的对比上其实比比皆是甚至往往会出现更加巨大的差别。
所以这边架构师和半导体工厂绞尽脑汁做了一个性能/耗电比非常出色的产品,但是如果碰上使用 Java 来编写性能敏感型应用的时候往往会被 Android 毫不留情地从工业时代打回石器时代,而台式机这边已经是太空时代,差距就这么明显。
这就是一个整天吹嘘所谓“手机看大片”的移动时代的悲哀,但愿可以快点结束。
写了这么多东西,肯定有人不耐烦了:你说这么多屁话有啥用,直接告诉老子什么处理器最好不就得了。
就等你这句话,因为这个问题一点都不难回答。
从上面大家可以得知,软件对性能的影响,所以从现实出发,我推荐大家都选择 iOS 下的产品,因为这个操作系统对应的开发平台基本上都是使用本机语言代码编译程序的。
这是一个技术正确的回答,但是“政治”上未必正确,因为 Android 的厂商实在太多了,相关的用户群也是海量级,随便一口口水就能把我给淹没掉,所以还是需要给这个用户群体推荐的。
如果以已经发布的产品,我倾向于像 N 记 Tegra 4 这个产品,它有一些比较特别之处。首先,它是集成了 Cortex-A15 四核处理器,这是高通 Krait 架构不可能相提并论的微架构,其次是它的 GPU 部分,虽然不太可能比得上 iPad 4 中 A6X 采用的 PowerVR SGX 554MP4,但是性能和其他同级产品的最快图形内核相比应该也是叮当马头,要知道 Tegra4 的芯片面积只有 80mm^2 级别,而 A6X 已经达到 123mm^2。还有就是 N 记似乎和游戏业界比较熟络,对于希望手机玩玩游戏的人来说更有保障。
什么?对游戏不感兴趣,那就挑个联发科的四核 Cortex-A5 手机好了,最省功夫。
由于 Ti、ST-爱立信的退出,现在移动应用处理器的厂商虽然看似热闹,但是已经露出了一些红海的迹象,或者说骨头变硬了、肉变少了,将来剩下的厂商必定是具备较强大技术储备和充足资金支持的。
英特尔是最具这样特征的公司,他们的下一代 Atom 脚步正越来越近,乱序执行的引入和比所有对手提前一年导入的 22 纳米制程势必引来业界对英特尔在移动应用处理器上前所未有的重视,至少对我来说就很有点当年 Pentium 升级 Pentium Pro 的期待。■<