64位ARM處理器意味著什么?
64位計算的歷史相當豐富有趣。Cray等公司在70年代就已經(jīng)開始在自己的系統(tǒng)當中使用64位寄存器,但真正純粹的64位計算直到90年代才真正到來。 首先是MIPS的R4000,然后是DEC的Alpha處理器。到90年代中期,英特爾和Sun都已經(jīng)擁有64位設計。而對于消費者來說,真正的轉(zhuǎn)折點是 AMD在2003年發(fā)布了一款兼容英特爾32位x86處理器的64位PC處理器。
本文引用地址:http://m.butianyuan.cn/article/263006.htm再向前快進10年,PC銷量不斷下滑,大部分智能手機和平板電腦都擁有了主頻在1-2GHz之間的多核心處理器。但它們使用的都是32位架構(gòu),而非現(xiàn)代PC 和服務器所使用的64位架構(gòu)。到現(xiàn)在為止,這都是可以接受的。智能手機并不會去和PC拼性能,這些處理器需要足夠節(jié)能,以實現(xiàn)續(xù)航的最大化。
但是,隨著設備的發(fā)展和新技術——語音識別、3D游戲和高分辨率顯示屏——逐漸普及,32位處理器的能力已經(jīng)漸漸被推到了極限。
ARM 看到了64位節(jié)能處理器的需求,并在正式發(fā)布ARMv8-A架構(gòu)(首個包含64位指令集的ARM架構(gòu))之前就早早開始了新設計的開發(fā),還從其他選擇發(fā)展 64位技術的芯片設計廠商那里學習到了經(jīng)驗和教訓。ARM的新款64位架構(gòu)具備對于旗下32位架構(gòu)的全面兼容,這意味著如果處理器運行于64位系統(tǒng),它就可以運行未修改的ARMv7 32位二進制文件。對于Android來說,這意味著一旦內(nèi)核被移植到64位(多虧了Linaro,它們已經(jīng)如此了),系統(tǒng)的其余部分,從核心庫到應用再到游戲,都是可以在32位或64位之間進行切換的。
去年,蘋果憑借著iPhone 5s的全新64位A7處理器震驚了整個移動領域。A7采用了蘋果設計的ARMv8雙核處理器,名為Cyclone。它使用了兩個64KB L1緩存(供兩個核心分別使用),一個1MB L2緩存(被兩個核心所分享)和一個4MB L3緩存(為整個SoC所用)。蘋果擁有ARM架構(gòu)授權(quán),這意味著它可以從頭開始設計自己的處理器,但前提是這些處理器必須是ARM兼容的。ARM擁有一套測試套件,用以檢查這些處理器是否具備兼容性。
在未來幾個月里,我們將會看到高通、聯(lián)發(fā)科和三星紛紛推出自己的64位ARM處理器。再考慮到Android在64位化的努力,用不了多久我們就將看到運行于64位Android系統(tǒng)的64位設備了。但對于開發(fā)者和終端用戶來說,64位處理器意味著什么呢?
受益于ARM的64位架構(gòu)
每一部CPU的中心都是一套寄存器,他們都是用以存儲數(shù)字和地址的內(nèi)部存儲插槽。當執(zhí)行復雜任務時,這些插槽會被反復使用。如果所有的寄存器都處于占用狀態(tài),那么處理的唯一方式是將其中一個寄存器存儲在內(nèi)存當中,使用寄存器進行下一個任務,然后再從內(nèi)存當中重新載入之前的值。對于人類來說,這一切都發(fā)生在一瞬間。但對于處理器來說,這實際上是一個非常耗時的順序,并不十分效率。
32位ARMv7架構(gòu)擁有15個通用的寄存器,每一個都有32位寬。而 ARMv8架構(gòu)擁有31個通用寄存器,每一個為64位寬。這就意味著優(yōu)化代碼使用內(nèi)部寄存器的頻率應該要比內(nèi)存更高,同時也可以保留更大的數(shù)字和地址。結(jié)果就是,ARM的64位處理器在運行速度上會更快一些。
在能效上面,64位寄存器的使用并不會提升功耗。在某些情況下,64位核心執(zhí)行部分任務的速度會更快一些,由于運行時間的減少,這也就會使其顯得比32位核心更加節(jié)能。
尋址(Addressing)是64位處理器的另一個層面。在PC和服務器領域,32位的局限主要在可訪問的內(nèi)存上。如果你想要使用超過4GB的內(nèi)存,就需要使用64位處理器。因為可以使用大物理地址拓展(LPAE),某些ARMv7處理器能夠使用超過4GB內(nèi)存,所以嚴格來講,內(nèi)存的限制并不是ARM處理器所遭遇的問題。由于LPAE的存在,Cortex-A15處理器能夠處理1024GB內(nèi)存,而64位的處理能力更是高達200萬TB。因此在短時間內(nèi),任何一部智能手機都不需要完整的64位尋址。追求永遠都不會被用到的尋址空間是毫無意義的,因此ARMv8架構(gòu)采用了48位尋址,這已經(jīng)是256TB了。
雖然沒有什么程序或游戲會用到TB級別的內(nèi)存,但在另一方面,這種尋址能力又非常重要?,F(xiàn)代3D游戲通常都帶有大量的資源,當擁有超過4GB的可訪問空間時,這些資源能夠被更加輕松地進行內(nèi)存映射。這樣一來,游戲的運行速度會得到提升,并讓直接訪問游戲多媒體資源成為可能。
不只是智能手機和平板
ARM 上64位計算的好處并不僅限于智能手機和平板電腦。ARM的生態(tài)系統(tǒng)很廣闊,他們的處理器也被許多不同類型的設備所使用。服務器市場是ARM處理器影響力有限的一個領域。信息時代的發(fā)展讓維持數(shù)據(jù)中心所消耗的能源持續(xù)快速增長,而任何能夠降低能源使用的技術都是對于資金和自然資源的節(jié)省。除了節(jié)能之外,在服務器當中使用64位ARM芯片還有其他的好處。這些服務器都會被動散熱,這意味著你可以將它們集中在一起,而無需擔心會發(fā)生過熱的情況。這樣一來,用于散熱上的花費也將有所降低。
至于服務器軟件,Linux這樣的操作系統(tǒng)已經(jīng)是64位的了,其主線內(nèi)核當中也已經(jīng)加入了對于ARMv8的支持。這也就是說,制作運行于64位Linux、ARM處理器的服務器并不會很困難。
總結(jié)
多虧了ARM,64位的移動計算時代就要到來了。這些新的處理器不僅速度更快,還為移動平臺開啟了更多的可能性。
從32位向64位的遷移道路已經(jīng)被鋪就,無論是什么操作系統(tǒng),開發(fā)者從32位進入64位都不會有任何意外。
在未來幾個月里,ARM的合作伙伴都將推出Cortex-A53和Cortex-A57處理器。當中有的會采用雙核或四核的標準配置,也有的會選擇big.LITTLE配置。但有一點是肯定的,那就是這對于ARM和普通用戶來說都是一個激動人心的時刻。
評論