android手机之-------64位操作系统 与 64位处理器
一、引? 言
1. 在蘋果iPhone 5S率先用上64位架構的A7處理器之后,64位移動芯片的大幕就徹底拉開了,Android手機用戶自然希望自己心儀的產品能夠跟的上蘋果的步伐,采用64位架構處理器,但事實卻并沒有那么簡單。
2. 外媒fudzilla在今天刊文對Android手機用64位處理器潑了一盆冷水,他們認為盡管今年Cortex-A57/53架構在今年會正式到來(基于ARMv8指令集的64位架構),而且包括高通、三星以及NVIDIA在內的廠商都會發布自家的64位產品,但想要實際應用起來非常的困難。
?????? (1).64位處理器產品不成熟:而實際上高通在此前就正式發布了驍龍410系列處理器,基于公版Cortex-A53架構,規格并不算出色;NVIDIA則在此前正式發布了Tegra K1處理器,它的第二個版本將采用雙核心Denver架構設計,它也是一款地地道道的64位架構處理器,三星方面有消息稱它將會在不久以后發布Exynos 6系列64位處理器。
?????? (2).64位Android系統不成熟:即便是這些廠商的64位產品會馬上到來,但Android系統卻拖了后腿,目前最新的Android 4.4.2并不是64位的操作系統,即便是64位處理器能夠用在Android 4.4.2當中那么它的性能也會因操作系統并不完美而被受限制,因此要想讓Android手機用上64位處理器,那么Android系統至少先要支持64位架構,這應該是Android 5.0以后的事情了。
????????? 當然,如果Android手機真的用上64位處理器好處也是巨大的: 比如4GB以上內存以及反應更快的應用程序等。
二、64手機相關介紹
refer:http://www.ithome.com/html/android/104973.htm?http://android.tgbus.com/shouji/news/201411/509994.shtml
//一、引? 言:64位相關概覽
1. 理論上,64 位處理器搭配64位系統運行64位軟件,執行效率將成倍提升,這也將是未來的發展趨勢。
但就目前來看,基于32位指令開發的應用仍是壓倒性優勢,所以指望64位處理器能有明顯的進步還得過一段時間才行。
2. 當64位處理器運行在64位系統下時,可以發揮它100%的性能體驗,在此狀態下運行基于64位指令開發的軟件時,效率是最高的。
即便是運行32位指令開發的軟件,64位處理器也會因為有專門的32位指令集,所以并不會有不兼容的現象,但執行效率肯定沒有前者高。
//二、64位的不同意義
64 位軟件 :基于64位指令開發的應用
64 位操作系統:64位操作系統是指特別為64位架構(cpu處理器架構)計算機系統而設計的操作系統。
????????????? 如果你的電腦內存大于4G,那就要用64位的系統了,因為32位的Windows 7也好,Vista也好,最大都只支持3.25G的內存。
????????????? 而64位的windows 7最大將支持128G的內存(這也遠遠小于處理器能夠支持的最大內存16EB,現有操作系統的局限性)。
64 位處理器:(可以處理64/32位程序)
?????? 1. 指令集(與硬件電路匹配的指令系統): 處理器的工作就是運行指令,因此,我們還必須提到“指令集”這個概念。處理器的計算和控制都是通過各種指令完成的,每款處理器在設計時就規定了一系列與其硬件電路相配合的指令系統,這套指令的集合統稱指令集——你可以把它理解為處理器與外界溝通的語言。市面上有許多不同處理器指令集,就好比有些人的母語是英語,有些人的母語則是中文。
?????? 目前大多數64位手機處理器都使用ARM公司的ARMv8 64位指令集。
?????? ARMv8指令集是ARM公司專門針對手機、移動和嵌入式設備推出的64位指令集,它包含了AArch64、AArch32兩種主要執行狀態:AArch64專注于64位處理,AArch32則用來支持現有的32位ARM指令集。從這個角度來看ARMv8是一套不錯的指令集,它既支持未來的64位程序,也向下兼容現有32位程序。有了ARMv8的支撐,以后的64位手機操作系統,如Android L 64bit都可以簡單、高效地支持現有的32位App,你不用擔心兼容性問題。
?????? 2. 處理器架構:為了幫助合作伙伴們更好更快的拿出有競爭力的產品,ARM還專門制作了兩個支持ARMv8指令集的處理器參考架構:Cortex-A53和Cortex-A57。如果說ARMv8指令集是一門語言,Cortex-A53和Cortex-A57就是基于這門語言的習題冊,ARM這位“老師”利用ARMv8布置了一道道“題目”,廠商們只要照著做,就能生產出處理器成品了。
?????? 3. 64位:具體到處理器內部,64位就是邏輯算數單元、寄存器和總線寬度都是64位(也就是8個字節),相比32位而言能夠處理更長的指令(32位是最長指令為2的32次方,而64位可處理的最長指令的2的64次方)。
?????? 4. 支持內存:64位處理器還能夠使用64位整型數據尋址,簡單來說就是可以支持更大的運行內存,理論上,最大值可達16EB(17179869184GB),我們可以理解成是內存無上限。如定位高端的Cortex A57架構,支持最多48位尋址,而面向中低端的Cortex A53則支持40位尋址。雖然沒有做到徹徹底底的64位,但48位尋址可以支持最多16EB(1EB=1024TB=1048576GB)內存,40位尋址支持的內存容量也以TB為單位計算。在可以預見的未來,內存容量瓶頸在64位手機上將不復存在。
//三、64位處理器的優勢
1. 能夠處理更長的指令
2. 64位支持更大的內存
??? 64位處理器還能夠使用64位整型數據尋址,簡單來說就是可以支持更大的運行內存,理論最大值可達16EB(17179869184GB),我們可以理解成是內存無上限。
而32位系統大家都熟悉,理論最大支持4GB內存。這樣的差距就非常之明顯了,即便是短期內主流手機運行內存不會突破4GB,但相信哪個廠商都不想面對這個已知的天花板。
支持更大的內存可以算64位處理器帶來的最立竿見影的提升了。處理器字長不但影響置零件的長度,還影響尋址空間。目前32位ARM處理器的尋址空間最大為4GB,算上系統占用的空間,內存最多3.5GB就是極限了。顯然,對于越來越龐大復雜的系統和App而言,這是遠遠不夠的。
而64位ARMv8處理器徹底解決了這個問題,定位高端的Cortex A57架構支持最多48位尋址,而面向中低端的Cortex A53則支持40位尋址。雖然沒有做到徹徹底底的64位,但48位尋址可以支持最多16EB(1EB=1024TB=1048576GB)內存,40位尋址支持的內存容量也以TB為單位計算。在可以預見的未來,內存容量瓶頸在64位手機上將不復存在。
3. 64位處理器本身就更先進
就算不談64位,市面上那些64位處理器本身的硬件架構也更先進。ARM總共有兩個支持ARMv8 64位指令集的處理器參考架構:Cortex-A53和Cortex-A57,目前市面上絕大多數64位處理器都遵循這兩個架構開發而來。相比上一代Cortex-A7和Cortex-A15,Cortex-A53和Cortex-A57擁有并行度更高的流水線、準確率更高的分支預測單元、命中率更高的緩存、更大的內部總線帶寬。總之,就像剛剛裝修過的房子一樣,A53和A57在各個方面都有了進步。
4. 64位是在為未來投資
64位處理器支持再多內存,現階段手機內存容量也不會超過4GB,有沒有更實在一些的好處?答案也是肯定的。
首先,ARMv8 64位處理器支持更多更強的通用寄存器(GPR),GPR個數從16個增加到31個,每一個都可以隨時訪問,寬度也拓展位64位。同時,ARMv8的NEON SIMD浮點指令集也得到了加強,它擁有32個128bit寬度寄存器、支持雙精度浮點執行、完整支持IEEE754標準。
更多的寄存器意味著處理流程的“堵塞”現象大大減少了。過去,由于寄存器數量限制,一條指令往往要被拆成兩個步驟執行,而有了足夠多的寄存器,處理器就能在更少的周期內搞定指令,體現到App里,就是打開更快、等待時間更少、運行更流暢。
其次,ARMv8指令集引入了AES、SHA-1、SHA-256硬件加密功能,這就好比把原來由手工的加密動作扔給了機械完成,效率提升極大。如果未來有人腦凍打開,開發一個手機版的bitlocker加密/解密軟件,64位處理器比32位快上10倍也不是沒可能。
說到底,更多、更強大的寄存器,更好的硬件加密功能,這些都需要App本身提供支持。還好,ARMv8是下一代64位手機必然的發展方向,ARM公司早已將相關開發規范分發給了開發者,谷歌Android L系統就推出了專門的64位版本。在可以預見的未來,我們還是有不小希望能用上真正發揮64位優勢的App的。換個角度而言,64位處理器能更好的適應未來。
//四、64處理器真的比32位處理器快一倍?
這是一個經常被提起的問題,64位真的要比32位快一倍嗎?答案當然是NO,但原因很少有人講得清楚。
1. 指令集越長越好?
?? 指令集不是1+1=2這么簡單,指令的長度并不直接等于性能。盡管從數字上看,64位指令的確要比32位指令更長,但很多時候我們并不需要那么復雜的指令。一個應用程序(App)擁有成千上萬行代碼,CPU在執行每條代碼時又會把它分割成無數條指令,編譯器會自動決定怎樣將指令組合起來最高效,它們并非都需要64位的字長。
一個典型的例子就是ARMv8指令集的數據模型。ARM在官方白皮書中指出,即使在純64位模式下,ARMv8指令集數據模型中也并非每個指令都要求64位格式。另外,官方白皮書還提到,ARMv8指令集架構定義的指令長度并非64位,而是標準的32位定長。這些事實告訴我們,指令集并非越長越好。
2. 應用程序是否是64位? ?
?? 最后,64位確實好,但程序本身的支持更重要。前面我已經提到,ARMv8 64位指令集包含AArch64、AArch32兩種主要執行狀態,如果不針對AArch64重新編寫程序,那么程序默認就會在AArch32狀態下運行——也就是說,現在的App都是32位的,跟64位一毛錢關系都沒有,在64位處理器上運行32位程序,性能不會有任何提升。
3. 唯處理器論性能?
?? 太片面了。比如,玩大型3D游戲,GPU(圖形處理器)會更加影響幀數;而拍攝高清照片/4K視頻時,DSP(可編程信號處理器)則事關重大。手機的SoC是包含CPU、GPU、DSP、通訊模塊等大量功能的集合體,不同的應用場景會側重于不同部件,單獨以CPU一個部件來衡量性能未免太過片面。
//五、結 論
???? 從長遠考慮,64位處理器又絕對是未來的趨勢,不論是從硬件層面還是軟件層面考慮,64位能夠給我們帶來的更多的可能性,即便32位向64位過度是個痛苦的過程,但科技絕對不會停滯不前。早前8位CPU升級至16位,16位更新到32位,每一次升級都包含爭議,但現在回首望去的確也是歷史的必然。
總結
以上是生活随笔為你收集整理的android手机之-------64位操作系统 与 64位处理器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: office2019 图目录_美工被主管
- 下一篇: java信息管理系统总结_java实现科