Arm与x86-深入解析指令集、架构及其核心差异

Arm与x86-深入解析指令集、架构及其核心差异

安卓操作系统是为在三种不同的处理器架构上运行而设计的:Arm、英特尔(现已退出移动市场)和MIPS。其中,Arm架构因其出色的能效和广泛的市场采纳度,已成为现代智能手机领域的主导者。在英特尔放弃其移动处理器后,Arm进一步巩固了其在移动市场的统治地位,而MIPS架构在移动设备中的应用已经极为罕见。如今,Arm架构不仅在手机市场中无处不在,还通过WindowsforArm和苹果的Mac系列定制AppleSilicon处理器进入了PC市场。随着Arm与x86架构之间的竞争日益激烈,了解它们之间的核心差异变得尤为重要。

图片[1]-Arm与x86-深入解析指令集、架构及其核心差异

CPU架构概述

中央处理器(CPU)是设备的核心计算单元,但它无法自行决定如何执行任务。CPU需要一套特定的指令(即指令集)来指导其如何在寄存器和内存之间移动数据,或执行计算操作。不同的CPU硬件设计需要不同的指令集,而这些指令集往往随着硬件复杂性和性能的提升而扩展。

Arm与x86:精简与复杂

应用程序并非直接以CPU指令编写,而是使用高级编程语言(如Java或C++)编写,随后被编译为特定指令集,以便在Arm、x86等不同的CPU上运行。这些指令在CPU内部进一步解码为微操作,这一过程需要一定的硅面积和功率。在追求最低功耗的CPU时,保持指令集的简单性至关重要。然而,更复杂的硬件和能够同时执行多个操作的指令可以带来更高的性能,但也会增加功耗。

Arm基于RISC(精简指令集计算)设计,其指令集简单且原子化,指令数量与微操作之间有着紧密的关联。而x86则属于CISC(复杂指令集计算)阵营,提供更多复杂的指令,这些指令可以执行多个操作,从而带来更高的性能,但功耗也相应增加。不过,随着技术的发展,RISC和CISC之间的界限变得模糊,两者都在相互借鉴对方的优点。

现代64位CPU架构

智能手机和PC市场的主流如今都是64位架构。64位计算利用64位长的数据类型(由1和0组成)进行寄存器操作和内存寻址。除了兼容的硬件和指令集,还需要一个64位的操作系统,如安卓。

在个人电脑领域,x86-64(也称为x64)是主流的64位架构,由AMD在1999年首次推出,并对英特尔现有的x86架构进行了改造。而Arm则在2011年推出了其ARMv864位架构,该架构提供了两种执行状态:AArch32用于运行32位代码,AArch64用于64位代码。这种设计使得处理器可以在运行时无缝切换模式,从而支持向后兼容。然而,随着技术的进步,Arm最新的ARMv9Cortex-A处理器已经全面转向64位,不再支持旧的32位应用程序和操作系统。谷歌也在其Pixel7设备的固件中禁用了对32位应用程序的支持,进一步推动了64位计算的普及。

Arm的异构计算赢得了移动的青睐

上面讨论的架构差异部分地解释了这两个芯片巨头目前的成功和面临的问题。Arm的低功耗方法完全适合移动设备的5W以下热设计功率(TDP)要求,但性能也能扩展到与英特尔的笔记本电脑芯片相匹配。请看苹果的M1系列基于Arm的处理器,它在PC领域提供了严重的竞争。同时,英特尔100W以上TDP的酷睿i7和i9产品,以及竞争对手AMDRyzen的芯片组,在服务器和高性能台式机中大获全胜,但在历史上却很难降到5W以下。请看可疑的Atom产品系列。

当然,我们也不能忘记硅制造工艺在过去十年里在大幅提高电源效率方面发挥的作用。广义上讲,更小的CPU晶体管消耗的功率更少。英特尔的7纳米CPU(被称为英特尔4工艺技术)预计要到2023年才会出现,而且这些CPU可能由台积电而不是英特尔的代工厂制造。在这段时间里,智能手机芯片组已经从20纳米到14纳米、10纳米和7纳米、5纳米,以及现在的4纳米设计,截至2022年的市场。这仅仅是通过利用三星和台积电代工厂之间的竞争实现的。这也在一定程度上帮助AMD通过其最新的7纳米和6纳米Ryzen处理器缩小了与x86-64对手的差距。

然而,Arm架构的一个独特功能在保持移动应用的低TDP方面发挥了特别重要的作用(异构计算)。这个想法很简单,建立一个架构,让不同的CPU部件(在性能和功率方面)一起工作以提高效率。

Arm在这个想法上的第一次尝试是2011年的big.LITTLE,即大Cortex-A15和小Cortex-A7内核。将更大的失序CPU内核用于高要求的应用,而将高能效的失序CPU设计用于后台任务,这种想法在今天的智能手机用户看来是理所当然的,但它花了几次尝试来完善这个公式。2017年,Arm通过DynamIQ和ARMAv8.2架构建立了这一理念,允许不同的CPU坐在同一个集群中,共享内存资源,以实现更高效的处理。DynamIQ还实现了中端芯片中常见的2+6CPU设计,以及在旗舰级SoC中看到的小、大、更大(1+3+4和2+2+4)CPU设置。

英特尔的竞争对手Atom芯片,没有异构计算,无法与Arm的性能和效率平衡。直到2020年,英特尔的Foveros、嵌入式多芯片互连桥(EMIB)和混合技术项目才产生了一个竞争性的芯片设计–10纳米Lakefield。Lakefield结合了一个高性能的SunnyCove内核和四个节能的Tremont内核,以及图形和连接功能。然而,即使是这种封装也是针对联网的笔记本电脑,其TDP为7W,这对智能手机来说仍然太高。

