Apple Rosetta 2 技术梗概

杨镇源 于 2025-06-14 发布 浏览量

背景介绍

Apple 在 2020 年 6 月宣布将 Mac 过渡到自研 Apple Silicon(ARM 架构)。作为这一“约两年完成过渡”计划的一部分,macOS Big Sur 引入了 Rosetta 2 翻译技术。Rosetta(译名“Rosetta Stone【罗塞塔石碑】”,那是一块帮助学者破译古埃及象形文字的石碑)最初用于 2006 年 PowerPC 向 Intel 转换,Rosetta 2 则帮助用户在新款 M 系列芯片上运行旧有的 Intel (x86_64) 应用。苹果宣称 Rosetta 2 旨在简化过渡,对用户来说“平均用户应该觉察不到它的存在”。

Rosetta

Rosetta 2 的工作原理

Rosetta 2 是一个动态二进制翻译(Dynamic Binary Translation)系统,主要通过以下两种方式将 x86_64 指令转换为 ARM64:

Rosetta 会验证签名哈希,确保翻译结果的安全性与一致性。macOS 不允许混用 ARM 与 x86 指令,一个进程要么全 ARM 要么全 x86。

性能表现

Apple Silicon 的性能表现非常出色,使 Rosetta 2 能高效运行:

例外:Rosetta 2 不支持 AVX/AVX2/AVX512 等高级向量指令,使用这些指令的程序无法运行。

软件兼容性现状

软件类型 运行情况 说明
原生 Apple Silicon 应用 原生支持 无需 Rosetta
Universal 二进制 原生支持 默认运行 ARM,用户可选 Rosetta
Intel (x86_64) 应用 支持(Rosetta 2) 自动翻译运行
32 位应用 不支持 macOS Catalina 起已废弃
驱动/内核扩展 (kext) 不支持 无法翻译系统级代码
使用 AVX/虚拟化指令的程序 不支持 翻译失败或崩溃

多数主流应用(如 Chrome、Office、Adobe)都已推出原生或通用版本。

开发者支持工具

Xcode 12 起支持 Universal 2 架构(arm64 + x86_64)。开发者可:

Apple 鼓励尽早迁移至 ARM 原生架构,Rosetta 被视为临时解决方案。苹果计划在 macOS 27 之前继续提供 Rosetta 来支持 Intel 应用的过渡,之后将只保留部分功能,用于支持老旧的游戏。

用户体验

Rosetta 2 对用户透明:

苹果称:“在大多数情况下,使用 Rosetta 的应用不会注意到性能上的区别。”

总结

Rosetta 2 是 Apple Silicon 迁移中的关键技术:

这项技术成功实现了架构跨越的“平滑过渡”,也为未来构建统一的 Apple 生态打下坚实基础。