0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ARM, Intel和MIPS之间的详细区别分析

机器学习算法与人工智能 2017-12-18 15:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

安卓支持3类处理器(CPU):ARM, Intel和MIPS。其中ARM无疑被使用得最为广泛。Intel因为普及于台式机和服务器而被人们所熟知,然而对移动行业影响力相对较小。MIPS在32位和64位嵌入式领域中历史悠久,获得了不少的成功,可目前Android的采用率在三者中最低。

总之,ARM现在是赢家而Intel是ARM的最强对手。那么ARM处理器和Intel处理器到底有何区别?为什么ARM如此受欢迎?你的智能手机或平板电脑用的是什么处理器到底重要不重要?

处理器(CPU)

中央处理器(CPU)是你智能设备的大脑。它的任务是通过执行一系列指令来驱动你的设备,包括显示屏,触摸屏,调制解调器等,让一坨塑料金属混合物变成闪亮的智能手机或者平板电脑。移动设备非常复杂,其中的处理器需要执行数百万行指令才能完成人们希望这些设备去做的事。速度和功耗对处理器来说至关重要。速度影响用户体验,功耗影响电池寿命。完美的移动设备必须有好性能以及低功耗。

这就是为什么选择什么样的处理器很重要。一个超级耗电,反应迟钝的处理器会很快吸干你的电池,而一个考究的,高效的处理器给你带来高性能和长久的电池寿命。总体而言,ARM和Intel处理器的第一个区别是,前者使用精简指令集(RISC),而后者使用复杂指令集(CISC)。通俗而言,精简指令集规模较小,更接近原子操作,而复杂指令集规模较大,更加复杂。所谓原子操作,是指每条指令的工作大都可以由处理器在一个操作内完成,例如对两个寄存器做加法。复杂指令集的指令描述某个意图,但是处理器必须执行3或4个更简单的指令来实现这个意图。例如,可以命令一个复杂指令集处理器对2个数求和,并把结果存入主内存中。为了完成这个命令,处理器首先从地址1中取得第一个数(操作1),然后从地址2中取得另一个数(操作2),然后求和(操作3),等等。

所有的现代处理器都使用一种所谓微指令的概念,这是一个处理器内部的指令集合,用来描述处理器可以做的原子操作。复杂指令集处理器实际上执行了3条微指令。对精简指令集处理器而言,其指令跟其微指令十分接近。而复杂指令集处理器的指令需要先被转换成一些更精简的微指令(就像前面的复杂指令集处理器做加法的例子中那样)。也就是说精简指令集处理器中的解码器(负责告诉处理器到底要干些什么的东东)要简单得多,而简洁意味着高效和低功耗。

制造工艺

ARM和Intel处理器的另外一个主要区别是ARM从来只是设计低功耗处理器。其宗旨是设计低功耗处理器,这是他们的强项。而Intel的强项是设计超高性能的台式机和服务器处理器,并且的确做的不错。Intel是台式机的服务器行业的老大。过去的20年里我所有的PC,笔记本和服务器(除了一个外)用的都是Intel的处理器。然而进入移动行业时,Intel依然使用和台式机同样的复杂指令集架构,试图将其硬塞入给移动设备使用的体积较小的处理器中。

Intel i7处理器平均发热率为45瓦。基于ARM的片上系统(其中包括图形处理器)的发热率最大瞬间峰值大约是3瓦,约为Intel i7处理器的1/15。Intel现如今是个巨头,雇佣了大量的聪明人。其最新的Atom系列处理器采用了跟ARM处理器类似的温度控制设计,为此Intel必须使用最新的22纳米制造工艺。一般而言,制造工艺的纳米数越小,能量的使用效率越高。ARM处理器使用更低的制造工艺,拥有类似的温控效果。比如,高通晓龙805处理器使用28纳米制造工艺。

对于64位计算,ARM和Intel也有一些显著区别。你知不知道,Intel并没有开发64位版本的x86指令集。这个64位的指令集,名为x86-64(有时简称为x64),实际上是AMD设计开发的。故事是这样的:Intel想搞64位计算,它知道如果从自己的32位 x86架构进化出的64位架构的话,新架构效率会很低。于是它搞了一个新64位处理器项目名为IA64。由此制造出了Itanium系列处理器。同时AMD知道自己造不出能与IA64兼容的处理器,于是它把x86扩展一下,加入了64位寻址和64位寄存器。最终出来的架构,人称AMD64,成为了64位版本的x86处理器的标准。

IA64项目并不算得上成功,现如今基本被放弃了。Intel最终采用了AMD64。Intel当前给出的移动方案,是采用了AMD开发的64位指令集(有些许差别)的64位处理器。

ARM的故事很不一样:看到移动设备对64位计算的需求后,ARM于2011年发布了ARMv8 64位架构,这是为了下一代ARM指令集架构工作若干年后的结晶。为了基于原有的原则和指令集,开发一个简明的64位架构,ARMv8使用了两种执行模式,AArch32和AArch64。

ARM, Intel和MIPS之间的详细区别分析

顾名思义,一个运行32位代码,一个运行64位代码。ARM设计的巧妙之处,是处理器在运行中可以无缝地在两种模式间切换。这意味着64位指令的解码器是全新设计的,不用兼顾32位指令,而处理器依然可以向后兼容。

异构计算

ARM, Intel和MIPS之间的详细区别分析

ARM的big.LITTLE架构是一项Intel一时无法复制的创新。在big.LITTLE架构里,处理器可以是不同类型的。传统的双核或者四核处理器中包含同样的2个核或者4个核。一个双核Atom处理器中有两个一模一样的核,提供一样的性能,拥有相同的功耗。ARM通过big.LITTLE向移动设备推出了异构计算。这意味着处理器中的核可以有不同的性能和功耗。当设备正常运行时,使用低功耗核,而当你运行一款复杂的游戏是,使用的是高性能的核。

这是什么做到的呢?设计处理器的时候,要考虑大量的技术设计的采用与否,这些技术设计决定了处理器的性能以及功耗。在一条指令被解码并准备执行时,Intel和ARM的处理器都使用流水线。就是说解码的过程是并行的。第一步从内存中读取指令,第二步检查和解码指令,第三步执行指令,周而复始。流水线的好处在于,当前指令在第二步的时候,下一条指令已经处于第一步。当前指令在第三步中执行的时候,下一条指令正处于第二步,而下下条指令处于第一步中,如此循环。

为了更快地执行指令,这些流水线可以被设计成允许指令们不按照程序的顺序被执行(乱序执行)。一些巧妙的逻辑结构可以判断下一条指令是否依赖于当前的指令执行的结果。Intel和ARM都提供乱序执行逻辑结构,可想而知,这种结构十分的复杂。复杂意味着更多的功耗。Intel处理器由设计者们选择是否加入乱序逻辑结构。异构计算则没有这方便的问题。ARM Cortex-A53采用顺序执行,因此功耗低一些。而ARM Cortex-A57使用乱序执行,所以更快但更耗电。采用big.LITTLE架构的处理器可以同时拥有Cortex-A53和Cortex-A57核,根据具体的需要决定如何使用这些核。在后台同步邮件的时候,不需要高速的乱序执行,仅在玩复杂游戏的时候需要。在合适的时间使用合适的核。

原则上,处理器中复杂逻辑结构越多性能越高,越少则效率越高,指令流水线只是其中之一,包括浮点运算单元,单指令多数据逻辑(SIMD)(比如ARM的NEON和Intel的SSE/MMX),以及一级缓存二级缓存。每种Atom片上系统,Intel仅提供一种方案,而ARM以及芯片合作伙伴提供的芯片则有多种方案可以配置。

兼容性

ARM目前是移动处理器的老大。ARM的合作伙伴们基于ARM的设计向移动和嵌入式市场的出货量已经达500亿片。对于安卓,ARM已然成为标准,这对Intel和MIPS而言是个问题。尽管安卓的主要编程语言是Java开发者也可以使用现有的代码(比如C或者C++)去开发应用。这些固定平台的应用通常都编译成ARM处理器的程序,不全都会编译成Intel或者MIPS处理器的程序。为了解决这个问题,Intel和MIPS要使用特殊的转换软件把ARM的指令转换成他们处理器使用的指令。这当然是会降低性能的。目前MIPS和Intel声称兼容Play Store里大约90%的应用。对于最受欢迎的150个应用,兼容率是100%。一方面兼容率很高,另一方面表明ARM的主导地位,使得其他的处理器设计者需要提供一个兼容层。

总结

制造处理器是一项复杂的业务。ARM,Intel和MIPS都在不懈努力地向移动设备提供最好的技术,而很明显ARM是老大。拥有着低功耗,简明的64位设计,异构计算,以及作为移动计算的标准,看来ARM必能保持其老大的地位。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9499

    浏览量

    388567
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11216

    浏览量

    222871
  • intel
    +关注

    关注

    19

    文章

    3506

    浏览量

    190536
  • mips
    +关注

    关注

    1

    文章

    241

    浏览量

    49118

原文标题:三种移动处理器(ARM, Intel和MIPS)之间的主要区别

文章出处:【微信号:machinelearningai,微信公众号:机器学习算法与人工智能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ARM架构与DSP有什么区别?哪一个更好?

    ARM架构与DSP有什么区别?哪一个更好?
    发表于 11-19 06:14

    工控机和电脑的区别有多大?你知道吗

    工控机和电脑在我们的生活和工作中都扮演着重要角色,但它们之间存在着诸多区别。下面我们就来详细探讨一下。
    的头像 发表于 09-13 11:15 5655次阅读
    工控机和电脑的<b class='flag-5'>区别</b>有多大?你知道吗

    隔离屏障的概念以及工作电压和测试电压之间区别

    电源中的电气隔离不仅仅是关乎安全——它更是性能和可靠性的基石。本文将探讨隔离屏障的概念以及工作电压和测试电压之间区别。它还将讨论标准为何重要?帮助工程师设计出满足当今严苛法规和应用需求的稳健系统。
    的头像 发表于 07-08 15:29 676次阅读

    RISC-V和ARM有何区别

    在微处理器架构领域,ARM与RISC-V是两个备受关注的体系。ZLG致远电子在推出ARM核心版后,又推出了基于RISC-V的MR6450核心版,这引发了人们对这两种架构差异的深入探讨。ARM
    的头像 发表于 06-24 11:38 1729次阅读
    RISC-V和<b class='flag-5'>ARM</b>有何<b class='flag-5'>区别</b>?

    普源数字万用表DM3058E与DM3058的详细区别分析

    关键区别。本文将详细分析DM3058和DM3058E在功能、性能、接口和应用等方面的差异,帮助用户根据具体需求做出选择。   一、基本功能与性能的异同 1. 读数分辨率与测量速率 DM3058和DM3058E均具备真正的5½位读数分辨率,具有±240,000个计数,远大于
    的头像 发表于 06-18 10:51 730次阅读
    普源数字万用表DM3058E与DM3058的<b class='flag-5'>详细</b><b class='flag-5'>区别</b><b class='flag-5'>分析</b>

    LC滤波器与电感、电容的区别:技术分析与应用

    ​LC滤波器与电感、电容的区别:技术分析与应用摘要LC滤波器是由电感(L)和电容(C)组成的被动电路,用于滤除特定频率的信号,广泛应用于电磁兼容(EMC)、信号处理和电源管理等领域。本文档详细分析
    的头像 发表于 05-12 20:19 1145次阅读
    LC滤波器与电感、电容的<b class='flag-5'>区别</b>:技术<b class='flag-5'>分析</b>与应用

    HSE子系统HSE_H、HSE_M和HSE_B之间有什么区别

    我想知道 HSE 子系统 HSE_H、HSE_M 和 HSE_B 之间有什么区别区别是它们在哪个板上运行,还是也存在功能差异?
    发表于 03-20 07:37

    S32G DMA和Noc之间区别是什么?

    当我阅读 S32G3 参考手册时,我对 S32G DMA 和 Noc 之间区别有疑问。由于 NoC 支持内核、外设和 SRAM 之间的通信,并且 DMA 还可以在内存块和 I/O 块之间
    发表于 03-17 08:25

    机房托管费详细分析

    机房托管费是一个复杂而多变的话题,它受到多种因素的影响,以下是对机房托管费用的详细分析,主机推荐小编为您整理发布机房托管费详细分析
    的头像 发表于 02-28 09:48 1004次阅读

    TXB0104与TXS0102两者之间有什么区别吗?

    两款芯片的区别;TXB0104是buffered-type;TXS0102是switch-type请问这两者之间有什么区别吗?
    发表于 02-10 08:42

    热电偶与热电阻的区别

    温度测量是工业和科学研究中不可或缺的一环,热电偶和热电阻作为两种常见的温度测量传感器,各自具有独特的工作原理、材料构成、应用领域以及优缺点。本文将详细探讨热电偶与热电阻的技术特点和应用,并对它们之间区别进行深入
    的头像 发表于 02-03 14:31 1688次阅读

    Arm主板与x86主板的区别

    等领域中占据了重要地位。本文旨在探讨Arm主板与x86主板之间区别分析其在架构、性能、能效、生态系统以及应用场景等方面的差异,以帮助读者更好地理解这两种技术的
    的头像 发表于 01-07 12:21 1411次阅读
    <b class='flag-5'>Arm</b>主板与x86主板的<b class='flag-5'>区别</b>

    ADS8684与ADS8684A之间区别是什么?

    看了半天,看不出哪里不一样,求告知ADS8684 与 ADS8684A 之间区别
    发表于 12-23 06:09

    mac和windows的区别 mac的优缺点分析

    Mac和Windows的区别 Mac和Windows是两种主流的操作系统,它们各自有着不同的设计理念和用户群体。以下是对Mac和Windows操作系统的一些基本区别和Mac的优缺点分析。 1.
    的头像 发表于 12-19 15:01 1.4w次阅读

    通讯线和屏蔽线有什么区别

    通讯线和屏蔽线在多个方面存在明显的区别,以下是详细的对比分析
    的头像 发表于 12-14 11:28 1653次阅读