今天,Arm与x86在10WTDP以下的笔记本电脑市场领域的争夺越来越激烈,英特尔在这一领域的规模缩小,而Arm的规模扩大越来越成功。苹果公司在Mac上改用自己的定制Arm芯片是Arm架构性能不断提高的一个典型例子,这部分归功于异构计算和苹果公司的定制优化。

Arm的异构计算策略在移动领域大放异彩

Arm架构之所以在移动市场大获成功,其背后的一个关键策略便是异构计算。这一策略不仅解释了Arm与英特尔两大芯片巨头当前的市场地位,也揭示了它们各自面临的挑战和机遇。Arm的低功耗设计方法完美契合了移动设备对热设计功率(TDP)低于5W的要求,同时其性能也能扩展至与英特尔笔记本电脑芯片相媲美的水平。例如,苹果的M1系列基于Arm的处理器,在PC领域展现出了强大的竞争力。

与此同时,英特尔的高性能酷睿i7和i9系列处理器,以及竞争对手AMD的Ryzen芯片组,在服务器和高性能台式机领域占据主导地位,但它们在降低功耗至5W以下方面却面临挑战。英特尔的Atom系列产品线就是一个例子,它在移动市场的表现一直不尽如人意。

除了架构差异,硅制造工艺的进步也在不断提高电源效率方面发挥了重要作用。过去十年里,随着晶体管尺寸的缩小,CPU的功耗也相应降低。智能手机芯片组已经从20纳米演进到14纳米、10纳米、7纳米、5纳米,直至现在的4纳米设计。这种演进部分归功于三星和台积电等代工厂之间的激烈竞争,它们不断推动技术边界,为移动设备提供更高性能的芯片。

然而,Arm架构的异构计算策略在保持移动应用低TDP方面发挥了尤为关键的作用。异构计算的核心思想是将不同性能和功耗的CPU部件结合使用,以提高整体效率。Arm早在2011年就通过big.LITTLE技术进行了初步尝试,将高性能的Cortex-A15内核与能效出众的Cortex-A7内核结合使用。如今,这种理念已经通过DynamIQ和ARMv8.2架构得到了进一步发展,实现了不同CPU在共享内存资源的同时协同工作,从而实现了更高效的处理。

相比之下,英特尔的Atom芯片由于缺乏异构计算能力,在性能和效率上无法与Arm相抗衡。直到2020年,英特尔才通过Foveros、嵌入式多芯片互连桥(EMIB)和混合技术项目推出了Lakefield芯片,这是其首款具备竞争力的异构设计。然而,这款芯片主要面向7WTDP的联网笔记本电脑,对于智能手机而言,功耗仍然过高。

如今,Arm与x86在10WTDP以下的笔记本电脑市场领域的竞争愈发激烈。英特尔在这一市场的份额不断缩小,而Arm的势力范围则持续扩大。苹果公司在Mac上采用自家的定制Arm芯片就是Arm架构性能不断提升的一个显著例证,而这在很大程度上得益于异构计算策略和苹果公司的定制优化。

定制的Arm内核与生态系统的演变

Arm与英特尔的竞争不仅在于技术层面,更在于其商业模式和生态系统的构建。英特尔一直采取垂直整合的策略,从架构设计到芯片制造均牢牢掌握在自己手中,直接面向消费者销售其芯片产品。而Arm则走了一条不同的道路,它专注于提供灵活多变的架构许可,让合作伙伴如苹果、三星和高通等根据自身需求定制CPU内核和指令集。

Arm通过提供多种产品来满足不同合作伙伴的需求,从现成的Cortex-X3和A710等CPU内核设计,到通过ArmCXC项目合作开发的设计,再到允许深度定制的架构许可,Arm为市场带来了前所未有的灵活性。这种策略使得合作伙伴能够根据具体的应用场景和性能需求,定制出最适合的芯片产品。

苹果的定制Arm芯片就是一个成功的例子。通过深度定制硬件和指令集,苹果的芯片在性能和能效方面取得了令人瞩目的成绩,足以与主流的x86-64架构相媲美。尽管并非所有定制尝试都如此成功,如三星的Mongoose内核最终未能取得成功,但高通通过收购Nuvia再次证明了定制ArmCPU的潜力。

与此同时,Arm架构的竞争力也在不断扩展。如今,Arm不仅在智能手机等低功耗设备上占据主导地位,还正逐步向笔记本电脑、服务器等高性能领域进军。世界上最强大的超级计算机甚至首次在ArmCPU内核上运行,标志着Arm架构在高性能计算领域的崛起。

软件兼容性与未来展望

随着越来越多的设备采用Arm架构,软件兼容性问题也日益凸显。然而,随着跨平台应用程序和操作系统的增长,软件生态系统也在逐步适应这一变化。苹果基于Arm的Macs、谷歌的ChromeOS和微软的WindowsforArm等平台的出现,使得软件开发者需要为不同架构编写代码或进行仿真。

虽然仿真技术可以在一定程度上解决兼容性问题,但与原生编译的应用程序相比,其性能会有所下降。然而,随着技术的不断进步,仿真效率也在不断提高,使得跨平台应用程序的性能逐渐接近原生应用。

展望未来,Arm与x86的竞争将继续深入。尽管x86架构在消费类硬件的原始性能上仍然占据领先地位,但Arm在能效和定制化方面的优势正逐步显现。随着生态系统的不断发展和完善,这两种架构的界限将变得越来越模糊。然而,在可预见的未来,Arm仍然有望继续主导智能手机市场,并在笔记本电脑和服务器等高性能领域展现出巨大的潜力。

 

请登录后发表评论

    没有回复内容