首页 > 汽车信息 > 新闻 > 汽车试驾 > 正文

为啥arm架构比x86 x64省电?

分享到微信朋友圈

打开微信。点击 “ 发现 ” ,
使用 “ 扫一扫 ” 即可将网页分享至朋友圈。

这个问题可以扩展为:为什么arm架构的芯片都那么省电!引言最初的ARM架构被设计成即使是一个相对简单的指令译码器,也能以架构允许的最大速度运行。后来
为啥arm架构比x86 x64省电?

这个问题可以扩展为:为什么arm架构的芯片都那么省电!

引言

最初的ARM架构被设计成即使是一个相对简单的指令译码器,也能以架构允许的最大速度运行

后来的ARM版本有稍微复杂一点的指令解码逻辑,但是每条指令都是一个或两个单词长

在x86架构上,指令可以是1字节长,也可以是14字节长。

在设计最初的x86架构时,指令是按顺序执行的,而且每个指令都需要多个周期才能执行

如果执行一条指令需要三个周期,那么找到下一条指令的起始点也需要三个周期。

另一方面,现在人们很难忍受x86代码运行得那么慢了。

设计能够快速运行x86指令的硬件是有可能的

20年前,你可能会认为复杂的指令解码会限制x86的速度,但事实并非如此。

x86架构要求英特尔和其他芯片制造商,包括一些相当复杂的转换和缓存逻辑,以便一段代码第一次运行时,就转换成易于解码的形式。

如果代码再次运行,则可以跳过转换。可纵然是非常快的芯片,这些逻辑也消耗能量。

相对而言,许多低功耗ARM芯片的前端逻辑要少得多。

x86有这么缓存转换性能,arm比不上;可是,没有了额外技能加身的x86,比arm要逊色的多。

说说功耗

在低功耗的应用中,ARM处理器一直是首选,现在仍然是首选。

比较功耗并不是一件简单的事情。操作系统RAM大小类型闪存使用的接口等方面需要与处理器的影响分开。

然而,一般的规则是,ARM在关闭处理器和等待唤醒的模式和可能性方面非常强大。这种空闲模式是指操作系统正在运行,但只等待输入(例如来自鼠标、键盘或应用程序的输入)。

X86处理器的预期功耗大约为1瓦特。在i.MX6处理器的功耗将是这个数字的一半。

此外,ARM高端部分得益于少数状态/模式,这些 状态/模式 (states/modes)的功耗低至100mW,而不牺牲合理快速唤醒的可能性。

低功耗有许多优点。

手持式和电池供电的产品,将受益于增加电池寿命。做产品设计则可以使用更小的电池。由于需要更小的冷却装置,材料清单、BOM成本和产品尺寸可能会进一步减少。

写在最后

天下武功,唯快不破!小而快而全的arm架构普及也得益于其自身设计上的权衡。

Happy coding :)

我是@程序员小助手,持续分享编程故事,欢迎关注。

应用场景和商业目的决定了各自产品的特点:ARM面向移动设备,从来只是设计低功耗处理器;Intel面向桌面和服务器,向来关注点在超高性能。

商业目的和芯片的架构设计决定了ARM比x86的处理器,在能耗处理上更优。

CPU是什么东东?

ARM和x86,通常都是指CPU的架构。

CPU(Central Processing Unit,缩写:CPU),即中央处理器,是计算机(手机也可以理解为计算机)的核心部件,功能主要是解释计算机指令以及处理计算机软件中的数据。1970年以前,中央处理器由多个独立单元构成,后来发展成为由集成电路制造的中央处理器,这些高度收缩的组件就是所谓的微处理器,主要由运算器、控制器、寄存器三部分组成。

CPU的主要运作原理,不论采用什么架构,都遵循冯·诺伊曼结构设计。程序以一系列数字储存在计算机存储器中,CPU的运作原理可分为四个阶段:提取、解码、执行和写回

由于CPU发展经历了太多的阶段,太多的架构(ARM、X86、MIPS、PowerPC等),彼此差距都非常的大,但是从逻辑的角度可以分为两大类:复杂指令集(CISC)和精简指令集(RISC)

ARM处理器

说起ARM有两个含义:ARM公司和ARM架构处理器,ARM公司是一家英国的公司(已被软银收购),是全球领先的半导体知识产权(IP)提供商——只卖IP,不卖芯片。所以ARM(Advanced RISC Machine)架构处理器是ARM公司设计的处理器及附带的相关技术及软件。

ARM通常是用于为移动设备构建CPU的体系结构,所以它的特点是性价比高、耗能低。基于ARM(32位)的处理器采用RISC体系结构。大多数指令都很简单,并在一个时钟周期内执行。

ARM64处理器

