Rosetta 2
苹果推出的二进制翻译层技术,能将Intel(x86_64)指令实时翻译为Apple Silicon(ARM)指令,支持旧Intel应用在新架构Mac上无缝运行,采用AOT与JIT两阶段翻译机制
核心事实
时间轴 (近 90 天)
苹果的Rosetta 2、微软的Prism、开源的FEX-Emu和Box64都是x86到ARM二进制翻译方案
FEX-Emu采用JIT方案,而Rosetta 2兼具AOT和JIT两种模式,首次运行应用时触发AOT翻译并缓存
Rosetta 2是一种能够在运行时将Intel(x86_64)指令翻译为Apple Silicon(ARM)指令的翻译层技术
Rosetta 2的技术实现分为提前翻译(AOT)和即时翻译(JIT)两个阶段
在 Apple Silicon 统一内存架构下,原生 Swift 应用能够直接以 ARM 指令集运行,无需 Rosetta 2 转译层
全部知识事实 (8)
苹果M系列芯片从X86切换到ARM架构,需借助Rosetta 2转译层运行旧版X86 Mac应用
65%待验证Rosetta 2是Apple推出的动态二进制转译层,允许Intel编译的应用在Apple Silicon Mac上运行,但会带来约15-20%的性能损耗
85%待验证FEX-Emu采用JIT方案,而Rosetta 2兼具AOT和JIT两种模式,首次运行应用时触发AOT翻译并缓存
50%待验证苹果的Rosetta 2、微软的Prism、开源的FEX-Emu和Box64都是x86到ARM二进制翻译方案
50%待验证Rosetta 2是一种能够在运行时将Intel(x86_64)指令翻译为Apple Silicon(ARM)指令的翻译层技术
50%待验证Rosetta 2的技术实现分为提前翻译(AOT)和即时翻译(JIT)两个阶段
50%待验证在 Apple Silicon 统一内存架构下,原生 Swift 应用能够直接以 ARM 指令集运行,无需 Rosetta 2 转译层
50%待验证Rosetta 2转译层可能在未来macOS版本中被逐步淘汰
60%