首頁>科技>

眾所周知,蘋果正在進行將旗下的電腦從 Intel 處理器切換到自家的 Apple Silicon 處理器,首當其衝的就是新近推出的 Apple M1 筆電和 iMac mini,按照蘋果的計劃,整個切換工作大概需要一年半左右(時間基本上和當年 PowerPC to Intel 相當)。

處理器切換帶來的主要問題是 M1 採用的是 ARMv8 指令集,現有的 Intel64 應用不能直接執行,為了儘量平滑化這個過渡,蘋果推出了名為 Rosetta 2 的動態二進位制轉換器,可以先把 Intel64 的二進位制程式碼先行轉譯為 ARMv8 指令,從而實現接近無縫的切換。

類似的技術其實在以往就有,例如當年 DEC 的 FX!32、Intel 的 IA-32 轉 EPIC 等,此外還有像 NVIDIA Tegra K1 Denver 內建了 x86 轉換 ARM 的硬體譯碼器(需要與軟體轉碼器結合)。

華為這邊也有自己的 x86 動態二進位制翻譯器——ExaGear。

ExaGear 是一個軟體包,安裝到華為自己的 ARM 系統(鯤鵬 920 硬體平臺 + Linux)後,執行起來就會讓主機看起來像一個 AMD64 環境。

按照華為自己的介紹,在 ExaGear 裡跑 SPEC CPU 2006,相比直接跑 ARM 指令的效能損失大約為 20%,這有點類似與 Rosetta 2 的情況。

比較有意思的是,目前這個東西已經可以在非華為的 ARM 系統上執行,例如 NVIDIA 的 Tegra K1 64-bit 和 Tegra Xavie,但是需要設定一個引數 SMO_MODE=none。

12
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • vivo值得購買的千元機,效能強勁續航強大,降價後更有競爭力