risc
Arm vs x86:指令集,体系结构和所有主要差异说明
Android能够在三种不同类型的处理器架构上运行:Arm,Intel和MIPS。在英特尔放弃了其手机CPU之后,前者是当今无处不在的体系结构,而用于手机的MIPS处理器已有多年历史了。Arm是Android和Apple生态系统中所有现代智能手机使用的CPU架构。Arm处理器还通过Windows on Arm和Apple的Mac专用M1 CPU进入PC市场。随着Arm与Intel CPU之战即将升温,这是有关Arm vs x86的所有信息。
CPU架构说明
中央处理器(CPU)是设备的“大脑”,但并不十分智能。只有给定非常具体的指令(通常称为指令集),CPU才会工作,该指令告诉处理器在寄存器和存储器之间移动数据或使用特定的执行单元(例如乘法或减法)执行计算。独特的CPU硬件块需要不同的指令。这些趋向于通过更复杂和功能更强大的CPU进行扩展。稍后我们将看到,所需的指令还可以为硬件设计提供信息。
什么是SoC? 您需要了解的有关智能手机芯片组的所有信息
手机上运行的应用程序不是用CPU指令编写的。对于当今的大型跨平台应用程序,而不是在各种芯片上运行,这将是疯狂的。相反,将使用各种高级编程语言(如Java或C ++)编写的应用编译为特定的指令集,以便它们可以在Arm或x86 CPU上正确运行。这些指令被进一步解码为CPU内的微代码操作,这需要占用硅空间和电源。如果您想要最低功耗的CPU,那么使指令集保持简单是至关重要的。但是,可以从更复杂的硬件和指令中获得更高的性能,但会降低功耗。这是Arm和Intel的CPU设计方法之间的根本区别。
x86传统上以峰值性能,Arm能源效率为目标
Arm基于RISC(精简指令集计算),而Intel(x86)则基于CISC(复杂指令集计算)。Arm的CPU指令是原子的,在指令数和微操作之间有非常密切的关系。相比之下,CISC提供了更多指令,其中许多指令执行多项操作(例如优化的数学和数据移动)。这将导致更好的性能,但解码这些复杂指令会消耗更多功率。
指令与处理器硬件设计之间的这种联系构成了CPU体系结构。这样,可以将CPU体系结构设计用于不同的目的,例如极限运算,低能耗或最小硅面积。从CPU的角度看Arm与x86时,这是一个关键差异,因为前者基于较低的功耗,指令集和硬件。
现代的64位CPU架构
如今,64位架构已成为智能手机和PC的主流,但并非总是如此。手机直到2012年才进行转换,距PC大约十年了。简而言之,64位计算利用足够大的寄存器和内存地址来使用64位(1和0)长数据类型。除了兼容的硬件和说明之外,您还需要一个64位操作系统,例如Android。
业内资深人士可能还记得苹果公司在其Android竞争对手之前推出其首款64位处理器时的喧嚣。转向64位并没有改变日常计算。但是,在使用高精度浮点数时,有效运行数学很重要。64位寄存器还提高了3D渲染精度,加密速度,并简化了超过4GB RAM的寻址。
如今,两种体系结构都支持64位,但在移动设备领域却是最新的
PC早于智能手机就已迁移到64位,但并不是Intel创造了现代的x86-64架构(也称为x64)。该荣誉属于AMD从1999年发布的公告,该公告对Intel现有的x86架构进行了改造。英特尔的替代IA64 Itanium架构被抛弃了。
Arm在2011年推出了其ARMv8 64位架构。Arm并未扩展其32位指令集,而是提供了一种全新的64位实现。为此,ARMv8体系结构使用两个执行状态AArch32和AArch64。顾名思义,一种用于运行32位代码,一种用于运行64位。ARM设计的优点在于,处理器可以在其正常执行期间从一种模式无缝切换到另一种模式。这意味着用于64位指令的解码器是一种新设计,不需要保持与32位时代的兼容性,但是整个处理器仍然向后兼容。
阅读更多: Arm Cortex-X1为苹果强大的CPU带来了战斗
Arm的异构计算胜过移动
上面讨论的体系结构差异部分解释了两个芯片庞然大物当前面临的成功和问题。Arm的低功耗方法非常适合移动设备的3.5W散热设计功率(TDP)要求,但性能也可以与英特尔的笔记本电脑芯片相提并论。同时,英特尔的100W TDP典型Core i7在服务器和高性能台式机上赢得了巨大的成功,但一直以来很难将其缩小到5W以下。请参阅可疑的Atom阵容。
当然,在过去的十年中,我们也不能忘记硅制造工艺在大大提高电源效率方面所起的作用。广义上讲,较小的CPU晶体管消耗较少的功率。英特尔一直坚持试图超越其2014年内部14nm工艺。那时,智能手机芯片组已经从20nm移到了14nm,10nm,现在是7nm设计,预计到2021年将达到5nm。这仅是通过利用三星和台积电代工厂之间的竞争来实现的。
但是,Arm架构的一项独特功能对于保持移动应用的TDP较低(异构计算)特别有用。这个想法很简单,构建了一个架构,该架构允许不同的CPU部件(在性能和功耗方面)协同工作以提高效率。
Arm在高性能和低性能CPU内核之间共享工作负载的能力是提高能源效率的福音
Arm在这个想法上的第一个突破是big.LITTLE,它早在2011年就拥有大型Cortex-A15和小型Cortex-A7内核。对于要求苛刻的应用程序使用更大的乱序CPU内核,以及在后台任务中使用高能效的顺序CPU设计,这种想法如今已成为智能手机用户的理所当然的事情,但是它花费了一些尝试来解决这个问题。Arm在2017年以DynamIQ和ARMAv8.2架构为基础构建了这一理念,允许不同的CPU位于同一群集中,共享内存资源以实现更高效的处理。DynamIQ还支持2 + 6 CPU设计,这种设计在中端芯片中越来越普遍。
相关文章: 单核与多核处理器:哪种对智能手机更好?
英特尔的竞争对手Atom芯片采用异构计算,无法达到Arm在性能和效率之间的平衡。英特尔的Foveros,嵌入式多管芯互连桥(EMIB)和混合技术项目一直持续到2020年,以产生竞争性的芯片设计-10nm Lakefield。Lakefield将单个高性能Sunny Cove内核与四个高能效Tremont内核结合在一起,并具有图形和连接功能。但是,即使此包装也针对具有7W TDP的连接笔记本电脑,对于智能手机而言,这仍然太高了。
如今,在10W以下TDP笔记本电脑市场中,Arm vs x86的竞争日益激烈,在该市场中,英特尔不断缩小规模,而Arm越来越成功地扩大规模。苹果公司有关将转换为Mac的自定义Arm芯片的消息是Arm架构性能不断提高的一个很好的例子,这在一定程度上要归功于异构计算以及Apple进行的自定义优化。
自定义Arm核心和指令集
Arm和Intel之间的另一个重要区别是,后者从头到尾控制着整个过程,并直接销售其芯片。Arm只是出售许可证。英特尔将其架构,CPU设计甚至制造完全保留在内部。相比之下,ARM为Apple,三星和高通等合作伙伴提供了多种产品。这些范围包括像Cortex-A78这样的现成CPU内核设计,通过其Arm CXC程序合作构建的设计,以及允许Apple和Samsung等公司构建定制CPU内核甚至调整指令集的定制体系结构许可。
阅读更多: 苹果第一台基于Arm的计算机包括新的MacBook和Mac Mini
构建自定义CPU是一个昂贵且复杂的过程,但是正确完成显然可以带来强大的结果。苹果的CPU展示了定制的硬件和指令如何使Arm的性能更接近主流x86甚至更高。尽管三星的Mongoose内核更具争议性。
苹果打算用自己的基于Arm的芯片逐步取代Mac产品中的Intel CPU。Apple M1是这项工作的第一款芯片,为最新的MacBook Air,Pro和Mac Mini供电。M1在性能上进行了令人印象深刻的改进,表明高性能Arm内核能够在要求更高的计算场景中采用x86。不过请记住,Apple的比较是针对笔记本电脑级的CPU,而不是台式机。
在撰写本文时,世界上最强大的超级计算机Fugaku在Arm上运行
就消费者硬件领域的原始性能而言,英特尔的体系结构始终处于领先地位。但是Arm现在在高性能和高能效仍然是关键的产品领域(包括服务器市场)中具有很强的竞争力。在撰写本文时,世界上功能最强大的超级计算机首次在Arm CPU内核上运行。它的A64FX SoC是富士通设计的,并且是第一款运行Armv8-A SVE架构的芯片。
软件兼容性
如前所述,应用程序和软件必须针对其运行的CPU架构进行编译。CPU与生态系统(例如Arm上的Android和x86上的Windows)之间的历史联系意味着兼容性从来就不是真正的问题,因为应用程序无需跨多个平台和体系结构即可运行。但是,运行在多个CPU架构上的跨平台应用程序和操作系统的增长正在改变这种状况。
苹果公司的基于Arm的Mac,谷歌的Chrome OS和微软的Windows on Arm都是现代的示例,其中软件需要同时在Arm和Intel架构上运行。新应用程序和愿意投资重新编译的开发人员都可以选择为两者编译本机软件。为了填补这些空白,这些平台还依赖于代码仿真。换句话说,将为一种CPU架构编译的代码转换为可以在另一种CPU架构上运行。与本机应用程序相比,这效率较低,并且会降低性能,但是目前可以通过良好的仿真来确保应用程序正常运行。
经过多年的开发,Windows on Arm仿真对于大多数应用程序都处于良好状态。Android应用程序在很大程度上也可以在Intel Chromebook上正常运行。苹果有自己的翻译工具 Rosetta 2,也可以支持旧版Mac应用程序。但是,与本地编译的应用程序相比,这三者均遭受性能损失。
Arm vs x86:最后的决定
在Arm与x86竞争的过去十年中,Arm已经赢得了智能手机等低功耗设备的选择。现在,该架构也正在向需要增强电源效率的笔记本电脑和其他设备迈进。尽管在手机上输了很多钱,但多年来英特尔在低功耗方面的努力也有所改善,Lakefield现在与手机中的传统Arm处理器共享更多的共同点。
就是说,从工程的角度来看,Arm和x86仍然有明显的不同,并且它们仍然具有各自的优点和缺点。但是,随着生态系统越来越多地支持这两种架构,两者之间的消费者使用案例变得越来越模糊。然而,尽管Arm与x86的比较存在交叉之处,但在可预见的将来,肯定是Arm将成为智能手机行业的首选架构。该架构也显示出对笔记本电脑级计算和效率的主要承诺。