馬上註冊  |  找回密碼

SAY討論區

查看: 339|回復: 29
打印 上一主題 下一主題

蘋果全面放棄32位應用 Android該跟風嗎? [複製鏈接]

Rank: 7Rank: 7Rank: 7

好友
0
帖子
4880
積分
9733
最後登錄
2018-7-29
在線時間
0 小時
跳轉到指定樓層
樓主
發表於 2017-2-4 23:07:36 |只看該作者 |倒序瀏覽
64位移動處理器在2013年首次亮相,而蘋果iOS系統則是首個支持64位計算的移動操作系統。有意思的是,從最近的消息了解,蘋果將有可能在iOS 11正式放棄對32位應用程序的支持,正式完成對64位生態系統的完全過渡。其實這是iOS 10.3測試版一個錯誤信息無意間爆的料,當用戶嘗試運行32位應用程序,系統竟然告訴用戶無法在未來版本中運行,開發者需改進適配,正是這點讓人浮想聯翩。
在iOS平臺上,蘋果已經不止一次提供類似的暗示了,並非常希望開發者僅提供64位應用程序。例如說,去年年底的時候,蘋果從App Store移除了一定數量應用程序,理由是不兼容,並向開發者發送電子郵件,提醒他們應用程序開發必須以64位為基礎。
通常來說,我們不太會在意系統或手機是32位還是64位,畢竟新設備總是能夠同時兼容32位和64位應用程序。但是,考慮到蘋果總是能對谷歌移動生態系統產生一定的影響,就有必要來討論一下,為何蘋果要做出這樣的舉動,而Android是否應該效仿。
xt232cko34f37.jpg
32位和64位
首先要簡單的了解一下32位和64位的背景。32位和64位一般是指CPU的通用寄存器位寬,相對於32位而言,64位的CPU位寬增加一倍,使其能夠處理更多更精確的數據,因此有一定加快數據處理的作用,特別是負載的情況下。再通俗來講,32位和 64 位就是四車道和八車道的區別,在擁堵的晚高峰,八車道速度顯然更快。
當然了,64位可尋址范圍大大擴展,32位系統最大支持內存為4G。另外,32位系統和64位系統需要安裝支持相應軟件模式下的操作系統和驅動軟件,也就是32位隻能安裝 32 位,64位安裝64位的軟件,但可兼容32位運算。
回到ARM處理器的話題上。ARM從32位ARMv7-A到32位/64位ARMv8-A的轉變過程中,引入了大量的新指令以便增強功能,也就是AArch64指令集。但為了保證ARMv8能夠向後兼容,ARM在架構設計上仍保留了現有的AArch32和Thumb-32指令集。雖然這就意味著CPU核心管線部分需要進行更多設計,占用更多極其有限的芯片空間,但確保了這些傳統指令也能夠與新硬件一起工作。
需要註意的是,單個應用程序使用過長中,完全不可能同時使用ARMv7和ARMv8兩種執行狀態,因為AArch64與AArch32和Thumb-32指令集之間沒有任何交互操作。因此,直接以AArch64指令集和ARMv8處理器為基礎編寫的應用程序,無法在ARMv7 Cortex-A系列處理器上運行。
不過,以 ARMv7 Cortex-A 處理器為基礎編寫的應用程序,仍可以在ARMv8處理器上運行,畢竟可通過保留的AArch32和Thumb-32執行狀態運行。
其實說白了,如果蘋果真那麼做的話,像iPhone 5這款以ARMv7處理器為基礎的機子,將無法升級到iOS 11操作系統。
cg5yctlzt2537.png
蘋果為何執意轉向64位
蘋果放棄對32位應用程序的支持表明,未來將完全擁抱 AArch64執行狀態,其硬件處理器和軟件iOS系統,還有應用程序的設計,所有都將隻適用於 AArch64 指令集功能。好處自然不少,包括更大的尋址范圍支持更大的內存,簡化匯編程序,雙精度浮點及更先進的SIMD運算,以及高達3至10倍的加速硬件加密性能等。
不過,開發者和開發商將無法再使用AArch32和Thumb-32指令集,因為必須更新應用程序。當然了,除了迫使開發人員利用全新64位架構的最新特性之外,這也十分有利於蘋果更出色的完成下一代CPU的設計工作。蘋果有出色的芯片設計團隊,而且一直在規劃放棄對舊架構的支持,完全可以借此盡可能多地釋放芯片空間,降低制造成本,或者將釋放的空間加以利用,加強CPU、GPU及其餘部分,或引入更加先進的一些功能。
我們不清楚蘋果如何設計下一代芯片,或許會是為64位進一步優化 CPU,而不一定是全部轉為64位,保留部分傳統硬件所需的32位指令,不會強行破壞與ARM簽署的許可協議。因為ARM通常要求基於其授權架構的CPU設計,務必支持全部指令集,若遵守這一規定的話,蘋果的芯片同樣需要保留對AArch32和Thumb-32的支持,如此一來才能通過ARM的一致性測試。不過,ARM自己提倡靈活性設計,例如Cortex-A32就是基於32位版本的ARMv8架構設計,沒有十分明確哪些指令集是強制性要求,這就相當於留給蘋果更多的發揮空間。
ihpibtodqgp37.jpg
那麼,Android陣營應該跟風?
有利有弊,而且也並非完全不可行,若是基於上述相同的原因,隻要谷歌和智能手機芯片開發商(如高通和聯發科)聯手,軟件和硬件上共同合作也能實現。但不可否認的是,Android 生態圈比蘋果大很多,分佈有大量不同的硬件配置,若立即執行同樣的轉變相信很難迅速組織起來,甚至在此過程中可能被迫中斷。
盡管如此,理論上谷歌也可以從軟件方面做類似的事情,強制要求所有Google Play商店的應用程序轉移到64位版本。不過,這同樣需要一個長期的過渡時間,雖然今天入門級的智能手機和平板電腦都已經裝備了64位處理器,但是依然依賴於大量的 32 位應用程序,而且真正完美兼容 64 位指令集的並不是很多,一旦放棄向後兼容後果不堪設想。
講真的,Android 生態圈完全遷移到64位不太靠譜。例如說,許多Android車載娛樂系統仍基於ARMv7處理器打造。再看智能手表,包括華為、索尼和LG的手表,均搭載了32位的ARM Cortex-A7處理器設計。
另外,谷歌最近公佈的Android Things物聯網平臺,其開發板的芯片也並沒有兼容64位的應用程序。那Android陣營沒辦法全面過渡到單一的64位計算了?並非如此,隻是可以預見,未來Android依然提供32位的支持,這是最兩全其美的解決方案。
分享分享0 收藏收藏0 讚好讚好0 Unlike!Unlike!0 分享 傳送 邀請

