蘋果新CPU如何相容並超越Intel? -ErrataRob

banq發表於2020-11-28

Apple取代Intel處理器的確非常有效。一些其他持懷疑態度的技術人員將其稱為“黑魔法”。它可以很好地執行Intel程式碼。
根本原因是Arm和Intel架構已經融合。是的,指令集是不同的,但是基本的體系結構問題已經非常相似。
最大的障礙是“記憶體排序”,即兩個CPU彼此看到記憶體修改的順序。這是影響微軟在基於Arm的“ Surface”膝上型電腦上模擬x86的最大問題。
蘋果只是將Intel的記憶體順序新增到了他們的CPU中。當執行那些編譯成x86的程式碼時,它們會切換CPU的模式以符合Intel的記憶體順序。
解決了基礎架構問題後,執行x86程式碼僅意味著將這些指令轉換為Arm等效指令。這非常有效,並且導致程式碼通常以相同的速度執行。但是,有時這種轉換也會導致程式碼稍慢,但是基準測試顯示x86始終至少是速度的70%。
當您為新CPU架構重新編譯程式碼時,它通常會中斷。但是正如我在上面說的那樣:Arm和Intel架構已經融合到足夠多的程度,從而使程式碼被破壞的可能性大大降低,從而使重新編譯更加容易。
 
蘋果做出了令人驚訝的決策:他們使用特殊的JavaScript特定指令,雙倍大小的L1快取以及其他我不知道的技巧對JavaScript進行了最佳化。
因此,當您瀏覽網頁時,他們的新膝上型電腦看起來更快,用電池續航時間更長,這是因為JavaScript,即使其他基準測試顯示它的速度與Intel / AMD大致相同。
較舊的MacBook Air具有雙核CPU,執行頻率為3.8 GHz,但在低功耗模式下為1.2 GHz。快速模式和慢速模式之間的切換是節省移動電源的方式。但是最終效率低下。英特爾CPU設計為以5 GHz執行。將時鐘降頻到1 GHz可以節省功率。
蘋果公司的策略是使用兩種處理器:一種設計為在3 GHz以上執行速度快,另一種設計為在2 GHz以下執行速度慢。蘋果將​​其稱為“效能”和“效率”處理器。每個人都進行了最佳化,以實現自己的最佳目標。
當需要節省電量時,他們關閉“效能”處理器並在其“效率”處理器上執行程式碼。他們擁有4倍效能處理器(是舊Mac的兩倍)和4倍效率處理器。
所有8個都可以啟用。當做一些可以使用8個處理器的事情(例如編譯程式碼)時,它的執行速度很快。8個處理器與舊筆記本中的2個處理器有所不同。
這個故事的很大一部分是,英特爾在摩爾定律方面落後了約3年。Apple Silicon使用TMSC的最新5nm技術,而Intel使用較老的10nm / 7nm一代。英特爾的許多產品線都使用甚至更老的14nm / 10nm一代。
 
這都不是真正的“黑魔法”。這一切都是可以理解的。只是所有各種事情都被很好地執行了,從而導致綜合結果提升,這是一個巨大的飛躍。
 
另一個“魔術”技巧是他們的“ Swift”程式語言如何在Android中使用“引用計數”而不是“垃圾收集”。他們在CPU中做了一些事情,使引用計數的速度提高了一倍。
即使翻譯x86程式碼,計數開銷(已經比垃圾回收效率更高)的所有引用都減少了一半。這又是另一個怪異的效能增強措施。。



 

相關文章