姓名:张润东 学号:19029100015 学院:电子工程学院
引自:https://zhuanlan.zhihu.com/p/335021942
【嵌牛导读】本文讲述了苹果M1芯片在刚刚使用时软件适配的情况
【嵌牛鼻子】Apple M1、Apple Rosetta 2
【嵌牛提问】何为Apple Rosetta 2?为何要需要这个转译工具?
【嵌牛正文】
2020年11月,苹果发布了一次跨时代的发布会,3款内置苹果自研芯片M1的电脑,苹果换“芯”了,从X86跨越到M1,最大的挑战就是软件对M1的适配需要一定的时间,理论上这是两套完全不兼容的技术体系,之前的所有PC软件都无法兼容,要是等开发者开发出来能够用在M1上的软件,恐怕连黄花菜都凉了。
此时,苹果使出了一招权宜之计,通过一个转译软件Apple Rosetta 2,这样就可以使用之前运行在X86上的软件了。
Apple在Rosetta 2 的文档中写道:“ Rosetta 2是一个转换过程,允许用户在Apple芯片上运行包含x86_64指令的应用程序。Rosetta旨在简化向Apple芯片的过渡,使您有时间为您的应用程序创建通用二进制文件。它不能替代创建应用程序的本机版本。”
苹果官方介绍,“这个软件很强,用起来一点都没有影响。”大家放心买,我们放心收钱,但是真的没有影响吗,通过我浅薄的计算机知识告诉我,多了一个中转站,不可能一点影响都没有,直到我在字缝里看到了“大多数情况”,我就知道了,肯定有影响!
根据开发者的测试,Geekbench 5 通过 Rosetta 2 运行在装有 A12Z 芯片的 Apple Mac Mini Developer Transition Kit 中,单核跑分比 A12Z 在 iPad Pro 12.9 中低了大约 25%。尽管两者的硬件环境以及芯片频率等因素都不相同,这个跑分对比并不严谨,但 Rosetta 2 对于应用运行效率有不小影响这一点,是可以得出肯定结论的。
对于用户而言,Rosetta 2大多是透明的。如果可执行文件仅包含Intel指令,则macOS会自动启动Rosetta 2并开始翻译过程。翻译完成后,系统将启动翻译后的可执行文件,而不是原始文件。但是,翻译过程需要时间,因此用户可能会感觉到翻译后的应用有时会启动或运行得更慢。
我认为,Rosetta 2的出现从另外一方面也表明了自己想要另创山头的野心,也在倒逼软件开发者赶快开发出能够直接运行在M1上的软件。“芯片我做出来了,软件适配问题你们看着办。”有些牌打出来才能赢,与其默默的等软件开发者挤牙膏开发,不如先把产品发布出来,先通过一个权宜之计稳住消费者,然后向开发者施压,此招确实是高!
接下来,我会更新M1芯片对于用户到底有何创新之处。