编按:本文为 iPhone 6s CPU 侦测程式〈CPU Identifier〉作者皮乐(Hiraku)所撰写,描述了其撰写这套可辨试 iPhone 6s 处理器版本的整个经过,原本为作者一时兴起的作品,加上接续的统计数字没想到引发一连串的后续效应,意外成了本次 iPhone 6s 的“芯片门”事件中重要的推手。
缘起
在 9 月底的某一天,应该是 28 日吧,刚好官网当天晚上公布台湾 10 月 9 日开卖,我还记得那一天我感冒特别严重,所以正打算早点睡觉。突然间,朋友发来了一个连结《拆解发现 iPhone 6s 系列 A9 有 14/16 nm 两个制程版本》。我起初看一看,不是很在意内容,反正文章内说拆开才发现有分两种,我连 6s 都等不及拿到了,何况去拆。但朋友觉得这个新闻很有意思,于是他开始尝试用 IOKit 的方式去试着抓主板序号,而我就在旁边打 PS4 (说好的早点睡觉呢……),丝毫对于这件事不感兴趣。
开工
约莫过了一个小时之后,我看他完全没进度,于是去了解一下,瞄了一下他的 code ,觉得他用的方法不对,然后就在我的脑中搜寻解法。从我多年研究 JB 软件的经验中,寻找可能的 private API,接着就开始告诉他一些提示,经过一些 API 测试之后,成功抓到了手边 5s、5c、6 Plus 的 CPU 类型,而他也帮忙完成了 UI 的部分,于是我们开始找人测试,从开工到 alpha 测试大概过了一个半小时,算是还满快的。
实测
主要界面完成之后,由于我们手中没有 iPhone 6s,于是我找了两个日本人、一个新加坡人测,原本众多媒体表示,iPhone 6s 应该都是三星,6s Plus 都是台积电(因为 iFixit 只各别拆了一支,加上那时候大家都以为 16nm 的台积电比较耗电,所以大家都以为是故意放在电力比较多的 6s Plus 里面)。
结果我们找的三个人都是 6s ,却出现了不同的结果,这在当时来说是个推翻全世界推论的大发现。但其实最初的版本有个问题,因为当时候网络上的资讯还不够多,所以我们测出的“s8000”跟“s8003”根本不知道到底哪一个代号代表哪一家。
经过一番搜寻之后,我们发现在 theiphonewiki 上面有提到 s8003 是 APL1022,而 iFixit 下面有一个留言说 APL1022 是台积电,因此我们仅靠这唯一的线索推论 s8003 是台积电版本,还好最后没猜错,不然全世界的图表就大乱了。
在可以测出同款手机有不同的 A9 厂商之后,我们开始好奇两家 CPU 的分布了,既然会混著用,那么到底哪一家的 CPU 比较多呢?为了实测,我就把结果串接回传到后台,确认可以用之后,我们就用企业证书签名发布了。
之所以不走 AppStore 管道有两个原因:
- 这个东西有 private API,Apple 应该不会通过。
- 上架需要等 7 天, 7 天过去或许会被人抢先,我们要做,就要做全世界第一。
于是 9 月 29 日半夜两点多,第一个版本终于正式发布了。
发布
发布后,其实一开始没什么人测,反正我也本来只是做好玩的,甚至大部分的测试结果都是有人拿旧机器,例如 iPhone 5s 来乱测的。有趣的是,最早期的时候,大家反而想拿到三星版的,因为三星的 14nm 比台积电 16nm “看起来”制程还先进,甚至那时候还有一个好笑的公式说三星的效能好 10%,因为 (16-14)/16 四舍五入 = 10%,我一开始也是这样以为三星的 CPU 比较好,直到开始有人评测,所有的评测结果,一面倒地显示,虽然三星的 A9 效能好一点点,但是台积电的 A9 不耗电程度多很多,于是开始测 iPhone 6s 的人也多了,国外网站也开始陆陆续续报导这件事情。
统计
对岸有一句流行语,叫做“no zuo no die”,意思大概就是你不去找死就不会有事,问题都是自己捅出来的。从一开始我做这个 App,到后来统计,感觉都是“no zuo no die”,最早期的统计,是只有记录手机类型(例如 iPhone 5s / 6s / 6s Plus ……)跟 CPU 型号,这两个资讯而已。
后来我太无聊,加上好奇,增加了型号侦测和地区侦测,这两项其实很简单,例如我的玫瑰金是 iPhone 6s Plus 64 GB,就是 MKU92TA,前面的 MKU92 代表解锁的 A1687 版 iPhone 6s Plus 64GB 玫瑰金,TA 则代表台湾,最一开始,我觉得这统计根本没啥用,因为第一波开卖的国家其实比例都差不多,就是上下几 % 变化而已,于是就放着不管他,直到 10 月 9 日开卖,我才发现这项统计在台湾有不一样的意义。
台湾开卖
10 月 9 日凌晨,跟往年一样,我跟着许多人一起排队,不一样的是,今年在队伍里大家热烈讨论著 iPhone 6s CPU 的话题,但几百人当中,除了几个本来就认识我的朋友之外,没有一个人知道,作者就在他们眼前,我跟他们聊天时,我还在那边说“哇写这个软件的人是不是吃饱太闲啊”,没错,我就是吃饱太闲。我真的是吃饱太闲 XD
排队那天下大雨,我在那边刷 PTT 文章,看到有人说,是否可以用一个叫做 libmobiledevice 来用电脑检查 iPhone 的 CPU,脑力激荡了一下,我把以前 iPhone 3GS 时代改写的一个小程式稍微修改,就这样,我又边排队边写出了 Mac 版的检测器(编按:Mac 版目前已暂时下架,但使用者仍可自行 compile)。
在早上开卖取货的时候,我马上把未开机的 iPhone 插上电脑,过几秒屏幕开始发亮,之后又过了一下,我的电脑显示了“s8000 Samsung”几个字,于是不需要启用(activate)iPhone 的检测器就这样完成了。
而后,开卖过了几个小时,一切就如大家所见的一样,增加的统计资料越来越多,于是大家开始发现台湾的 iPhone 6s 三星处理器占比多到非常夸张的程度……而之后大家讨论的换货退货找消基会……这又是另外好长好长的一件事了。
结论
讲这么多,其实我想说的是,这件事情真的是出乎我意料之外,原本只是无聊想知道到底能不能不拆机检查 CPU 到底是哪一家做的,没想到最后软件会上国外媒体甚至上电视,这一切都是始料未及的。而我对于拿到哪一家 CPU,其实不是那么在意,如前面所见,我拿到的是 Samsung 的版本,但我也同意 Apple 说的,平常使用的时候不会用那么耗电的方法在弄,若是真的在日常使用造成问题,或者很多人反映,我相信 Apple 也会召回的(像是 iPhone 5 电池问题、电源键问题,iPhone 6 Plus 镜头问题都有召回)。
所以,我觉得既然买到了,就先用用看,如果真的觉得有差,再去换整新品就好。不必那么费工夫买一堆拆到中台积电为止,其他拿去退货(刷卡也是有额度的吧……)当然每个人有自己的选择,我也只是提出我自己的作法,最后还是希望大家买到自己喜欢的机器!
(本文由 皮乐(Hiraku)授权转载,原始出处为 iPhone4.TW,未经授权不得任意转载)
延伸阅读:
- 拆解发现 iPhone 6s 系列 A9 有 14/16 nm 两个制程版本
- 新 iPhone 有 6 成采用台积电版 A9、三星占 4 成,无关芯片尺寸
- 苹果:台积电和三星代工的 A9 性能无差异
- iPhone 6s 芯片门持续延烧,新测试显示耗电差异仅 3% 内