业务的发展对CPU的处理能力提出了挑战,为了提升性能,CPU的地址空间从32扩展到了64位,这样可以提升性能,用以保存和处理更多的信息。ARM64只是对支持64位处理的ARM体系结构的扩展或发展。

ARMv8-A于2011年10月发布,代表了ARM体系结构的根本变化。它增加了可选的64位体系结构,苹果公司是第一个在消费类产品(iPhone 5S)中发布ARMv8-A兼容内核(Apple A7)的公司。

x86处理器

1978年6月8日,Intel发布了史诗级的CPU处理器8086,由此X86架构传奇正式拉开帷幕。X86架构使用的是CISC复杂指令集。同时8086处理器的大获成功也直接让Intel成为了CPU巨头。使用x86架构制造的处理器通常用于台式机和笔记本电脑。即使是AMD,英特尔的竞争对手,也使用Intel的x86和x64(x86体系结构的64位版本)体系结构来创建其CPU。x86处理器上的指令大多很复杂。因此,它们占用多个CPU周期来执行每个指令。

是什么使基于ARM的芯片具有相对较高的电源效率和较低的功耗

虽然处理器的功耗还取决于许多其他因素,例如缓存,总线宽度等,但是ARM处理器总体占优。Intel i7处理器平均发热率为45瓦。基于ARM的片上系统的发热率最大瞬间峰值大约是3瓦,约为Intel i7处理器的1/15。

以下设计功能使ARM处理器具有比x86处理器更高的性能优势:它们更慢,更小,花费更多的时间在睡眠中,并且没有很多遗留的支持。

(1)它们的速度较慢:由于低功率操作通常比性能更重要,因此可以使用低速晶体管,从而改善漏电流并降低最低电压。尽管使用的制造技术落后于现代x86一代或两代,但结果是功耗明显降低。

(2)它们更小:使用的晶体管更少,部分原因是ARM是精简指令集计算(RISC)架构。这意味着大型操作将以小的,简单的块进行处理,但要付出更多的机器代码。这意味着ARM具有较少的一次性部件,这些部件在不使用时会消耗功率,并且体积更小/成本更低。

(3)低功耗睡眠模式:ARM处理器采用无时钟的内核设计。处理器通过停止内核直到收到执行某项操作的指令来节省功耗。目前,X86仅支持降低核心频率以在较低电压下运行,并关闭处理器的外围部件。

(4)指令执行方式:指令集简单,通用,最小限度,并且可能会保持这种状态;扩展指令集是通过与类似内存进行交互的协处理器完成的。

(5)采用了更多的寄存器:ARM拥有更多的寄存器,还具有加载指令,该指令可以一次将多个值加载到多个寄存器中。同时因为ARM在一条指令中比传统的RISC指令集执行的功能要多得多,从而提供了良好的指令高速缓存命中率,并在提取指令时节省了功率。

(6)大小核架构:从前的X86传统CPU,如果是四核或者是双核,内部的四个、两个核心都是一模一样的,这样的话,由于一旦软件只能调度一个核心,处于高频工作,但由于架构限制,其余核心也要保持同样的高频率和高电压状态,这样就浪费了大量的能量在做无用功。后来才发展出了异步多核,允许不同核心工作在不同频率上,以此换来更低功耗。

由于移动设备更加在意功耗,所以ARM采用了更加激进的做法,八个核里面允许有不同Cortex-A架构核心,那就是著名的ARM big LITTLE。这样的大小核设计目的很明确,就是在有限的电池容量中,兼顾性能、续航的需求,因此SoC内部的CPU是采用异构计算,既有高性能大核心,也有低功耗小核心。

最后

ARM和X86架构孰优孰劣,一直以来纷争不断,X86无法做到ARM的功耗,而ARM也无法做到X86的性能。公平地说,过去英特尔的不断努力,通过推动制造低功率晶体管的新技术的开发以及采用类似RISC的内核设计,已经实现了巨大的效率提升,下一代x86和ARM处理器的功耗差异将越来越小。

处理器的选择取决于应用程序要求和预期的性能水平。虽然英特尔已经失去了移动市场,但是未来5G的物联网市场呢?我们拭目以待吧。

以上是我的浅薄之见,欢迎指正,谢谢!

X86采用复杂指令集是诞生于通用计算应用,ARM采用精简指令集诞生于嵌入式应用。精简指令集(RISC:Reduced Instruction Set Computing)是一种执行较少类型计算机指令的微处理指令集,它能够以更快的速度执行操作。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。纽约约克镇IBM研究中心的John Cocke证明,计算机中约20%的指令承担了80%的工作,于1974年,他提出RISC的概念。

因此精简指令集架构运行效率高于X86架构

嵌入式系统

