上周我們對全新iPhone XS和A12處理器進行了深入分析,不過主要部分集中在CPU的大核心集群以及GPU集群兩方面,對A12的低功耗小核心集群和NPU集群并沒有過多描述,本文便來繼續(xù)探究這兩部分。
代號“Tempes(暴風)”:兇猛的小核心
從A10這一代開始,蘋果在SoC中引入了代號為“Twister(龍卷風)”的低功耗小核心集群,而后是A11為“Mistral(干冷的北風)”,而此次的A12則為“Tempest(暴風)”。不過多年來小核心經(jīng)歷三代更迭,我們卻從來沒有分析過這些架構,對它們始終有一種神秘感。
從某種意義上說,高性能的核心架構無論怎樣壓低功耗,也無法媲美天生的低功耗小核心架構,即使時鐘門控設計完美,也無法避免核心中存在的靜態(tài)泄漏。使用更小的CPU核心有助于緩解靜態(tài)泄漏,以及提高動態(tài)泄漏功率效率。
Tempest核心是一個亂序三發(fā)射的架構,這意味著它與Arm big.LITTLE體系下的小核心基本無關,因為Cortex A53和Cortex A55等均為更簡單的順序執(zhí)行架構。Tempest核心的執(zhí)行單元也相對較少,只有兩個簡單ALU算數(shù)邏輯單元,其中一個可執(zhí)行整數(shù)和浮點乘法,另一個則能夠執(zhí)行浮點加法。除了兩條主要管道外,只有一個專用的組合裝載/存儲端口。
有趣的是,Tempest核心基本上與蘋果此前A6處理器的Swift核心是相同的,蘋果很有可能是將老的高性能架構精簡并修改為64位后作為低功耗小核心使用。如果Tempest核心確實是Swift核心派生的,那么在上面描述的三個執(zhí)行單元之外,還應該有一個用于整數(shù)和浮點分區(qū)的專用端口,這樣在指令被饋送時才不會阻塞主流水線。
Tempest核心頻率最高可達1587MHz,有32KB L1緩存以及2MB L2緩存。除了L2容量較大之外,Tempest核心與A11的Mistral核心并沒有其他明顯差異。不過不幸的是,當A11的小核心集群上只有一個線程處于活動狀態(tài)時,Mistral核心的頻率可以提升到1694MHz,高于Tempest核心,很難直接比較二者的能耗比。
與大核心Vortex非常相似,A12的Tempest核心的最大改進體現(xiàn)在對內(nèi)存敏感的測試項中。,而輸給A11的Mistral核心主要是由于頻率劣勢??傮w而言,除了內(nèi)存改進之外,Tempest核心在性能上與Mistral核心非常相似,這也為我們對比二者的能耗比提供了便利。
但不幸的是,Tempest核心相比Mistral核心的能耗比提升并不如大核心一樣巨大,縱觀SPECint2006測試,Tempest核心的能耗比提升了35%,考慮到Mistral核心的頻率更高,實際同頻下的能耗比提升還要低于35%。而在浮點基準測試中,Tempest核心的能耗比平均只提高了17%。
如果將A11和A12的小核心與大核心以及來自Arm的競爭對手放在一起對比,其實并沒有太大的驚喜。與蘋果的大核心相比,小核心的性能大概只有三分之一到四分之一,但它們消耗的能量卻足有大核心的一半。
(注:小核心的功耗只有大核心的七分之一到八分之一,但因為性能較低,執(zhí)行相同任務所用的時間更長,因此實際消耗的能量為大核心的一半)
不過令人驚訝的是,在SPEC的整數(shù)工作負載中,A12的Tempest核心和A11的Mistral核心性能甚至相當于2.1GHz頻率下的Cortex A73,但Mistral核心的功耗卻僅有Cortex A73的41%(A11和麒麟970同為臺積電10nm)。不過在浮點工作負載中,小核心由于沒有專用的浮點執(zhí)行單元而失去了性能上的競爭力,但它們?nèi)阅芴峁┖芨叩哪苄А?/p>
從測試來看,蘋果的小核心要比Arm的小核心性能要高得多,從私下里積累的Cortex A55測試成績來看,Tempest核心的性能大概是Cortex A55的將近3倍。Arm小核心的性能在實際使用中很容易成為短板,這意味著我們未來可能會看到更多像麒麟980這樣的的“大-中-小”三集群SoC,而Arm也應該思考一下小核心是否還應該繼續(xù)使用性能低下的順序執(zhí)行架構。
NPU神經(jīng)網(wǎng)絡推理性能測試
A12另一個重大而神秘的進化是自主研發(fā)的全新NPU,在上篇文章中曾經(jīng)提到,NPU在A12芯片上占據(jù)了較大的面積,幾乎相當于兩顆Vortex大核心。
幸運的是,魯大師的AImark支持iOS,使用Apple的CoreML框架來加速與Android相同的推理模型,可以直接對比蘋果和安卓陣營處理器的神經(jīng)網(wǎng)絡推理性能。
從結果來看,雖然蘋果公布的理論性能(A11:0.6TOps,A12:5 TOps)在這個測試中并未得到很好的驗證,但提升依然達到了4~6.5倍。測試中還發(fā)現(xiàn),擁有NPU的A11成績并沒有比A10高出許多,這可能是由于A11的NPU從未通過API公開展示,因此在測試中只能使用GPU來執(zhí)行CoreML。
華為P20 Pro的麒麟970比A12落后大約2.5倍,恰好與各自宣稱的NPU理論性能比例相同(2TOP和5TOP)。而華為表示,麒麟980的全新雙核NPU比麒麟970的NPU快2.2倍,每分鐘可實現(xiàn)4500次推斷,由此看來麒麟980的AI性能應該能夠追平A12。
高通驍龍845的表現(xiàn)也很好,在不同特性的測試中與麒麟970互有勝負。由于AJmark目前還不支持NNAPI,只能使用SNPE框架進行推理加速,因此Pixel 2和Note9不得不使用CPU來進行運算,測試結果很差。
功耗方面,A12的NPU滿載功耗約為5.5瓦,且整個測試期間的功耗有很大起伏。這一功耗水平意味著蘋果希望擁有最高的突發(fā)處理性能。使用GPU加速AI處理的A11和10功耗在2.3瓦到5瓦范圍內(nèi),具體取決于推理模型。
via:Anandtech