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

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

3天内不再提示

苹果MacBook换用自研ARM,跑X86软件会怎么样?

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

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

苹果MacBook换用ARM芯片

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

之前使用ARM芯片的Surface平板,运行X86软件效果并不理想,MacBook会重蹈覆辙吗?

这种担心是有道理的。在此之前,微软已经做过了这方面的尝试。微软推出了使用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?,共110亿个晶体管,而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并不落下风。

苹果MacBook换用自研ARM,跑X86软件会怎么样?

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

苹果MacBook换用自研ARM,跑X86软件会怎么样?

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

苹果MacBook换用自研ARM,跑X86软件会怎么样?

可以看到,在单线程性能上,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。

Mac迁移平台这事,苹果已经干过一次了,当年Mac从PPC迁移到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的实战表现应该相当不错。

MacBook换用ARM之前,ARM的Mac mini开发机早已经有了,没有传出性能方面的负面消息

到了这里,我们又可以来分析一下为什么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都非常值得期待,一起来静待上市实测吧。

新MacBook性能真的像苹果公布的那么劲爆么?
责编AJX

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

    关注

    134

    文章

    8735

    浏览量

    363295
  • 苹果
    +关注

    关注

    61

    文章

    23909

    浏览量

    192305
  • 软件
    +关注

    关注

    68

    文章

    4437

    浏览量

    86217
  • X86
    X86
    +关注

    关注

    5

    文章

    286

    浏览量

    43113
收藏 人收藏

    评论

    相关推荐

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

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

    IAR FOR ARM和IAR FOR STM8无法共存怎么解决?

    Files (x86)IAR SystemsEmbedded Workbench 8.1文件夹里 安装完后,FOR STM8在C:Program Files (x86)IAR
    发表于 04-07 07:39

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

    比较,帮助您决定哪一种适合您。 基础知识 在我们深入比较之前,有必要了解什么是 x86ARM 架构。 x86是一种复杂指令集计算(CISC)架构,是大多数台式机和笔记本电脑的设计基础。它以高性能和与各种
    的头像 发表于 03-07 13:26 200次阅读

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

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

    x86arm架构区别主板还是cpu

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

    基于X86平台的ARM指令集模拟器的设计方案

    电子发烧友网站提供《基于X86平台的ARM指令集模拟器的设计方案.pdf》资料免费下载
    发表于 11-06 11:54 0次下载
    基于<b class='flag-5'>X86</b>平台的<b class='flag-5'>ARM</b>指令集模拟器的设计方案

    工控机关键选择:研究X86ARM处理器的优劣

    钡铼技术 工控机关键选择:研究X86ARM处理器的优劣
    的头像 发表于 10-30 14:15 532次阅读

    RT-Thread能在X86构架下访问PCI板卡设备不?

    RT-Thread能在X86构架下访问PCI板卡设备不? 例如工控机,用于想要一个自主可控的系统,但是有些板卡还是PCI的,不知道RT-Thread能不能驱动?
    发表于 10-18 21:28

    基于X86平台的ARM指令集模拟器设计

    电子发烧友网站提供《基于X86平台的ARM指令集模拟器设计.pdf》资料免费下载
    发表于 10-11 15:03 0次下载
    基于<b class='flag-5'>X86</b>平台的<b class='flag-5'>ARM</b>指令集模拟器设计

    X86架构与ARM架构的主要区别

    X86ARM是两种主要的CPU架构,X86架构的CPU是PC服务器行业的老大,而ARM架构的CPU则是移动端的老大。它们在设计理念、性能、功耗和应用领域等方面都有显著的区别。设计理念
    的头像 发表于 09-22 08:23 6991次阅读
    <b class='flag-5'>X86</b>架构与<b class='flag-5'>ARM</b>架构的主要区别

    CPU架构中X86ARM的区别

    随着科技的快速发展,计算机技术已经深入到我们生活的方方面面。作为计算机的核心部件,CPU(中央处理器)的性能和架构对于整个系统的运行起着至关重要的作用。目前,市场上主流的 CPU 架构主要有两种:X86ARM。那么这两种架构有何相同点和不同点呢?
    发表于 09-18 10:02 1653次阅读

    Windows 7的x86驱动程序4.6

    电子发烧友网站提供《Windows 7的x86驱动程序4.6.zip》资料免费下载
    发表于 08-18 10:09 0次下载
    Windows 7的<b class='flag-5'>x86</b>驱动程序4.6

    OneCommand企业应用套件Windows x86 (GUI)

    电子发烧友网站提供《OneCommand企业应用套件Windows x86 (GUI).exe》资料免费下载
    发表于 08-02 14:26 0次下载
    OneCommand企业应用套件Windows <b class='flag-5'>x86</b> (GUI)

    介绍三大主流芯片架构:X86ARM、RISC-V

    我们主要应用的三大芯片架构:X86ARM和RISC-V架构
    发表于 07-25 09:35 2.7w次阅读
    介绍三大主流芯片架构:<b class='flag-5'>X86</b>、<b class='flag-5'>ARM</b>、RISC-V

    RISC-V、ARMx86微处理器之间有什么区别?

    RISC-V、ARMx86微处理器之间的许多差异都很细微,并且与内存寻址方式、分支执行方式、异常处理方式等有关。本文将考虑更高层次的差异,并将简要比较精简指令集计算(RISC)和复杂指令集计算
    的头像 发表于 07-06 11:32 3639次阅读
    RISC-V、<b class='flag-5'>ARM</b>与<b class='flag-5'>x86</b>微处理器之间有什么区别?