0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么搭载ARM架构的苹果MacBook跑x86软件不卡

如意 来源:太平洋电脑网 作者:Aimo 2020-11-15 09:34 次阅读

相信大家都已经知道,苹果在最新一场秋季发布会中,宣告了全新的MacBook产品。新MacBook换用了苹果自研的基于ARM架构的M1芯片,苹果从X86阵营转向,投入了ARM的怀抱。

在传统观念中,ARM是用于移动平台的架构,和桌面的X86芯片相比,ARM芯片的能效更高,但性能羸弱。这次苹果MacBook换用ARM,同时macOS 11仍对以往基于X86 macOS开发的软件兼容,这就让很多朋友感到困惑——用新的MacBook跑当前的X86软件,到底会不会卡?

这种担心是有道理的。在此之前,微软已经做过了这方面的尝试。微软推出了使用ARM芯片的Surface Pro X平板电脑,兼容X86的Win10软件。然而人们发现,体验并不理想,传统软件运行起来缓慢迟钝。换用ARM芯片的MacBook会不会有这样的问题?这就来分析一下。

MacBook的ARM芯片足够强吗?

新MacBook跑旧软件到底慢不慢,最关键的因素自然是新的M1芯片。人们普遍认为,ARM芯片的性能水平无法和X86比肩,毕竟ARM是简单指令集RISC而X86是复杂指令集CISC,复杂指令集自然强大得多,但事实上这是一个误会。

在规模上,苹果M1芯片足以和顶尖的X86桌面处理器并驾齐驱

CPU发展到今天,RISC和CISC的边界其实已经相对模糊了。在当前的X86处理器中,复杂指令也是会分拆成为类简单指令来执行的。

而在规模上,苹果设计的ARM芯片已经追赶上了X86,例如A14的芯片面积为88mm,共118亿个晶体管,而AMD最新发布的Zen3处理器中一个CCD的面积为80.7mm,共41.5亿个晶体管。考虑到A14还封装了AI模块、GPU等,A14芯片使用的是5nm工艺,而5800X使用的是7nm工艺,事实上大家的CPU单元部分,规模已经是并驾齐驱。

了解了规模,再来看看性能实测,这里引用Anandtech的数据。Anandtech使用了行业权威性能测试套件SPEC 2006来对比测试苹果A14、AMD Zen3以及英特尔Tiger Lake的性能,结果如下。

首先是整数性能,可以看到A14并不落下风。

再来看看浮点性能,A14和Zen3要明显领先于Tiger Lake。

Anandtech还使用了大家非常熟悉的Geekbench来测试,结果如下。

可以看到,在单线程性能上,A14的确已经能追上当前顶级的X86处理器。这次苹果MacBook使用的M1处理器,架构和A14相似,但规格更高,晶体管规模达到了160亿个,增加了两个大核心,在性能上方面是可以令人放心的。

其实到了这里,我们也不难找出为什么Surface Pro X运行缓慢的原因。Surface Pro X使用的是高通SQ1/SQ2处理器,这基本是骁龙855的马甲。而即使是骁龙865+,对比A14以及最新的X86处理器,性能也依然不太够看……

此情此景下,加之Win10 on ARM较低下的指令翻译效率,Surface Pro X运行X86软件的体验就不甚理想了。是的,到了这里大家应该也能看到ARM处理器运行X86软件,除了自身性能之外的其他影响因素了——操作系统的指令翻译效率。

macOS 11的指令翻译效率高吗?

X86软件想要在ARM芯片上运行,需要进行指令翻译。虽然ARM指令集并不意味着性能低下,但毕竟它和X86还是不同的,指令需要翻译过来,才能让ARM芯片执行。

在今年的WWDC大会上,苹果已经公布了指令翻译的方案。苹果宣布,将会为macOS平滑过渡到ARM平台,推出Rosetta 2中间转换层。如果你是老果粉,对于Rosetta这个词一定很熟悉——苹果Mac电脑当年从IBM PowerPC架构,迁移到Intel X86平台,所使用的转换层正是Rosetta。

