Rosetta 2

Rosetta: 従来のIntel Mac用のバイナリをArmベースのM1 Macでも動くようにさせるためのエミュレーションソフト.
実行前にARMバイナリに変換する機能があるらしい.

そこでAppleは、ちょっとズルをしました。Intelのメモリオーダを自社CPUに追加したのです。変換したx86コードを実行する時には、Intelのメモリオーダに合わせてCPUのモードを切り替えます。

Intelのメモリオーダを自社CPUに追加したのです。変換したx86コードを実行する時には、Intelのメモリオーダに合わせてCPUのモードを切り替えます。

While byte ordering is not a problem for the transition from x86 to ARM, another issue related to memory, namely the memory consistency model total store ordering (TSO), could hamper performance in this case.

参考文献