苹果即将在Mac电脑中转用基于ARM的自研CPU。为了尽可能地实现无缝衔接,苹果允许使用Rosetta 2翻译层来运行原有x86架构下的MacOS软件。这个思路跟高通ARM笔记本CPU模拟运行x86应用类似,但问题是苹果能做到合理的执行效率吗?
![33af6d73ee331ef49827431a6ec97dd0.png](https://i-blog.csdnimg.cn/blog_migrate/f6f493a0eb2ed17e4e4f6f3a22bbc302.jpeg)
在只向开发者出售的"开发人员转换套件"中,苹果明确提到禁止开发人员在计算机上运行性能基准测试。但这一禁令的约束力看来不大,有人已经按耐不住,偷偷地打开了苹果禁碰的盒子。不出意外,测试结果显示,基于ARM架构的CPU模拟运行x86应用会带来性能损失。
![fe02b34a3ca70dbcdd340cc85c2eae59.png](https://i-blog.csdnimg.cn/blog_migrate/70070750fa67efcddeaecdbb41342250.jpeg)
价值500美元的"开发人员转换套件"在Mac mini的机箱内安装了苹果A12Z仿生处理器,它并不是苹果专门给未来Mac电脑开发的CPU,但确实属于ARM架构,运行测试版本的MacOS 11操作系统,并搭载Rosetta 2来支持运行x86应用。尽管Rosetta 2会在程序安装的阶段就进行一部分二进制代码转换,但仍有一些地方需要效率低下的实时翻译。
![7ec1feb3271657fda2c52254d916ae10.png](https://i-blog.csdnimg.cn/blog_migrate/a1f6aa56155c388da91d687a9d4d07a3.jpeg)
运行在开发人员转换套件中的A12Z相比iPad Pro 2020中的同款芯片运行频率低0.1GHz,并且Rosetta 2似乎仅能利用A12Z中的4个性能核心,而其余4个效率核心未能发挥作用。X86代码的Geekbench在经过Rosetta 2翻译层之后,成绩是原生ARM代码的7.5成左右。当然,开发套件中A12Z较低的运行频率可能也对此产生了一定影响。
![fc6c5f4d75d7c269581921e8020d3791.png](https://i-blog.csdnimg.cn/blog_migrate/e4b7590c5cb42c0618498e7bc40387e8.jpeg)
非原生应用的性能受影响是大家可以预料的,就这个测试成绩来说似乎还算不错。但需要注意的是,Rosetta 2不能模拟运行虚拟机软件,而未来采用苹果自研ARM处理器的Mac也将无法以任何方式运行普通版本的Windows。至于ARM版的Windows 10,不知道大家是否留有期待?