分享

ARM 架构演进对未来计算意味着什么?

 tu324 2019-08-17

作者 | Sridhar G Kumar

译者 | 姜松浩,责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

以下为译文:
最近,伴随着具有强大计算能力的设备的出现,我们经常可以听到的一个常见的名字——ARM。这些具有强大计算能力的设备的“大脑”(处理器)就基于ARM架构,在我们真正讨论它为未来计算设备带来的好处之前,让我们看看它到底是什么,以及它与其他替代形式的计算处理器有何不同今天使用。
ARM处理器
ARM,以前称为高级RISC机器,它是一个用于计算机处理器的RISC(精简指令集计算)架构系列,它适用于各种环境。Arm Holdings(全球领先的半导体知识产权提供商)开发该架构并将其授权给其他公司,如Apple,Qualcomm等,他们设计自己的产品来实现其中一种架构 - 包括片上系统(SoC)和模块化系统(SoM)。它还集成了内存、接口、无线电等。ARM还设计了实现该指令集的内核,并将这些设计许可授权给许多将这些内核设计融入自己产品的公司。然后将这些产品与其他组件一起并入设备中,以形成我们作为消费者购买的最终用户设备。 
具有RISC架构的ARM处理器通常比具有复杂指令集计算(CISC)架构的处理器(例如来自大多数个人计算机中的Intel,AMD等制造商的x86处理器)需要更少的晶体管,这提高了成本、功耗和散热。这些特性适用于轻便、便携、电池供电的设备,包括智能手机和平板电脑,以及其他嵌入式系统。即使对于消耗大量电力的超级计算机,ARM也可以成为一种可行的节能解决方案。

RISC与CISC

RISC和CISC在当今世界的计算设备中广泛使用。为了真正了解哪些更适合我们的计算需求,需要更深入地了解它们中的每一个。一般而言,RISC被许多人视为对CISC的改进。这是因为CISC是最初的ISA(一种指令集架构),因为RISC是在20世纪80年代初出现的重新设计的ISA。
没有最好的架构,因为不同的架构在某些情况下可以表现得很好,但在其他情况下却不太理想。基于RISC的机器每个时钟周期执行一条指令。CISC机器可以具有特殊指令以及执行多个周期的指令。这意味着在CISC体系结构上执行的相同指令可能需要在RISC机器上执行多条指令。RISC架构需要比CISC更多的工作RAM(内存)来保存,因为它需要加载每条指令、对其执行操作、然后加载下一条指令。
CISC架构可以执行一个更复杂的指令,它可以直接在内存上同时执行相同的操作。因此,RISC架构需要更多RAM,但每个时钟周期总是执行一条指令以进行可预测的处理,这对于流水线操作非常有用。RISC和CISC之间的主要区别之一是RISC强调每个指令的周期效率,而CISC强调每个程序的指令效率。快速处理器取决于执行每个时钟周期所需的时间、执行指令所需的周期数以及每个程序中的指令数。RISC强调更大的程序代码量(由于较小的指令集,因此连续完成的多个步骤可能等同于CISC中的一个步骤)。借助以下公式,通常用于表达计算机性能的性能方程,可以更好地可视化:
绩效计算方程
CISC方法试图通过牺牲每个指令的周期数的方式,来最小化每个程序的指令数量。而RISC则正好相反,以每个程序的指令数量为代价减少每条指令的周期。
RISC ISA强调的是软件而不是硬件。RISC指令集要求用更少的指令编写更有效的软件(例如编译器或代码)。CISC ISA在硬件中使用更多晶体管来实现更多指令,甚至更复杂的指令。
RISC需要更多的RAM,而CISC则强调较小的代码大小,并且使用的RAM总量比RISC少。如今,许多微处理器都具有类似RISC和CISC的属性,例如类似CISC的ISA,它将指令看作是一串RISC类指令。

ARM的优点及其实现

