很多Android Wear手表使用的都是調(diào)制解調(diào)器的高通Snapdragon 400芯片,而A7芯片從散熱設(shè)計功耗的角度來說更適合智能手表。
Apple Watch 上市已經(jīng)有一段時間了,這款設(shè)備配備的是 S1 芯片,在這款尺寸為 26 毫米×28 毫米的芯片內(nèi)有 30 個獨立的組件,這絕對稱得上“讓人驚嘆”。其中還包括了 NXP 的 NFC 芯片、AMS 的 NFC 信號放大器及Maxin的音頻放大器。今天外媒與我們一起從更專業(yè)的角度來了解這款芯片。目前開發(fā)和銷售智能手表的 OEM 很多都是智能手機(jī)廠商,所以我們會看到這些廠商通常都是直接將智能手機(jī)的部件“塞到”智能手表里面。
圖1 系統(tǒng)的總體框圖很多Android Wear 手表使用的都是調(diào)制解調(diào)器的高通 Snapdragon 400 芯片。而 A7 芯片從散熱設(shè)計功耗的角度來說是適合智能手表的。Android Wear 手表的電池容量大約為 400 mAh,可續(xù)航 1-2 天,但是對于市場來說這些手表太大,這種時候就需要特別針對智能手表的外形和大小設(shè)計的 SoC 片上系統(tǒng)。
對于 Apple Watch S1 芯片,目前還沒有合適的跑分測試工具,但是從這款設(shè)備的拆解我們可以看到,該 SoC 使用的是三星 28nm LP 制程,使用的只可能是 HKMG 或 poly SiON 柵極結(jié)構(gòu)。選擇不同的結(jié)構(gòu)功率效率也會不同,因為 HKMG 制程的漏泄功率更小。和使用 20/14nm 制程的成本相比,這兩種制程的成本差異并不大,另外參考 TSMC 在 Snapdragon 600 和 800 芯片上從 28LP 制程換成 28HPm 后對電池續(xù)航的影響,基本可以確定蘋果的這款芯片使用的是 HKMG 制程。
我們也已經(jīng)知道二進(jìn)制文件是為手表的 ARMv7k 處理器進(jìn)行編譯,可惜目前關(guān)于該指令集架構(gòu)并沒有相關(guān)記錄。watchOS 是在 iOS/Darwin 的基礎(chǔ)上開發(fā)出來的,也就是說為了獲得存儲保護(hù)和關(guān)鍵抽象,比如虛擬內(nèi)存,它需要內(nèi)存管理單元MMU,這就排除了使用像 ARMv7m 這樣的 MCU ISA 的可能性,我們猜測蘋果使用的可能是衍生的 ARMv7-A,精簡掉不必要的指令,以減小功率消耗。
至于設(shè)備的 GPU 就不那么神秘了,從出現(xiàn)在 Apple Watch 中的 PowerVR 驅(qū)動器來看,S1使用的可能是 PowerVR Series 5 GPU,具體哪款尚未清楚,有可能是 PowerVR SGX543MP1。不過我更傾向于 PowerVR GX5300,因為它是特別針對穿戴設(shè)備優(yōu)化的 GPU,使用的驅(qū)動器也一樣。但是不管怎樣,在 watchOS 2 到來之前 Apple Watch 都無法原生運行應(yīng)用這一點來看,我們目前能夠深入挖掘的東西很少,而且即使 watchOS 2 發(fā)布,圖形跑分可能還是不好測試。
接下來我們可以來了解一下 CPU 的分級存儲器體系,對于需要優(yōu)化以確保代碼能有足夠時間和/或空間局部性來保證代碼性能的應(yīng)用來說,這是一項非常重要的信息。
如圖所示, 在 DRAM 28KB 和 64KB 之間有一個非常大的波動變化,因為我們已經(jīng)清除了 L1 數(shù)據(jù)緩存的本地最大值,我們基本可以確定 L1 數(shù)據(jù)緩存大小為32KB,目前市場上很多產(chǎn)品的 L1 數(shù)據(jù)緩存也在 32 和 64KB 之間。而在 224KB 左右的地方再次出現(xiàn)大變化,我們也可以確定 L2 的數(shù)據(jù)緩存為 256KB,和目前大型智能手機(jī) CPU 的 1-2MB 共享緩存相比小了很多,但是和 A5 或者 A7 相比則恰好合適。
Apple Watch 的 CPU 最大頻率是520 MHz。我們接下來看看它的架構(gòu)。在關(guān)于整數(shù)運算這方面,整數(shù)添加延遲是一個循環(huán),而整數(shù)乘法延遲則是三個循環(huán)。但是因為流水線整數(shù)乘法的吞吐量能輸出一個時鐘周期結(jié)果。同樣的比特移位需要兩個周期來完成,而吞吐只需要一個時鐘周期。乘法和加法交錯吞吐量將只有一半。我們可以猜測這是因為整數(shù)加法 block 和整數(shù)乘法 block 相同,然而這并沒有什么意義,因為從邏輯層面來說,加法和乘法區(qū)別太大了。
從數(shù)據(jù)類型的角度來說,整數(shù)只是一個因素,還有布爾值、字符、字符串和不同大小的整數(shù),但是說到十進(jìn)制,應(yīng)用程序仍然使用浮點來編譯。像這款低功率 CPU,浮點通常比整數(shù)慢,因為浮點運算的相關(guān)法則比較復(fù)雜。
如果你打開的網(wǎng)頁的延遲和吞吐時間是針對 Cortex A7 的,你可能猜測它是 Cortex A7,那你可能就猜對了。同時加載存儲意味著這些是 XOR 運算,不能以平行方式執(zhí)行。乘法運算和加法運算也是一樣。雖然 Cortex A7 和 Cortex A5 有相同點,但也不能說明為什么可以每時鐘周期可增加兩次立即值/恒定值和累加寄存器。
從這些數(shù)據(jù)我們可以確定它就是單核 Cortex A7。雖然只是 Cortex A7 但是最大時鐘速度較低,也就是說邏輯設(shè)計上相比性能他更重視功率效率。標(biāo)準(zhǔn)電池可以利用某些技術(shù)和風(fēng)格,這些技術(shù)實際會影響 2+ GHz 芯片的性能,但是卻非常適合使用在 520 MHz 芯片中、從衡量能源效率與性能的角度來說,Cortex A7 是一個有利于 perf/W(Performance per Watt,每瓦性能)的設(shè)計,因此我認(rèn)為未來關(guān)鍵的不同點將在于執(zhí)行方法,而不是架構(gòu)。雖然我也希望 Apple Watch 能夠使用更為先進(jìn)的制程,比如 14LPP/16FF+,但是在 Apple Watch 第二代或者第三代出來之前基本都沒有這種可能。