加载中...

Rosetta 2是苹果随2020年Apple Silicon(M1)Mac推出的二进制翻译层,让为Intel x86-64编译的macOS应用无需修改即可运行在Arm架构的苹果芯片上,是苹果第二次处理器架构迁移的关键兼容方案;初代Rosetta曾服务于2006年PowerPC到Intel的迁移。
Rosetta 2以提前翻译(AOT)为主:应用安装或首次启动时,将x86-64机器码整体翻译为arm64代码并缓存,之后直接运行翻译结果;对JIT生成代码等动态场景则回退到即时翻译。苹果芯片还提供了可选的x86风格强内存序(TSO)硬件模式,使翻译后的多线程代码无需插入大量内存屏障,这是其性能出色的重要原因,许多应用翻译后的运行速度接近原生。
Rosetta 2覆盖绝大多数用户态应用,配合通用二进制(Universal Binary)让Mac生态在数年内平滑完成迁移,还被用于在Apple Silicon的Linux虚拟机中运行x86容器。它被认为是大规模架构迁移工程的成功范例。

登录 后参与讨论
暂无讨论,来发表第一条评论吧