简而言之,基于RISC的ARM架构不需要携带CISC处理器所包含的大量“包裹”来执行复杂的指令。虽然像英特尔这样的公司已经在其处理器的设计上投入了大量资金,所以今天它们包括先进的超标量指令流水线,所有这些逻辑意味着芯片上的晶体管更多,更多的晶体管也就意味着更多的能源使用。高端英特尔芯片的性能非常出色,但高端处理器的最大TDP(热设计功耗)为130W(瓦)。基于ARM的最高性能移动芯片的功耗不到4W,通常要低得多。
这种低功耗是ARM如此特殊的原因,它不会尝试创建130W的处理器,甚至不能创建60W或20W。该公司只对设计低功耗处理器感兴趣。多年来,ARM通过改进微架构设计提高了处理器的性能,但目标功率预算能够基本保持不变。一般而言,你可以按如下方式分解ARM SoC(片上系统,包括CPU,GPU和MMU等)的TDP,如下所示:多核CPU群集的最大预算为2瓦,GPU大约2瓦特,MMU和其余的SoC大约为0.5瓦。如果CPU是多核设计,那么每个核大约会使用600到750毫瓦。
这些都是非常通用的数字,因为ARM生成的每个设计都有不同的特征。ARM的第一款Cortex-A处理器是Cortex-A8。它仅适用于单核配置,但它仍然是一种流行的设计,可以在少数设备中找到。接下来是Cortex-A9处理器,它带来了速度提升以及双核和四核配置的能力。接下来是Cortex-A5核心,它实际上比Cortex-A8和A9慢(每个核心),但功耗更低,制造成本更低。它专为入门级智能手机等低端多核应用而设计。
在性能表现的另一端,Cortex-A15处理器,它是ARM最快的32位设计。它几乎是Cortex-A9处理器的两倍,但所有超出的性能优势也意味着它使用了更多的功率。在实现2Ghz及更高时钟频率的竞争中,ARM的许多合作伙伴将Cortex-A15核心设计推向了极限。因此,Cortex-A15处理器确实可以称得上电池杀手的称号。尽管,这可能有点不公平。然而,为了弥补Cortex-A15处理器更高的功耗预算,ARM发布了Cortex-A7内核和big.LITTLE架构。
Cortex-A7处理器比Cortex-A9处理器慢,但比Cortex-A5处理器更快。然而,它的功率预算类似于其低端兄弟Cortex-A5。Cortex-A7内核与big.LITTLE配置中的Cortex-A15结合使用时,SoC可以在执行简单任务时使用低功耗Cortex-A7内核,并在重负载的时候切换到Cortex-A15内核。这种设计结果,可以节省电池同时提供最佳性能。可以在下图中看到此配置的简单说明。
big.LITTLE架构
ARM还具有64位处理器设计。Cortex-A53是ARM的64位节能设计。它不会有破纪录的性能,但它是ARM有史以来最高效的应用处理器。它也是世界上最小的64位处理器。它的更大的兄弟,Cortex-A57,是一个不同的野兽。它是ARM最先进的设计,具有ARM所有Cortex处理器中最高的单线程性能。ARM的合作伙伴很可能会发布基于A53、A57的芯片,并将两者结合使用。
处理器两种不同的模式,32位模式和64位模式,ARM有一种可以将计算从32位迁移到64位的处理方法。处理器可以在运行时在这两种模式之间切换,必要时运行32位代码或64位代码。这意味着解码并开始执行64位代码的芯片与32位芯片分开(尽管存在重用部分,这样可以节省面积)。这意味着64位逻辑是隔离的、干净的且相对简单的。64位逻辑不需要尝试理解32位代码并找出在每种情况下执行它的最佳方法。这将需要更复杂的指令解码器。这些领域的复杂性通常意味着需要更多的能源。
ARM 64位处理器的一个非常重要的方面是它们不会比32位处理器使用更多功率。ARM已经成功地从32位升级到64位,但仍在其自定的能源预算范围之内。在某些情况下,新系列的64位处理器实际上比上一代32位ARM处理器更节能。这主要是由于内部数据宽度(从32位到64位)的增加以及ARMv8架构中额外的内部寄存器的增加。64位内核可以更快地执行某些任务,这意味着它可以更快地关闭电源,从而节省电池寿命。
big.LITTLE架构最强大的使用模型是异构多处理(HMP),它允许同时使用所有物理核心。在这种情况下,具有高优先级或计算强度的线程可以被分配给“big”核,而具有较低优先级或较低计算强度的线程(例如后台任务)可以由“LITTLE”核执行。此型号已在三星Exynos中实施,从Exynos 5 Octa系列开始,Apple移动应用处理器从Apple A11开始使用此型号。
这也是软件发挥作用的地方。big.LITTLE处理技术依赖于操作系统对它是异构处理器的理解。这意味着操作系统需要了解一些核心比其他核心慢。到目前为止,处理器设计通常还没有出现这种情况。如果操作系统想要执行一个任务,那么它将把它分发给任何核心,因为它们都具有相同的性能级别。big.little使用特定的内核调度程序,它了解big.little处理器配置的异类性质,并决定每个进程/线程的执行位置。在将来,这个调度器可以进一步优化,以考虑到诸如核心的当前运行温度或工作电压等因素。

传统计算中的ARM