消费者计算趋势一方面推动了功耗敏感型移动x86处理器(例如Intel Atom和Celeron)的出现,另一方面又推动了利用Cortex-A系列等内核的基于性能的基于Arm的处理器的出现。对于嵌入式系统开发人员而言,这意味着在开始一个新项目时,现在有更多选择来选择最佳平台(图1)。

但是,选择越多,选择过程就越复杂。此外,尽管传统的软件方法已将Arm项目引向Linux,而将X86项目引向Windows,但是针对ARM处理器的嵌入式Windows?操作系统和针对x86的轻量级Linux发行版也意味着,与以往相比,这种划分没有那么明显。

从开发人员的角度来看,有充分的理由继续使用经过验证的成功公式。同样,评估未尝试的选项也可以创建令人惊讶的新产品,这些新产品具有出乎意料的功能。

RISC与CISC

Arm处理器的起源可以追溯到1980年代中期,它基于Advanced RISC Machines(ARM)开发的精简指令集计算机(RISC)架构。

RISC处理器致力于将指令的多样性保持在最低限度,同时还要使这些指令尽可能简单。每个时钟周期执行一条指令,这确保了可预测的处理并简化了流水线之类的加速技术。简单的指令只需要很少的硅晶体管,从而使芯片设计者可以自由地优化诸如成本和功耗之类的参数。另一方面,由于要选择的指令较少,每个时钟周期只有一条指令,因此需要大量指令才能完成给定任务。对于CISC处理器可以更轻松,快速地处理的复杂工作负载,这可能导致对RAM的严重依赖以及执行时间的降低。

x86家族始于1978年,最初是16位8086微处理器。它们被称为CISC(复杂指令集计算)处理器。与RISC不同,CISC指令可以执行复杂的任务,需要执行多个周期。这些可以包括浮点数学计算和图形处理指令。就每个程序的指令数量而言,CISC可以非常高效,与RISC相比,对代码存储和RAM的需求更低。另一方面,CISC处理器必须包含更多的晶体管来处理指令的复杂性。

x86已成为用于描述与Intel 8086及其后续产品兼容的CPU指令集的通用术语,包括台式机和笔记本电脑中常用的Atom,Celeron,Pentium和Core iX处理器。

性能和功耗

由于按照RISC设计原则在管芯上制造晶体管的强度较低,并且速度相对较低,因此ARM磁芯可以实现高效率,因此在低功耗设计中表现出色。基于ARM的处理器的典型最大功耗小于5W,并且具有许多封装,包括GPU,外围设备和内存。

英特尔内核由于复杂性的增加,往往比ARM内核消耗更多的功率。针对物联网和嵌入式用例的英特尔处理器的功耗通常从最小6W到大约30W。

对于要求不高的应用程序或需要较少命令的应用程序, Arm可以独立使用。但是,更复杂的应用程序(例如涉及高分辨率,高端图形或流数据的应用程序)可能更适合x86处理器。随着x86处理器有更多处理可用功率,任务可以更快地完成,并且当接收到更高优先级的中断不暂停,这最终提高了系统的可靠性并降低了软件崩溃。

ARM或x86是否最适合产品寿命?

按照PC市场的模式,x86处理器在过去的5/7年生命周期中已被替换。对于工业和医疗领域的许多嵌入式产品而言,这并不是理想的选择。英特尔最近宣布其打算支持工业CPU达15年。

现在,这使x86架构与基于Arm的处理器处于同一类,后者通常具有超过10年的保证生产寿命。

什么时间开发?技术支持如何?

为嵌入式项目选择最佳平台时,还应考虑对适当的开发工具和工程技能的任何现有投资。从理论上讲,开发在x86处理器上运行的软件应该是相对容易的杠杆工具,并支持PC软件开发。提供了专门为嵌入式开发而创建的IDE和编译器。使用基于Arm的硬件的开发人员将更有可能需要优化其软件,使其仅包含基本要素并相应地集成/优化驱动程序。制造商提供的可用开发工具,驱动程序和技术支持的质量,可能会极大地影响完成此操作的时间和成本。

什么叫arm架构

  ARM架构过去称作进阶精简指令集机器,是一个32位精简指令集处理器架构,其广泛地使用在许多嵌入式系统设计。ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此还有一些基于ARM设计的派生产品。

什么叫x86架构

  目前的PC电脑处理器架构绝大多数都是Intel的X86架构,X86架构是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。

两者之间的差异:

这就是从一开始设计的时候,ARM是为了低功耗设计的,而X86是为了高性能。也就是相当于ARM是F1赛车,而X86是高铁。你想把ARM做到X86一样的最高速度和拉人多,势必会增加ARM核心复杂度,增加指令集,等加到性能差不多的时候估计体积和功耗两者也差不多了。

