欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

苹果Apple Watch智能手表拆机之芯片S1详细解析

程序员文章站 2022-05-17 22:59:01
苹果Apple Watch智能手表拆机之芯片S1详细解析苹果Apple Watch智能手表芯片S1详细解析,Apple Watch 上市已经有一段时间了,这款设备配备的是 S1 芯片,在这款尺寸为 26 毫米×28 毫米的芯片内有 30 个独立的组件,这绝对称得上让... 15-07-21...

apple watch 上市已经有一段时间了,这款设备配备的是 s1 芯片,在这款尺寸为 26 毫米×28 毫米的芯片内有 30 个独立的组件,这绝对称得上“让人惊叹”。其中还包括了 nxp 的 nfc 芯片、ams 的 nfc 信号放大器及maxin的音频放大器。今天外媒与我们一起从更专业的角度来了解这款芯片。目前开发和销售智能手表的 oem 很多都是智能手机厂商,所以我们会看到这些厂商通常都是直接将智能手机的部件“塞到”智能手表里面。

苹果Apple Watch智能手表拆机之芯片S1详细解析

很多android wear 手表使用的都是调制解调器的高通 snapdragon 400 芯片。而 a7 芯片从散热设计功耗的角度来说是适合智能手表的。android wear 手表的电池容量大约为 400 mah,可续航 1-2 天,但是对于市场来说这些手表太大,这种时候就需要特别针对智能手表的外形和大小设计的 soc 片上系统。

对于 apple watch s1 芯片,目前还没有合适的跑分测试工具,但是从这款设备的拆解我们可以看到,该 soc 使用的是三星 28nm lp 制程,使用的只可能是 hkmg 或 poly sion 栅极结构。选择不同的结构功率效率也会不同,因为 hkmg 制程的漏泄功率更小。和使用 20/14nm 制程的成本相比,这两种制程的成本差异并不大,另外参考 tsmc 在 snapdragon 600 和 800 芯片上从 28lp 制程换成 28hpm 后对电池续航的影响,基本可以确定苹果的这款芯片使用的是 hkmg 制程。

苹果Apple Watch智能手表拆机之芯片S1详细解析

我们也已经知道二进制文件是为手表的 armv7k 处理器进行编译,可惜目前关于该指令集架构并没有相关记录。watchos 是在 ios/darwin 的基础上开发出来的,也就是说为了获得存储保护和关键抽象,比如虚拟内存,它需要内存管理单元mmu,这就排除了使用像 armv7m 这样的 mcu isa 的可能性,我们猜测苹果使用的可能是衍生的 armv7-a,精简掉不必要的指令,以减小功率消耗。

至于设备的 gpu 就不那么神秘了,从出现在 apple watch 中的 powervr 驱动器来看,s1使用的可能是 powervr series 5 gpu,具体哪款尚未清楚,有可能是 powervr sgx543mp1。不过我更倾向于 powervr gx5300,因为它是特别针对穿戴设备优化的 gpu,使用的驱动器也一样。但是不管怎样,在 watchos 2 到来之前 apple watch 都无法原生运行应用这一点来看,我们目前能够深入挖掘的东西很少,而且即使 watchos 2 发布,图形跑分可能还是不好测试。

接下来我们可以来了解一下 cpu 的分级存储器体系,对于需要优化以确保代码能有足够时间和/或空间局部性来保证代码性能的应用来说,这是一项非常重要的信息。

苹果Apple Watch智能手表拆机之芯片S1详细解析

苹果Apple Watch智能手表拆机之芯片S1详细解析

如图所示, 在 dram 28kb 和 64kb 之间有一个非常大的波动变化,因为我们已经清除了 l1 数据缓存的本地最大值,我们基本可以确定 l1 数据缓存大小为32kb,目前市场上很多产品的 l1 数据缓存也在 32 和 64kb 之间。而在 224kb 左右的地方再次出现大变化,我们也可以确定 l2 的数据缓存为 256kb,和目前大型智能手机 cpu 的 1-2mb 共享缓存相比小了很多,但是和 a5 或者 a7 相比则恰好合适。

apple watch 的 cpu 最大频率是520 mhz。我们接下来看看它的架构。在关于整数运算这方面,整数添加延迟是一个循环,而整数乘法延迟则是三个循环。但是因为流水线整数乘法的吞吐量能输出一个时钟周期结果。同样的比特移位需要两个周期来完成,而吞吐只需要一个时钟周期。乘法和加法交错吞吐量将只有一半。我们可以猜测这是因为整数加法 block 和整数乘法 block 相同,然而这并没有什么意义,因为从逻辑层面来说,加法和乘法区别太大了。

从数据类型的角度来说,整数只是一个因素,还有布尔值、字符、字符串和不同大小的整数,但是说到十进制,应用程序仍然使用浮点来编译。像这款低功率 cpu,浮点通常比整数慢,因为浮点运算的相关法则比较复杂。

苹果Apple Watch智能手表拆机之芯片S1详细解析

如果你打开的网页的延迟和吞吐时间是针对 cortex a7 的,你可能猜测它是 cortex a7,那你可能就猜对了。同时加载存储意味着这些是 xor 运算,不能以平行方式执行。乘法运算和加法运算也是一样。虽然 cortex a7 和 cortex a5 有相同点,但也不能说明为什么可以每时钟周期可增加两次立即值/恒定值和累加寄存器。

从这些数据我们可以确定它就是单核 cortex a7。虽然只是 cortex a7 但是最大时钟速度较低,也就是说逻辑设计上相比性能他更重视功率效率。标准电池可以利用某些技术和风格,这些技术实际会影响 2+ ghz 芯片的性能,但是却非常适合使用在 520 mhz 芯片中、从衡量能源效率与性能的角度来说,cortex a7 是一个有利于 perf/w(performance per watt,每瓦性能)的设计,因此我认为未来关键的不同点将在于执行方法,而不是架构。虽然我也希望 apple watch 能够使用更为先进的制程,比如 14lpp/16ff+,但是在 apple watch 第二代或者第三代出来之前基本都没有这种可能。