M1版MacBook不能兼容所有的X86软件

M1版MacBook不能兼容所有的X86软件

苹果采取了很多措施,来解决M1版MacBook的兼容性问题。首先,对于现有的X86软件,苹果推出了X86-ARM的指令翻译方案“Rosetta 2”,它可以让ARM平台的macOS,直接运行绝大部分的X86软件。

从苹果的介绍来看,Rosetta 2并不是在软件运行的时候,才翻译指令的,而是在软件安装时就做好了转换,因此它的性能还相当不错。

MacBook从X86迁移到ARM,使用Rosetta 2实现对旧有X86软件的兼容,但并不完美

不过,Rosetta 2并非完美,根据苹果官方的消息,在以下三种情况下,它无法对X86指令进行翻译。

1、内核扩展,也就是涉及到操作系统内核模块的指令没法翻译;

2、虚拟化X86_64平台的虚拟机,当前M1上并没有对应的虚拟化指令;

3、涉及AVX、AVX2、AVX512的指令,ARM上没有对应的指令集,因此用到相关指令集的X86软件没法翻译。

大部分X86软件并不会涉及以上内容,只用到普通的SSE系指令集。不过某些开发工具会涉及内核,某些高性能计算工具会使用AVX系指令集,因此如果想要用M1版MacBook作生产力工具,兼容性问题还是需要慎重考虑的。

怎样知道软件到底兼容是否,不能兼容什么软件?一个个软件测试对于我们也不现实。介绍一个查看M1版MacBook兼容性的好方法。github 中的一个项目

DoseitARM:https://github.com/ThatGuySam/doesitarm

猜你喜欢

转载自blog.csdn.net/weixin_37989267/article/details/111575253