Rosetta模式
Rosetta 是 Apple 为在 Apple Silicon(M1 及以上)上运行 x86 应用程序而设计的一个二进制翻译工具。Rosetta 允许使用 x86 架构编译的应用程序在 ARM 架构的 Apple 芯片上运行,通过动态二进制翻译将 x86 指令转换为 ARM 指令,从而在 ARM 处理器上执行。
Rosetta 2 的工作原理
动态二进制翻译:Rosetta 会在应用程序运行时对其进行翻译,而不是在应用程序启动前完成静态翻译。这样做的优势是可以随时翻译所需的代码片段,从而减少启动时间和内存消耗。
性能优化:Rosetta 2 针对一些常见的指令模式进行了优化,以提高翻译效率,同时利用 M 系列芯片的强大性能来弥补翻译带来的开销。
缓存机制:Rosetta 会将已经翻译的代码缓存起来,减少重复翻译,提高性能。
使用 Rosetta 模式的情况
Apple Silicon Mac 默认支持 ARM 应用程序,但当用户安装了未为 ARM 优化的 x86 应用程序时(例如一些旧版应用程序),macOS 会自动通过 Rosetta 2 运行这些程序,以确保它们的兼容性。
Last updated