手机便携
返回首页

一文看懂苹果 Rosetta 2 技术原理: “翻译”有点本事

2020-12-27 来源:新浪数码

苹果在上个月推出了搭载 M1 自研芯片的 MacBook Air、Mac mini 以及 13 英寸 MacBook Pro。其中,苹果 M1 芯片与此前 Mac 采用的芯片最大不同是基于 ARM 架构,而不是过去英特尔芯片的 x86 架构。


由于 M1 芯片底层架构和过去不同,由此带来的应用生态兼容性问题是首先需要解决的,为此苹果也开启了为期两年的 Mac 过渡计划。具体来说,苹果借助的是 macOS 11 Big Sur 系统以及其内置的 Universal 2、Rosetta 2 和 Virtualizaion 三种技术来解决问题。


不过话虽如此,可能还是会有小伙伴会比较犹豫,这些措施真的可以解决 M1 芯片 Mac 的软件兼容性问题吗?特别是原来在 x86 架构上的应用,开发者还没有及时做适配,能在 Mac 上很好地运行吗?

对于这个问题,其实苹果已经给出了专门的解决方案,就是 Rosetta 2。可是谈到 Rosetta 2,很多小伙伴并不是很了解,它需要怎么用,又是如何让 M1 芯片的 Mac 运行 x86 平台应用的,这里IT之家不妨为大家解释一下。


说到 Rosetta 2 的运行原理,深入到技术层面大家可能很难理解,因此小编主要介绍一些基础的底层逻辑。

首先要从 x86 架构和 ARM 架构的不同说起。我们所说的 x86 架构和 ARM 架构,都是指处理芯片的指令集。

我们知道,芯片是负责运算的,但是它需要在什么时候做什么运算,芯片不能自己决定,得听系统的指令,描述 CPU 能做什么运算的一系列指令集合,就是指令集。

打个比方,我们把智能设备完成一次功能操作比作建造一个房子的项目,这个过程中,CPU 相当于工匠,他负责盖房子,但是要盖成什么样的房子,他不知道,得听项目经理的。

项目经理相当于系统,他告诉工匠需要把房子盖成什么样,传达的指令就相当于指令集。

说到指令集,主要有两种:x86 和 ARM。x86 是英特尔编写的,属于复杂指令集 (CISC)的代表,而 ARM 是英国 Acorn 有限公司设计的,是精简指令集(RISC)的代表。

复杂指令集和精简指令集的差别在哪里?我们还是用上面的例子来说明。

项目经理要告诉工匠需要盖什么样的房子,他们怎么传达指令呢?为了更高效地和工匠沟通,他们彼此间通常会约定一些只有他们听得懂 “行话”组成 “指令库”。

复杂指令集这边的项目经理,我们叫他 “小复”,他和工匠沟通的 “行话”,包括具体每块砖砌在哪里这样简单直接的指令,也包含 “砌一个围墙”、“搭一个柱子”这样复杂的指令。


进入手机便携查看更多内容>>
相关视频
  • 消费电子应用及设计研讨会

  • STB(机顶盒)和 OTT (流媒体播放器)应用技术详解

  • TI 针对语音识别应用的嵌入式处理器解决方案

  • TI 手持吸尘器系统方案与设计

  • 人脸识别市场的最新应用

  • Fairchild USB Type-C 技术及产品演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章