64 位 ARM 處理器意味著什麼?
64位計算的歷史相當豐富有趣。Cray等公司在70年代就已經開始在自己的系統當中使用64位暫存器,但真正純粹的64位計算直到90年代才真正到來。 首先是MIPS的R4000,然後是DEC的Alpha處理器。到90年代中期,英特爾和Sun都已經擁有64位設計。而對於消費者來說,真正的轉折點是 AMD在2003年釋出了一款相容英特爾32位x86處理器的64位PC處理器。
再向前快進10年,PC銷量不斷下滑,大部分智慧手機和平板電腦都擁有了主頻在1-2GHz之間的多核心處理器。但它們使用的都是32位架構,而非現代PC 和伺服器所使用的64位架構。到現在為止,這都是可以接受的。智慧手機並不會去和PC拼效能,這些處理器需要足夠節能,以實現續航的最大化。
但是,隨著裝置的發展和新技術——語音識別、3D遊戲和高解析度螢幕——逐漸普及,32位處理器的能力已經漸漸被推到了極限。
ARM 看到了64位節能處理器的需求,並在正式釋出ARMv8-A架構(首個包含64位指令集的ARM架構)之前就早早開始了新設計的開發,還從其他選擇發展 64位技術的晶片設計廠商那裡學習到了經驗和教訓。ARM的新款64位架構具備對於旗下32位架構的全面相容,這意味著如果處理器執行於64位系統,它就 可以執行未修改的ARMv7 32位二進位制檔案。對於Android來說,這意味著一旦核心被移植到64位(多虧了Linaro,它們已經如此了),系統的其餘部分,從核心庫到應用再 到遊戲,都是可以在32位或64位之間進行切換的。
去年,蘋果憑藉著iPhone 5s的全新64位A7處理器震驚了整個移動領域。A7採用了蘋果設計的ARMv8雙核處理器,名為Cyclone。它使用了兩個64KB L1快取(供兩個核心分別使用),一個1MB L2快取(被兩個核心所分享)和一個4MB L3快取(為整個SoC所用)。蘋果擁有ARM架構授權,這意味著它可以從頭開始設計自己的處理器,但前提是這些處理器必須是ARM相容的。ARM擁有一 套測試套件,用以檢查這些處理器是否具備相容性。
在未來幾個月裡,我們將會看到高通、聯發科和三星紛紛推出自己的64位ARM處理器。再考慮到Android在64位化的努力,用不了多久我們就將看到執行於64位Android系統的64位裝置了。但對於開發者和終端使用者來說,64位處理器意味著什麼呢?
受益於ARM的64位架構
每 一部CPU的中心都是一套暫存器,他們都是用以儲存數字和地址的內部儲存插槽。當執行復雜任務時,這些插槽會被反覆使用。如果所有的暫存器都處於佔用狀 態,那麼處理的唯一方式是將其中一個暫存器儲存在記憶體當中,使用暫存器進行下一個任務,然後再從記憶體當中重新載入之前的值。對於人類來說,這一切都發生在 一瞬間。但對於處理器來說,這實際上是一個非常耗時的順序,並不十分效率。
32位ARMv7架構擁有15個通用的暫存器,每一個都有32位 寬。而ARMv8架構擁有31個通用暫存器,每一個為64位寬。這就意味著優化程式碼使用內部暫存器的頻率應該要比記憶體更高,同時也可以保留更大的數字和地 址。結果就是,ARM的64位處理器在執行速度上會更快一些。
在能效上面,64位暫存器的使用並不會提升功耗。在某些情況下,64位核心執行部分任務的速度會更快一些,由於執行時間的減少,這也就會使其顯得比32位核心更加節能。
定址(Addressing)是64位處理器的另一個層面。在PC和伺服器領域,32位的侷限主要在可訪問的記憶體上。如果你想要使用超過4GB的記憶體,就需 要使用64位處理器。因為可以使用大實體地址擴充(LPAE),某些ARMv7處理器能夠使用超過4GB記憶體,所以嚴格來講,記憶體的限制並不是ARM處理 器所遭遇的問題。由於LPAE的存在,Cortex-A15處理器能夠處理1024GB記憶體,而64位的處理能力更是高達200萬TB。因此在短時間內, 任何一部智慧手機都不需要完整的64位定址。追求永遠都不會被用到的定址空間是毫無意義的,因此ARMv8架構採用了48位定址,這已經是256TB了。
雖然沒有什麼程式或遊戲會用到TB級別的記憶體,但在另一方面,這種定址能力又非常重要。現代3D遊戲通常都帶有大量的資源,當擁有超過4GB的可訪問空間 時,這些資源能夠被更加輕鬆地進行記憶體對映。這樣一來,遊戲的執行速度會得到提升,並讓直接訪問遊戲多媒體資源成為可能。
不只是智慧手機和平板
ARM 上64位計算的好處並不僅限於智慧手機和平板電腦。ARM的生態系統很廣闊,他們的處理器也被許多不同型別的裝置所使用。伺服器市場是ARM處理器影響力 有限的一個領域。資訊時代的發展讓維持資料中心所消耗的能源持續快速增長,而任何能夠降低能源使用的技術都是對於資金和自然資源的節省。除了節能之外,在 伺服器當中使用64位ARM晶片還有其他的好處。這些伺服器都會被動散熱,這意味著你可以將它們集中在一起,而無需擔心會發生過熱的情況。這樣一來,用於 散熱上的花費也將有所降低。
至於伺服器軟體,Linux這樣的作業系統已經是64位的了,其主線核心當中也已經加入了對於ARMv8的支援。這也就是說,製作執行於64位Linux、ARM處理器的伺服器並不會很困難。
總結
多虧了ARM,64位的移動計算時代就要到來了。這些新的處理器不僅速度更快,還為移動平臺開啟了更多的可能性。
從32位向64位的遷移道路已經被鋪就,無論是什麼作業系統,開發者從32位進入64位都不會有任何意外。
在未來幾個月裡,ARM的合作伙伴都將推出Cortex-A53和Cortex-A57處理器。當中有的會採用雙核或四核的標準配置,也有的會選擇big.LITTLE配置。但有一點是肯定的,那就是這對於ARM和普通使用者來說都是一個激動人心的時刻。
來源:Android Authority/騰訊數碼
相關文章
- 英國ARM公司 &ARM處理器
- Android與ARM處理器Android
- 64位程式池HashCode相容處理
- 64位處理器的潛能還沒有完全發揮
- 微軟Win10 Redstone更新未來可能將會支援ARM64處理器微軟Win10
- 什麼是雙核處理器?
- 021ARM處理器工作模式模式
- ARM 7種處理器模式及功能模式
- VisionMobile:ARM,Android處理器之王Android
- 最低售價僅598元 64位處理器手機盤點
- HTC M9 Plus配置全曝光:聯發科八核64位處理器
- 紅米Note 2配置曝光 64位驍龍615八核處理器
- ARM處理器:開放者的逆襲
- 淺談 CSS 前處理器(一):為什麼要使用前處理器?CSS
- 紅帽旨在標準化Linux的64位ARM伺服器Linux伺服器
- 華為處理器為什麼叫海思麒麟?
- 三星領世旗艦Ⅲ報價6783元 搭64位處理器
- 處理器運算位數
- 電腦32位和64位的區別是什麼 怎麼看電腦是64位還是32位
- PyPy 2.1 beta 釋出,官方支援 ARM 處理器
- [ARM] ARM處理器的7種工作模式和2種工作狀態模式
- 銳龍處理器和酷睿處理器哪個好 為什麼都不建議買銳龍處理器
- 64位win10執行不了大航海怎麼解決_64位win10執行不了大航海如何處理Win10
- win10 64位找不到網路介面卡驅動怎麼處理Win10
- ARM系列處理器應用技術完全手冊
- RESTful 真正意味著什麼?REST
- 什麼是流處理
- 什麼是批處理
- python32位和64位的區別是什麼Python
- 紅米2手機正式開啟預約 64位處理器 售價699元
- 你用的32位還是64位?有什麼區別呢?
- java BASE64處理Java
- 一文搞懂 ARM 64 系列: 暫存器
- ARM的體系結構與程式設計系列部落格——ARM處理器系列介紹程式設計
- 處理器核、Core、處理器、CPU區別&&指令集架構與微架構的區別&&32位與64位指令集架構說明架構
- office32位和64位有什麼區別嗎 office32位和64位哪個更好安裝哪個
- iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什麼iOS
- Fuchsia 對 Android 意味著什麼Android