尽管ARM在移动设备中具有压倒性的优势,但大多数笔记本电脑和计算机,即对我们的工作流程至关重要的设备都使用基于CISC的处理器。但是最近我们看到了这种趋势的变化以及更多的基于ARM的PC处理器涌入。2017年底,高通和微软宣布推出首款采用基于ARM处理器的Windows 10设备。惠普、华硕和联想都推出了采用高通Snapdragon 835处理器的笔记本电脑。ARM上的Windows 10重新启动了微软此前试图将移动处理器与完整笔记本电脑体验结合的尝试。与迄今为止存在的基于Intel的x86计算机相比,它有望提供更好的电源效率、可靠的性能和始终在线的连接。对于这些ARM设备,Qualcomm拥有长达25小时的电池续航时间,以及与英特尔计算机相媲美的即时开机和性能。它还表示,内置的LTE连接将提供比其他可用的配备LTE的Windows 10计算机更快的速度。此外,微软在过去几年中不断改进对ARM芯片的Windows支持,其即将推出的与架构无关的Lite操作系统更证明了微软对市场上更多的ARM驱动的笔记本电脑的重视程度。
据报道,最近英特尔官员和开发人员告诉Axios,Apple正准备明年推出基于ARM的Macbook。来自于彭博社的一篇报道称,苹果计划在2021年将iOS和macOS应用程序结合起来。有传言称苹果未来几年将把MacBook笔记本电脑转换为自己的ARM处理器。但是,以前ARM芯片没有足够的性能来更加完善运行的桌面应用程序。彭博社的这份报告重申,运行在ARM上的Mac可能会在2020年到货。Axios的报告似乎证实了这一说法,并引用了“开发者和英特尔官员”的观点。然而,除了这些报道,随着2015年iPad Pro的发布,Apple表明其ARM芯片现在可以处理“PC级”应用程序。自2015年以来,Apple的芯片变得越来越强大,与英特尔的CPU产品相比,每代产品的性能都要强大得多。苹果传统上更倾向于对其设备的核心组件进行更多控制,如果有能力的话,那么苹果最终希望MacBook能够使用支持iOS设备的相同(或升级)芯片。
最后一个难题是将x86 macOS程序转换到ARM指令集架构。从去年开始,我们就听说Apple正在开发一个名为“Marzipan”的项目,该项目允许开发人员对其应用程序进行一次编码,并使其在iOS设备和macOS计算机上都能正常工作。几天前,Apple宣布在其年度开发者大会上发布第一版必备软件套件。首先,Apple将允许开发人员仅将iPad应用程序移植到Mac,因为iPad应用程序在功能和用户体验方面更接近macOS应用程序。最早的时候,开发人员必须提交两个不同版本的应用程序,这些应用程序为每个平台优化了用户界面,但底层代码却保持不变。
到2020年,Apple的Marzipan软件套件也有望允许开发人员将他们的iPhone应用程序移植到Mac上。Apple工程师发现将专为小屏幕设计的应用程序移植到桌面上具有挑战性,这就是为什么需要更长时间才能实现这种转换。到2021年,第三方应用程序开发人员将能够创建一个可在iOS设备和macOS计算机上运行的“单个二进制文件”。据推测,它们在每个外形尺寸上仍然具有不同的用户界面,但它们要么更加流畅的适应屏幕尺寸,要么开发人员必须在每个二进制文件中包含不同的用户界面。
ARM及其合作伙伴也为服务器市场发布了重要声明,他们打算以更强大的Neoverse N1和该芯片的其他变体为目标。最大的公共云服务提供商亚马逊甚至已经开始设计自己的ARM CPU,很快也可能会升级到基于N1的处理器。即使谷歌在Chrome OS上一直缺乏支持ARM,尽管操作系统从第一天开始就与该架构无关,但似乎谷歌也正在努力将Snapdragon平台引入一些Chromebook,这反过来又可以在Chromebook上实现原生Android应用程序的更好功能和可用性。但是,最初只支持Snapdragon 845,因为该公司希望将更便宜的Chromebook推向市场。另一个问题似乎是高通宁愿将Snapdragon 8cx放入价格在500美元以上的Chromebook中,这可能意味着原始设备制造商将能够为8cx支付更高的价格。这也可能导致市场上出现高端Chromebook。
总之,随着ARM架构和半导体行业对于改进的7nm光刻工艺以及投资于ARM设备开发的领先制造商等的进步,我们可以期待一系列新的令人兴奋的产品进入市场。有了这个发展方向的预期,我们作为消费者,我们可以期望未来的计算设备能够为我们提供卓越的性能和高效率,并让我们将更多的时间投入到我们最擅长的领域:创造力和创新。
原文:https:///@sridhargkumar11/advances-in-arm-what-it-could-mean-to-the-future-of-computing-2e76417bbfe7
本文为CSDN翻译,转载请注明来源出处。
【END】

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多