标题: 一文看懂苹果Rosetta2技术原理:这个 “X64直转ARM64”有点本事 [打印本页] 作者: corinest69 时间: 2020-12-28 10:29 标题: 一文看懂苹果Rosetta2技术原理:这个 “X64直转ARM64”有点本事 苹果在上个月推出了搭载 M1 自研芯片的 MacBook Air、Mac mini 以及 13 英寸 MacBook Pro。其中,苹果 M1 芯片与此前 Mac 采用的芯片最大不同是基于 ARM 架构,而不是过去英特尔芯片的 x86 架构。
(, 下载次数: 3)
上传
点击文件名下载附件
由于 M1 芯片底层架构和过去不同,由此带来的应用生态兼容性问题是首先需要解决的,为此苹果也开启了为期两年的 Mac 过渡计划。具体来说,苹果借助的是 macOS 11 Big Sur 系统以及其内置的 Universal 2、Rosetta 2 和 Virtualizaion 三种技术来解决问题。
(, 下载次数: 3)
上传
点击文件名下载附件
不过话虽如此,可能还是会有小伙伴会比较犹豫,这些措施真的可以解决 M1 芯片 Mac 的软件兼容性问题吗?特别是原来在 x86 架构上的应用,开发者还没有及时做适配,能在 Mac 上很好地运行吗?
对于这个问题,其实苹果已经给出了专门的解决方案,就是 Rosetta 2。可是谈到 Rosetta 2,很多小伙伴并不是很了解,它需要怎么用,又是如何让 M1 芯片的 Mac 运行 x86 平台应用的,这里IT之家不妨为大家解释一下。
(, 下载次数: 3)
上传
点击文件名下载附件
说到 Rosetta 2 的运行原理,深入到技术层面大家可能很难理解,因此小编主要介绍一些基础的底层逻辑。
首先要从 x86 架构和 ARM 架构的不同说起。我们所说的 x86 架构和 ARM 架构,都是指处理芯片的指令集。
我们知道,芯片是负责运算的,但是它需要在什么时候做什么运算,芯片不能自己决定,得听系统的指令,描述 CPU 能做什么运算的一系列指令集合,就是指令集。
打个比方,我们把智能设备完成一次功能操作比作建造一个房子的项目,这个过程中,CPU 相当于工匠,他负责盖房子,但是要盖成什么样的房子,他不知道,得听项目经理的。
项目经理相当于系统,他告诉工匠需要把房子盖成什么样,传达的指令就相当于指令集。