蘋果 9 月 10 發表新機 iPhone 5s、5c ,評價並不是太高,全場發表會吸引使用者的亮點僅有 5s 改良的相機鏡頭與 Home 鍵指紋辨識器所帶來的相關功能。相關報導與討論相信大家都看到厭煩了,本篇主要想探討 iPhone 5s 的 A7 處理器為何選用 ARMv8 架構。
- A7 規格分析
首先回顧前一代處理器 A6 的構造,A6 包含 ARMv7 架構的雙核心處理器 ARM Cortex-A15、三核心繪圖處理器 PowerVR SGX 543MP3 及 1GB 的 LPDDR2 記憶體,處理器執行頻率為 1.3GHz。
新一代處理器 A7 目前尚未有詳細資料,不過以蘋果宣稱使用 64 位元架構、提供前代處理器效能兩倍,搭配 ARM 的說法:v8 架構可以提供 v7 兩倍的效能,因此 A7 處理器核心極可能是使用 ARMv8 64 位元架構的雙核心處理器。
再參考蘋果宣稱 5S 支援 OpenGL ES 3.0 的前提下,內建的繪圖處理器核心應該是採用代號 Rogue 的PowerVR Series 6,該系列繪圖處理器可以整合 2/4/6 個核心於單一處理器之內,推斷蘋果可能整合四個核心於 A7 之內,加上提升處理器頻率來提供前代三核心繪圖處理器的兩倍效能。A7 記憶體正確的規格也尚未得知,不過有傳言是使用 LPDDR3 記憶體,大小可能為 1GB 或 2GB。
在目前智慧手機大量使用 ARM Cortex-A15 四或八核心的規格競賽之下,A7 處理器效能並沒有特別突出,加上 ARMv8 架構原本是針對伺服器所設計,在耗能方面遠大於 Cortex-A15,導致蘋果必須增加一個 M7 副處理器來處理地理位置與動態偵測相關資訊,避免 A7 在執行軌跡記錄或導航時必須保持開啓耗電;也避免在處理器被佔用時,無法偵測手機翻轉等移動相關的反應。
- 64位元沒有好處?
看到這邊,硬體方面 A7 採用 ARMv8 似乎在執行效能、耗電甚至是佔用主機板面積等上都沒有好處。再考量蘋果在 5s 使用 64 位元作業系統,除了增加應用程式相容性問題之外,也看不到好處,那蘋果為何還硬要轉進 ARMv8 的 64 位元架構?
一般使用者以為,從 32 位元升級到 64 位元最大的好處是可以使用 4G 以上的記憶體,不過這只是微軟 Windows 帶給大家的錯誤印象。一個系統能支援多大的記憶體,除了作業系統的限制之外,主要在於處理器提供的定址能力,事實上 Cortex-A15 提供 40 位元的實體記憶體定址能力,可以支援到 128GB,4GB 的限制是在程式所使用的虛擬記憶體。ARMv8 則在實體或虛擬記憶體都提供 48 位元定址,可以支援到 32TB。
以 iPad 或 iPhone 系列的規格來看,5S 以外的產品記憶體均落在 1GB 或更少,短期內很難會碰觸到實體記憶體 128GB 或單一程式虛擬記憶體 4GB 的上限,即使是記憶體需求較大的 Android,到目前也只出現記憶體 3GB 的機種,iOS目前根本沒有改為 64 位元的需要。所以國外評論才會認為 5S 改用 64 位元架構是花招過於實際。
- 可能的理由
不過一個企業也沒有道理花費時間與金錢在毫無助益的項目中,作者推敲之後認為,蘋果將 iOS 移轉到 64 位元可能有兩個理由。
首先是統一作業系統。iOS 是從 OS X 精簡而來,目前 OS X 已經全面升級為 64 位元,因此 iOS 跟進,之後蘋果所有的作業系統都統一為 64 位元,兩個主要的作業系統可以同時加以規劃與發展,對往後系統開發的人力與時間各方面都可以精簡。依照蘋果更新產品的速度來看,兩年之後就可能不再生產 32 位元的 iOS 產品。
第二個理由是拓展 A 系列處理器的用途。蘋果介紹 A7 時表示,這是一顆桌機等級的處理器,既然是桌機等級的處理器,就不該被限制在 iPhone、iPad 或 Apple TV 上使用。考慮以往相關的流言,蘋果採用 ARMv8 架構處理器的 Mac mini、Macbook AIR 等產品或許不再是空談。
(圖片來源:P.S.Lu, CC Licensed)