Rosetta 2的作用在于,它通过指令翻译,可以让ARM平台的macOS,直接运行绝大部分的X86软件。从苹果的介绍来看,Rosetta 2的性能还相当不错,它并不是在软件运行的时候,才翻译指令的,而是在软件安装时就做好了转换。

当然,这也并非说Rosetta 2可以实现性能完全无损,它对AVX指令兼容并不好,如果X86软件依赖AVX乃至AVX2,那么在ARM平台上由于没有对应的高性能指令,运行效率会有明显下滑。并不是所有的软件都会用到AVX指令集,总体来说,Rosetta 2的性能应该还是可以接受的。

这次Mac从X86迁移到ARM,Rosetta 2对旧有X86软件的兼容也起着至关重要的作用

至于Rosetta 2的实际表现会如何?我们可以从两方面来衡量。

首先是参考Rosetta。苹果从PowerPC迁移到X86时,也使用了类似方案,当年并没有太多人抱怨Rosetta性能低下,我们自然也可以对Rosetta 2抱有期待。

其次是参考开发者的实测。实际上,苹果早前就已经推出了基于A12Z芯片的Mac mini开发机,开发者们很早就能接触到Rosetta 2,但到目前为止并没有什么关于Rosetta 2性能低下的爆料,可见Rosetta 2的实战表现应该相当不错。

到了这里,我们又可以来分析一下为什么Surface Pro X的表现会如此糟糕了。在Surface Pro X的Windows 10 on ARM中运行X86软件,是边转码边运行的,并不像苹果Rosetta 2那样在安装时作好转码工作,运行时无需再次转码。加上性能较弱的SQ1/SQ2处理器,运行X86软件拖慢卡顿也就在情理之中了。

总结

到了这里,相信大家都可以得出结论了。MacBook使用的M1处理器性能非常强大,足以和顶尖的X86处理器同台竞技;而苹果又在macOS 11中准备了高效的Rosetta 2指令翻译方案,因此对于能否流畅运行之前的X86软件,大家无需太过担心。

根据苹果的说法,情况要比笔者文中分析的更加乐观。苹果宣称,M1要比之前MacBook所使用的X86处理器性能高1倍,同时功耗仅为25%。从各种角度来看,新的MacBook都非常值得期待,一起来静待上市实测吧。
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9042

    浏览量

    366734
  • 苹果
    +关注

    关注

    61

    文章

    24348

    浏览量

    196749
  • intel
    +关注

    关注

    19

    文章

    3480

    浏览量

    185737
  • macbook
    +关注

    关注

    0

    文章

    496

    浏览量

    41653
