安卓系统能够在Arm、英特尔X86和MIPS三种不同类型的处理器架构上运行,在英特尔放弃其手机CPU后,前者已成为智能手机的主要架构,而手机的MIPS处理器已经多年未见。Arm是安卓和苹果生态系统中所有现代智能手机使用的CPU架构,Arm处理器也正在通过Windows on Arm和苹果用于Mac的定制M1 CPU进入PC市场。随着Arm与英特尔CPU竞争逐渐变激烈,我们不妨了解它们在一些关键地方的差异。
CPU架构
中央处理器(CPU)是设备的 「大脑」,但它并不完全聪明。CPU只有在得到非常具体的指令时才能工作,这些指令告诉处理器在寄存器和存储器之间移动数据,或使用特定的执行单元进行计算(如乘法或减法)。独特的CPU硬件块需要不同的指令,这些指令往往会随着更复杂和更强大的CPU而增加,所需的指令也可以为硬件设计提供参考。
在手机上运行的应用程序不是用CPU指令编写的,而是通过各种高级编程语言(如Java或C++)编写的应用程序被编译为特定的指令集,以便它们在Arm、x86或其他CPU上正确运行。这些指令被进一步解码为CPU内的微码操作,这需要硅空间和功率。如果你想要最低功率的CPU,保持指令集的简单是最重要的。然而,从更复杂的硬件和指令中可以获得更高的性能,但要牺牲功率。这是Arm公司和英特尔公司在CPU设计方面的根本区别。
Arm是基于RISC(精简指令集计算),而英特尔(x86)则基于CISC(复杂指令集计算)。Arm的CPU指令是合理的原子性的,指令的数量和微操作之间有非常密切的关联。相比之下,CISC提供更多的指令,其中许多指令执行多个操作。这导致了更好的性能,但对这些复杂指令进行解码的功耗更大。
指令和处理器硬件设计之间的这种联系就是CPU架构的构成要素。这样一来,CPU架构就可以为不同的目的而设计,如极端的数字运算、低能耗或最小的硅面积。在研究Arm与x86的CPU时,这是一个关键的区别,因为前者是基于较低的功率、指令集和硬件。
64位CPU架构
今天,64位架构是智能手机和PC的主流,但在早先并非如此。智能手机直到2012年才步入64位时代,比PC晚了十年左右。简单来说,64位计算能够利用足够大的寄存器和内存地址来使用64位(1和0)长数据类型。当然,除了兼容的硬件和指令,你还需要一个64位的操作系统,如Android。
业内人士可能还记得,当苹果公司领先于其安卓竞争对手推出其首个64位处理器时造成的轰动。迁移到64位并没有改变日常的计算,然而,在使用高精度浮点数字时,有效地运行数字是很重要的。64位寄存器还提高了3D渲染精度、加密速度,并简化了4GB以上内存的寻址。
个人电脑早于智能手机转向64位,但并不是英特尔创造了现代x86-64架构(也称为x64)。这一荣誉属于AMD在1999年的公告,它改造了英特尔现有的x86架构。英特尔替代性的IA64 Itanium架构则被弃置一旁。
Arm在2011年推出了其ARMv8 64位架构。Arm没有扩展其32位指令集,而是提供了一个纯粹的64位实现。为了达到这一目标,ARMv8架构使用两种执行状态,即AArch32和
AArch64。正如其名称所暗示的,一个用于运行32位代码,一个用于64位。ARM设计的优点是处理器可以在正常执行期间从一种模式无缝切换到另一种模式。然而,Arm公司表示,未来的ARMv9 Cortex-A处理器到2023年将只有64位,停止对旧的32位应用程序和操作系统的支持。事实上,2021年的小型Cortex-A510和动力型Cortex-X2 CPU已经是64位的了。
异构计算
上面讨论的架构差异部分地解释了这两个芯片巨头目前的成功和面临的问题。Arm的低功耗方法完全适合移动设备的3.5W热设计功率(TDP)要求,但性能也能扩展到与英特尔的笔记本电脑芯片相匹配。同时,英特尔100W TDP的典型酷睿i7和i9,以及竞争对手AMD的芯片组,在服务器和高性能台式机中大获全胜,但却很难降到5W以下。
当然,我们也不能忘记硅制造工艺在过去十年中对大幅提高电源效率所发挥的作用。广义上讲,更小的CPU晶体管消耗的功率更少。英特尔一直在努力超越其2014年的内部14纳米工艺,10纳米芯片将在今年发布。在这段时间里,智能手机芯片组已经从20纳米转移到14、10和7纳米设计,到现在,市场上已经出现5纳米芯片(苹果A15和高通骁龙888)。这是通过利用三星和台积电代工厂之间的竞争实现的,而这也在一定程度上帮助AMD通过其最新的7纳米Ryzen处理器缩小了与英特尔的差距。
然而,Arm架构的一个独特功能——异构计算,对于保持移动应用的低TDP特别有帮助。这个想法很简单,建立一个架构,让不同的CPU部件(在性能和功率方面)一起工作,以提高效率。
Arm在这个想法上的第一次尝试是2011年的big.LITTLE,拥有大Cortex-A15和小Cortex-A7内核。将更大的CPU内核用于高要求的应用,而将高能效的CPU内核用于后台任务,这种想法在今天的智能手机用户看来是理所当然的,但它经过了几次尝试来完善这个构想。2017年,Arm通过DynamIQ和ARMAv8.2架构建立了这一理念,允许不同的CPU在同一个集群中,共享内存资源,以实现更高效的处理。DynamIQ还实现了2+6的CPU设计,这在中端芯片中越来越常见。
而竞争对手英特尔当时的Atom芯片,没有异构计算,无法达到Arm的性能和效率平衡。直到2020年,英特尔的Foveros、嵌入式多芯片互连桥(EMIB)和混合技术项目才产生了一个竞争性的芯片设计——10纳米Lakefield。Lakefield结合了一个高性能的Sunny Cove内核和四个节能的Tremont内核,以及图形和连接功能。然而,即使是这种封装也是针对联网的笔记本电脑,其TDP为7W,这对智能手机来说仍然太高。
今天,Arm与x86在10W TDP以下的笔记本电脑市场领域的争夺越来越激烈,英特尔在这一领域的规模缩小,而Arm的规模扩大,且越来越成功。苹果公司在Mac上改用自己的定制Arm芯片是Arm架构性能不断提高的一个典型例子,它应该归功于异构计算和苹果公司的定制优化。
可定制内核和指令集
Arm和英特尔之间的另一个重要区别是,后者从头到尾控制其整个流程,并直接销售其芯片,而Arm只是销售许可证。英特尔将其架构、CPU设计、甚至制造完全掌握在自己手中。相比之
下,Arm向苹果、三星和高通等合作伙伴提供各种产品。这些产品包括Cortex-A78和A710等现成的CPU内核设计,通过Arm CXC项目合作开发的设计,以及允许苹果和三星等公司构建定制CPU内核的定制架构许可,甚至对指令集进行调整。
构建定制的CPU是一个昂贵而复杂的过程,但正确的做法显然可以带来很好的效果。苹果公司的CPU展示了定制硬件和指令如何将Arm的性能大大接近甚至超越主流的x86-64。
苹果打算用自己的基于Arm的芯片逐步取代其Mac产品中的英特尔CPU。苹果M1是这一努力中的第一个芯片,为最新的MacBook Air、Pro和Mac Mini提供动力。M1拥有一些令人印象深刻的性能改进,表明高性能的Arm内核能够在要求更高的计算场景中与x86-64抗衡。但需要注意的是,苹果针对的是笔记本电脑级CPU,而不是台式机。
英特尔和AMD使用的x84-64架构在消费类硬件领域的原始性能方面仍然处于领先地位。但是Arm现在在高性能和能效仍然是关键的产品领域非常有竞争力,这包括服务器市场。今年,世界上最强大的超级计算机有史以来第一次在Arm CPU内核上运行,它的A64FX SoC是富士通设计的,是第一个运行Armv8-A SVE架构的处理器。
软件兼容性
正如前面提到的,应用程序和软件必须针对它们所运行的CPU架构进行编译。CPU和生态系统之间的联姻(如Arm上的Android和x86上的Windows)意味着兼容性从未真正成为一个问题,因为应用程序不需要在多个平台和架构上运行。然而,在多个CPU架构上运行的跨平台应用程序和操作系统的增长正在改变这种状况。
苹果的基于Arm的Macs、谷歌的Chrome OS和微软的Windows on Arm都是现成的例子,软件需要同时在Arm和x86-64架构上运行。对于新的应用程序和愿意投资于重新编译的开发者来说,为这两者编译本地软件是一种选择。为了填补空白,这些平台还依赖于代码仿真。换句话说,就是将为一个CPU架构编译的代码翻译成在另一个架构上运行。与原生应用程序相比,这效率较低,而且性能下降,但目前可以通过良好的仿真来确保应用程序的运行。
经过多年的发展,Windows在Arm上的模拟对大多数应用程序来说都处于相当好的状态。安卓应用在英特尔Chromebook上的运行情况在大多数情况下也很好。苹果有自己的翻译工具,被称为Rosetta 2,也支持传统的Mac应用程序。但是,与原生编译的应用程序相比,这三者的性能都会受到影响。
最后
在过去十年Arm与x86的竞争中,Arm已经成为智能手机等低功耗设备的选择。该架构现在也正在向笔记本电脑和其他需要提高功率效率的设备进军。尽管在手机上败下阵来,英特尔的低功耗处理器在过去几年中也有所改进,Lakefield和Alder Lake等混合理念与现在手机中的Arm处理器有更多共同之处。
也就是说,从工程角度看,Arm和x86仍然有明显的不同,它们仍然有各自的优势和劣势。然而,随着生态系统越来越多地支持这两种架构,两者之间的使用场景将变得模糊不清。虽然Arm与x86的比较有交叉点,但在可预见的未来,Arm肯定仍是智能手机行业的首选架构。该架构在笔记本电脑级的计算和效率方面也展示出广阔的前景。
文章来源:AndriodAuthority 翻译:多米尼克
下期我们将针对闪存在不同设备的应用,科普SSD、UFS、eMMC的区别,敬请期待!
点击此处关注,获取最新资讯!
我的评论
最新评论