苹果的M1 Mac配备了新处理器,可提供突破性的性能,但要运行在英特尔芯片上的应用程序可能需要使用全新的Rosetta转换技术才能运行。这是什么,它做什么?
支持前往Apple Silicon的旅程
苹果决定迁移到Apple Silicon的决定已成为历史。该公司现在控制着其所有平台的未来,其处理器已经以其性能和稳定性给用户留下了深刻的印象。
M1芯片拥有8核CPU和Mac上世界上最快的集成显卡。在MacBook Air上,CPU性能有望提高约3.5倍,GPU性能提高5倍,机器学习速度提高9倍。
也就是说,应用程序是为在特定处理器上运行而构建的,并不是每个开发人员都完成了使其应用程序在Apple Silicon Macs上本地运行的所有必要工作。支持M1的Mac可以运行本机,通用(安装程序在其中携带用于Intel和Apple芯片的代码)和Intel应用程序。
Apple鼓励开发人员尽可能发布通用应用程序,并使用称为Rosetta 2的仿真技术在Apple芯片上运行Intel应用程序成为可能。
什么是Rosetta 2?
Rosetta 2是一种旨在桥接Intel和Apple处理器之间的过渡的仿真器。简而言之,它将翻译为英特尔构建的应用程序,以便它们可以在Apple Silicon上运行。
还有些应用程序(包括Microsoft Office应用程序)在您首次运行时会进行翻译。首次运行时需要进行翻译,这意味着这些应用最初可能会比正常启动慢一些(在某些情况下,可能会长达20秒),但是下次运行该应用时,您不会遇到相同的延迟。
整个过程在后台进行,尽管可能会对性能造成一些影响,但早期的报告表明,迁移到M1芯片所带来的性能提升远远不能弥补这一点。
苹果的话是这样的:
“ Rosetta是一个翻译过程,允许用户在Apple芯片上运行包含x86-64指令的应用程序,”其开发人员页面写道。Rosetta旨在简化向Apple芯片的过渡,让您有时间为您的应用程序创建通用二进制文件。它不能替代创建应用程序的本机版本。”
到底是什么翻译过程?
“如果可执行文件仅包含英特尔指令,则macOS会自动启动Rosetta并开始翻译过程。翻译完成后,系统将启动翻译后的可执行文件来代替原始文件。但是,翻译过程需要时间,因此用户可能会觉得翻译后的应用有时会启动或运行得更慢。” Apple解释道。
Rosetta还可以动态翻译动态代码或JavaScript。
我可以在我的应用程序中运行x86插件吗?
使用M1 Mac时,您会发现它总是喜欢在Apple芯片上运行arm64指令。但是,有时某个应用程序会同时包含arm和X86指令,并且在这种情况下,用户可以使用Finder中该应用程序的“获取信息”窗口中的Rosetta转换来重新启动该应用程序。选择应用程序,按Command-I并选中“使用Rosetta打开”复选框。
仅当您需要在例如本机上运行在M1上的应用程序中运行旧插件时,才真正需要这样做。
谁支持Rosetta 2?
每个Apple应用程序及其所有专业应用程序本身都已经支持M1芯片。开发人员还创建了可以在Intel和M1驱动的Mac上本地运行的Universal应用程序。尚未以本机或通用形式提供的应用程序可能需要稍作更新才能启用对Rosetta 2的支持,但随后将完美运行。
Word等主要应用程序已在M1上运行,Adobe承诺明年年初推出Photoshop的M1本机版本,Lightroom即将推出。当然,如果开发人员允许,您也可以在M1芯片上运行iOS应用程序。
Rosetta 2无法翻译什么?
Rosetta无法转换虚拟化x86_64计算机平台的内核扩展或虚拟机应用程序。开发人员应注意,Rosetta也无法翻译AVX,AVX2和AVX512矢量指令。
一点历史
苹果以前使用过Rosetta名称。当Mac从PowerPC处理器迁移到Intel芯片时,它使用相同的名称执行相同的功能-使PowerPC应用程序可以在Intel芯片上运行。
尽管名称和目标保持不变,但是Rosetta的形式与我们今天使用的版本之间存在很大差异,因为Apple开发了目标处理器,这意味着在设计M1时要牢记Rosetta的需求。
这意味着它已经能够构建在芯片本身上提供这种支持所需的一些元素。这就是为什么某些在Apple Silicon Mac上以Rosetta仿真运行的应用程序实际上比在Intel上运行得更快的原因。
表现如何?
正如我已经解释过,我用M1的Mac mini已有一段时间。以我的经验,在M1芯片上运行时,大多数应用程序的性能都一样好-它们通常要快得多,而在同等Intel驱动的Mac上运行。
还值得注意的是,这些处理器在内存处理方面具有出色的表现。苹果公司开发了一种称为统一内存架构(UMA)的技术,该技术可在处理器的所有功能之间共享内存。因为内存,处理器和其他系统元素都托管在芯片上,所以您可以期待出色的性能。这在图形密集型应用程序中尤为明显,我发现它的运行速度甚至比以前更快。
Rosetta 2可以使用多长时间?
我们不知道Rosetta 2是否将始终可用。
从历史上看,Rosetta包含在Mac OS X 10.4.4 Tiger中,成为OS X 10.6 Snow Leopard中的可下载选项,但在第二年就消失了。(在这种情况下,过渡要比苹果公司停止销售基于旧架构的Mac的预期提前完成。)
苹果已承诺在两年内完成英特尔和苹果硅处理器之间的过渡,这表明它将为之提供支持,并将继续在后续版本中提供。苹果公司知道,在整个过渡过程中,人们仍将购买运行英特尔处理器的新Mac。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun22952.html