收藏 人收藏

    评论

    相关推荐

    英特尔将携手AMD共同捍卫x86生态

    Advisory Group)由英特尔和AMD共同创立,其目标在于推动x86架构的未来发展,简化软件开发流程,保障互操作性和接口的一致性,并为开发者提供标准化的架构工具、指令集以及对
    的头像 发表于 10-16 13:49 391次阅读

    ARM 架构工控机与 X86 架构工控机:差异究竟在哪?

    控制系统等行业。本文详细分析一下ARM工控机与X86架构工控机,供大家参考。 应用领域:ARM控制器适用于小型应用,边缘计算、自动化控制、物联网关、智慧城市、智能设备等场景,比如ARM
    的头像 发表于 09-20 15:13 353次阅读
    <b class='flag-5'>ARM</b> <b class='flag-5'>架构</b>工控机与 <b class='flag-5'>X86</b> <b class='flag-5'>架构</b>工控机:差异究竟在哪?

    就服务器而言,ARM架构X86架构有什么区别?各自的优势在哪里?

    x86 架构服务器在市场占主导,有强大处理能力和广泛软件兼容性,广泛用于企业数据中心。ARM 架构服务器近年崛起,凭借低功耗、高效能优势在
    的头像 发表于 09-09 14:05 1421次阅读

    什么是ARM架构?什么是X86架构?两者的区别是什么?

    ,1990 年为与苹果合作成立 ARM 公司,开启全球广泛应用之路。 (二)技术特点与优势 ARM 架构采用精简指令集,节能高效,指令集简化、数目少且长度固定,多用寄存器,寻址灵活简单
    的头像 发表于 09-06 10:40 663次阅读

    树莓派是x86还是arm

    树莓派(Raspberry Pi)是一款由英国树莓派基金会(Raspberry Pi Foundation)开发的微型计算机。它基于ARM架构,而非x86架构。 一、树莓派的发展历程
    的头像 发表于 08-30 15:42 746次阅读

    X86架构处理器有哪些优点和缺点

    X86架构处理器作为计算机领域的重要组成部分,具有多个显著的优点和一定的缺点。以下是对X86架构处理器优缺点的详细分析。
    的头像 发表于 08-22 11:25 1535次阅读

    X86架构ARM架构有什么区别

    X86架构ARM架构是两种主流的CPU架构,它们在多个方面存在显著的差异。以下是对这两种架构
    的头像 发表于 08-22 11:21 8365次阅读

    探索RISC-V二进制翻译,openKylin成功在SG2042平台运行X86架构软件

    众所周知,在新的指令集架构发展初期,往往采用兼容其他架构软件的方法来拓展自身生态体系,如苹果公司的Rosetta2和微软的Arm64EC,都
    的头像 发表于 07-24 08:34 452次阅读
    探索RISC-V二进制翻译,openKylin成功在SG2042平台运行<b class='flag-5'>X86</b><b class='flag-5'>架构</b><b class='flag-5'>软件</b>!

    ElfBoard技术贴|如何将libwebsockets库编译为x86架构

    在之前的文章中,我们已经详细介绍了如何交叉编译libwebsockets并将其部署到ELF1开发板上。然而在调试阶段,发现将libwebsockets在Ubuntu环境下编译为x86架构可能更为方便
    的头像 发表于 07-10 09:38 1161次阅读
    ElfBoard技术贴|如何将libwebsockets库编译为<b class='flag-5'>x86</b><b class='flag-5'>架构</b>

    全新国产x86处理器,Chiplet架构,从教育整机做起

    x86 CPU新品,其他未经授权的厂商只能寻求别的架构另辟蹊径。   但国内也有一些手握x86授权的厂商,比如从AMD获得授权的海光,以及来自威盛所获授权的兆芯。兆芯在去年年底正式发布了全新的开先KX-7000系列处理器,并在近
    的头像 发表于 04-30 01:06 5068次阅读
    全新国产<b class='flag-5'>x86</b>处理器,Chiplet<b class='flag-5'>架构</b>,从教育整机做起

    谷歌发布Axion新款数据中心AI芯片,性能超越x86及云端

    谷歌预计将通过Google Cloud提供Axion AI芯片给客户。谷歌强调这款基于ARM的CPU产品具有优越的性能表现,甚至超越了传统的x86芯片及云端通用ARM芯片。
    的头像 发表于 04-10 16:32 839次阅读

    谷歌发布Arm架构CPU,性能超越x86和通用Arm芯片

    据悉,谷歌计划借助谷歌云提供名为Axion的基于Arm的中央处理器(CPU)。该公司表示,其性能优越,超过同类x86芯片及云端通用Arm芯片。
    的头像 发表于 04-10 09:25 516次阅读

    x86 SBC vs ARM SBC:选择适合您的单板计算机

    比较,帮助您决定哪一种适合您。 基础知识 在我们深入比较之前,有必要了解什么是 x86ARM 架构x86是一种复杂指令集计算(CISC)
    的头像 发表于 03-07 13:26 458次阅读

    arm架构x86架构区别 linux是x86还是arm

    ARM架构x86架构是两种不同的计算机处理器架构,它们在体系结构、指令集、应用领域等方面有着明显的区别。Linux操作系统则具有广泛的适配
    的头像 发表于 01-30 13:46 1.7w次阅读

    x86arm架构区别主板还是cpu

    x86ARM架构是计算机处理器的两种不同体系结构,涉及到CPU和主板两方面的区别。下面将详细介绍它们的特点和区别。 首先,我们需要先了解x86A
    的头像 发表于 12-21 17:08 2208次阅读