好友
0
帖子
358352
積分
380281
最後登錄
2024-4-26
在線時間
0 小時
No.1回覆者
發表於 2017-2-5 02:00:50 |只看該作者
鑒定完畢.!

好友
0
帖子
357780
積分
378663
最後登錄
2024-4-26
在線時間
0 小時
跟尾2
發表於 2017-2-5 02:11:35 |只看該作者
看起來不錯的樣子

好友
0
帖子
351136
積分
366675
最後登錄
2024-4-26
在線時間
0 小時
跟尾3
發表於 2017-2-5 02:21:03 |只看該作者
說嘛1~~~想說什麼就說什麼嘛~~  

好友
0
帖子
353181
積分
369593
最後登錄
2024-4-26
在線時間
0 小時
5#
發表於 2017-2-5 02:33:45 |只看該作者
你加油吧  

好友
0
帖子
357927
積分
378528
最後登錄
2024-4-26
在線時間
0 小時
6#
發表於 2017-2-5 03:25:15 |只看該作者
樓主,支持!

好友
0
帖子
357984
積分
379362
最後登錄
2024-4-26
在線時間
0 小時
7#
發表於 2017-2-5 04:56:09 |只看該作者
不錯啊,沒看過這麼好看的

好友
0
帖子
360828
積分
384358
最後登錄
2024-4-26
在線時間
2888 小時
8#
發表於 2017-2-5 05:23:17 |只看該作者
看了你的帖,讓我有一種說不出的感覺

好友
0
帖子
351267
積分
366732
最後登錄
2024-4-26
在線時間
0 小時
9#
發表於 2017-2-5 05:47:25 |只看該作者
回帖是種美德

好友
0
帖子
358264
積分
378899
最後登錄
2024-4-26
在線時間
0 小時
10#
發表於 2017-2-5 05:50:54 |只看該作者
線上等線上等
您需要登錄後才可以回帖 登錄 | 馬上註冊 |

Archiver|手機版|SAY討論區

GMT+8, 2024-4-26 17:14 , Processed in 0.807912 second(s), 12 queries .

Powered by go2tutor.comDiscuz! X2

© 2024 Community Networks Limited

回頂部