X86架构也憎精简过核心规模,抛弃了部分指令集,一样也做到了功耗5W以下的ATOM系列处理器。这也就是说,X86可以用来做大型服务器主机,而ARM只能做一个小手机系统,运行一些简单的APP,甚至连WIN10这样的系统流畅运行都比较困难,更不用说开多个大型的软件了。所以,F1赛车比高铁轻巧,载人少,所以看起来也很快,相对高铁来说,能量的消费也是非常的少。但它的缺点也就是F1赛车只能载一个人,高铁可以几百人。

arm的通用计算市场建立在使用电池的移动设备上,节能是首要目的,所以现存的应用很节能,传统意义上靠性能吃饭的程序(如各种生产力软件,3A游戏)就不会为这些平台开发特定版本(或提供阉割版)。

x86建立在能源不紧缺的基础上(持续接着电源线),而稳定的能源供应确保不需要为节能设置各种限制,以榨干性能为最大需求,所以这才是生产力的根本不同的背景造就不同的市场,这不是 Intel做个低功耗的x86芯片就能决的问题,也不是 arm 芯片性能做强就能解决的问题。

ARM架构

ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。

在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。

X86架构

目前的PC架构绝大多数都是Intel的X86架构,貌似也是因为INTEL的这个X86架构早就了目前INTEL如日中天的地位。X86架构(The X86 architecture)是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。

两种架构各自使用的环境不同

X86和ARM在移动平台和传统平台分道扬长的结局是必然的。他们的应用场景本来就不一样,一个是计算密集型和高度兼容性的目标,一个是超低功耗和不考虑旧软件兼容性的目标。除非有一天电池技术和半导体工艺有巨大进步,使得硬件上的成本能够抵消兼容性带来的影响,那么X86走入千家万户的手机是比较现实的。

总的来说:基本上芯片的性能和功耗成正相关,省电了就别指望有多高的性能。

ARM 主要是控制运行内存,简单来说就是一张内存,内部CPU 运算不必要那么多!

X86是多性质控制,是万能处理器,ARM只是X86的一个小分支!X86考虑到多硬件控制处理,列如高频超频带动GPU大型运行内存,高容量储存器,外部扩展串口控制,特别是物理外部控制X86是吊打任何构造,那么X86是一个大型企业,ARM只是一个小作坊!

ARM本事用于低压运算处理,用于移动平台,便捷式的小型电脑!

X86是无论高压超频超载负荷都要承受,用于服务器,PC,工业控制,大型显示器等等!

X86虽然耗电高但运行速度是吊打ARM,就算X86工艺在50纳米到100ARM都比不赢,有本事你让ARM试一下中频就可以,你的手机绝对可以拿来烧开水了!

ARM要运算速度快必须压缩工艺技术,并且多核多线控制,X86单核时速200公里,ARM单核时速30公里,那么ARM控制开关速度是30,X86是200,差异很明显,那么ARM 要达到X 86单核,就需要200除以30等于那么多手去同时控制,那么最少也要6核心才能达到X86的速度!

ARM 虽然工艺技术越小,那么刷新次数越低,原本是30的时速就要随着工艺减小降低到20甚至还要低,这是没有办法的办法不然烫手还要考虑到电压电流抗干扰问题,只能通过压缩工艺采用多线控制同时运动弥补这个问题,那么必须降频率消耗低点,那么7纳米与5纳米之间只会挺升一点效率不够大不够快,还要压缩比例值!

如果我没有差错ARM 公司准备要出新的构造,采用互感技术代替刷频开关技术,那么通过放大倍速轮转解决功率发热问题,攻壳后速度是原来的3倍甚至10倍左右速度,那么ARM 有可能不采用7纳米而是回归14纳米,主要考虑到耐久度跑频把工艺升回14纳米而不是3纳米,由于7纳米以下的工艺物理不稳定很多问题并未解决,目前材料上很难攻壳,光刻机解决了间隔但无法解决材料的厚度,厚度过大导电性能差很容易出现跑程序卡死不精准!

因为光刻机是平面打印不具备立体打印,用 蚀刻机只能单点无法实现这个问题!所以成熟工艺是14纳米

结构决定的。

arm在设计之初面向低功耗的应用场景,放弃cisc里面的不定长指令转向定长短指令,可以帮助移动端的芯片更好预测指令行为。而且在分支预测、连续执行方面,arm的复杂程度也不如Intel的产品,同时不提供超线程技术。这些都对降低功耗有帮助。

省电没性能,所以要讲性能功耗比。arm有性能上限,x86也有功耗下限。各自在对方领域玩不转

一个摩托车发动机,一个12杠发动机,这么说你明白了吗?

标签:汽车试驾,处理,指令

网友评论: