转自:https://blog.csdn.net/MIcF435p6D221sSdLd2/article/details/78831867

安卓支持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位

对于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。

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

异构计算

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必能保持其老大的地位。

另外记录一下另外一篇博文讲解:《解读x86、ARM和MIPS三种主流芯片架构》

转自:https://blog.csdn.net/youngstonep/article/details/50114017)

 ARMRISC是为了提高处理器运行速度而设计的芯片体系,它的关键技术在于流水线操作即在一个时钟周期里完成多条指令。相较复杂指令集CISC而言,以RISC为架构体系的ARM指令集的指令格式统一、种类少、寻址方式少,简单的指令意味着相应硬件线路可以尽量做到最佳化,从而提高执行速率。因为指令集的精简,所以许多工作必须组合简单的指令,而针对复杂组合的工作便需要由编译程序来执行。而CISC体系的x86指令集因为硬件所提供的指令集较多,所以许多工作都能够以一个或是数个指令来代替,编译的工作因而减少了许多。

  ARM指令集架构的主要特点:一是体积小、低功耗、低成本、高性能;二是大量使用寄存器且大多数数据操作都在寄存器中完成,指令执行速度更快;三是寻址方式灵活简单,执行效率高;四是指令长度固定,可通过多流水线方式提高处理效率。

  MIPS是高效精简指令集计算机体系结构中的一种,与当前商业化最成功的ARM架构相比,MIPS的优势主要有五点:一是早于ARM支持64bit指令和操作,截至目前MIPS已面向高中低端市场先后发布了P5600系列、I6400系列和M5100系列64位处理器架构,其中P5600、I6400单核性能分别达到3.5和3.0DMIPS/MHz,即单核每秒可处理350万条和300万条指令,超过ARM Cortex-A53 230万条/秒的处理速度;二是MIPS有专门的除法器,可以执行除法指令;三是MIPS的内核寄存器比ARM多一倍,在同样的性能下MIPS的功耗会比ARM更低,同样功耗下性能比ARM更高;四是MIPS指令比ARM稍微多一些,执行部分运算更为灵活;五是MIPS在架构授权方面更为开放,允许授权商自行更改设计,如更多核的设计。

  同时,MIPS架构也存在一些不足之处:一是MIPS的内存地址起始有问题,这导致了MIPS在内存和cache的支持方面都有限制,即MIPS单内核无法面对高容量内存配置;二是MIPS技术演进方向是并行线程,类似INTEL的超线程,而ARM未来的发展方向是物理多核,从目前核心移动设备的发展趋势来看物理多核占据了上风;三是MIPS虽然结构更加简单,但是到现在还是顺序单/双发射,ARM则已经进化到了乱序双/三发射,执行指令流水线周期远不如ARM高效;四是MIPS学院派发展风格导致其商业进程远远滞后于ARM,当ARM与高通、苹果、NVIDIA等芯片设计公司合作大举进攻移动终端的时候,MIPS还停留在高清盒子、打印机等小众市场产品中;五是MIPS自身系统的软件平台也较为落后,应用软件与ARM体系相比要少很多。

  x86 CISC是一种为了便于编程和提高记忆体访问效率的芯片设计体系,包括两大主要特点:一是使用微代码,指令集可以直接在微代码记忆体里执行,新设计的处理器,只需增加较少的电晶体就可以执行同样的指令集,也可以很快地编写新的指令集程式;二是拥有庞大的指令集,x86拥有包括双运算元格式、寄存器到寄存器、寄存器到记忆体以及记忆体到寄存器的多种指令类型,为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外,还通过存于只读存储器(ROM)中的微程序来实现极强的功能,微处理器在分析完每一条指令之后执行一系列初级指令运算来完成所需的功能。

  x86指令体系的优势体现在能够有效缩短新指令的微代码设计时间,允许实现CISC体系机器的向上兼容,新的系统可以使用一个包含早期系统的指令集合。另外微程式指令的格式与高阶语言相匹配,因而编译器并不一定要重新编写。相较ARM RISC指令体系,其缺点主要包括四个方面。

  第一,通用寄存器规模小,x86指令集只有8个通用寄存器,CPU大多数时间是在访问存储器中的数据,影响整个系统的执行速度。而RISC系统往往具有非常多的通用寄存器,并采用了重叠寄存器窗口和寄存器堆等技术,使寄存器资源得到充分的利用。

  第二,解码器影响性能表现,解码器的作用是把长度不定的x86指令转换为长度固定的类似于RISC的指令,并交给RISC内核。解码分为硬件解码和微解码,对于简单的x86指令只要硬件解码即可,速度较快,而遇到复杂的x86指令则需要进行微解码,并把它分成若干条简单指令,速度较慢且很复杂。

  第三,x86指令集寻址范围小,约束用户需要。

  第四,x86 CISC单个指令长度不同,运算能力强大,不过相对来说结构复杂,很难将CISC全部硬件集成在一颗芯片上。而ARM RISC单个指令长度固定,只包含使用频率最高的少量指令,性能一般但结构简单,执行效率稳定。

三种移动处理器(ARM, Intel和MIPS)之间的主要区别(转)相关推荐

  1. 怎么做扇面_美加德尚门窗 | 阳台怎么封好?三种门窗搭配,享受四季景致

    开放式阳台和封闭式阳台哪个好?不同的人对此有着不同答案.开放式阳台通风透气,采光好,视野开阔,拉近了人与自然的距离,而封闭式阳台隔音防噪,功能性好,保护隐私,安全系数高,保护居室安全-- 近年来受环境 ...

  2. 计算机网络笔记---互联网的组成及三种交换方式

    互联网的组成 互联网从工作方式上可以划分为两大块: (1)边缘部分:由连接在互联网上的大量主机组成,由用户直接使用的部分. 这些主机包括了一切可以联网的设备,包括电脑,手机,联网的摄像头,更大的有互联 ...

  3. 以太网口差分电平_浅谈LVDS、CML、LVPECL三种差分逻辑电平之间的互连

    本篇主要介绍LVDS.CML.LVPECL三种最常用的差分逻辑电平之间的互连.由于篇幅比较长,分为两部分:第一部分是同种逻辑电平之间的互连,第二部分是不同种逻辑电平之间的互连. 下面详细介绍第一部分: ...

  4. ARM、Intel、MIPS处理器的区别

    安卓支持三类处理器(CPU):ARM.Intel和MIPS.ARM无疑被使用得最为广泛.Intel因为普及于台式机和服务器而被人们所熟知,然而对移动行业影响力相对较小.MIPS在32位和64位嵌入式领 ...

  5. 目前国内在ARM CPU上广泛采用的三种嵌入式操作系统浅析

    转载地址:http://www.elecfans.com/emb/20190222874035.html 嵌入式操作系统是ARMCPU的软件基础,从8位/16位单片机发展到以ARMCPU核为代表的32 ...

  6. MAC版Lightroom Classic 2022(Lrc2022)v11.5已发布,支持M1/M2和Intel三种系统,解决无法成功安装等问题

    近期MAC版Adobe Lightroom Classic更新了,全新的Lr2022新版本号是11.5,经小编测试是支持M1/M2芯片和Intel三种系统安装的,大家可以放心的安装使用了! lrc是一 ...

  7. 计算机主板的典型布局,装机怎么选?解析Intel三种接口主板布局

    前言:Intel推出了新一代平台产品,但是由于接口规格变得不同,对于用户的选购来说,也造成了一定的困扰,毕竟现在市场上Intel平台就有三种不同的接口规格,分别为:LGA 775.LGA 1156.L ...

  8. SpringMVC框架|Handler处理器的三种写法

    文章目录 一.SpringMVC中的处理器 1.SpringMVC开发方式 2.Servlet原生开发方式 3.开发中常用的方式 一.SpringMVC中的处理器 配置完SpringMVC的处理器映射 ...

  9. TI处理器EDMA的三种触发方式与通道

    文章目录 EDMA的三种触发方式与通道 EDMA触发方式 手动触发 事件触发 链接触发 EDMA通道 何为EDMA通道? EDMA的三种触发方式与通道 目的:减轻CPU工作量,提高CPU效率 EDMA ...

最新文章

  1. 安装centos 7 桌面
  2. Rabbitmq 极简实现
  3. While executing gem ... (Errno::EACCES)
  4. 034_CSS绝对定位
  5. oracle+nvlif函数,Oracle中的NVL()、NVL2()、NULLIF()、Coalesce()函数
  6. PostgreSQL在何处处理 sql查询之六
  7. Spring Cloud原理
  8. Linux 命令之 whois 命令-用于查找并显示用户信息
  9. 前端学习(1925)vue之电商管理系统电商系统之通过一层for循环渲染
  10. js储存数据sessionStorage,localStorage
  11. mac windows蓝牙问题
  12. Cassandra安装和初次使用
  13. 抖音代码舞Python制作
  14. 2021总结:万千热爱,初心不负,三餐烟火暖,四季皆安然。
  15. F28335 eCAP配置代码(自发自检)
  16. 自己对香港一卡通的总结
  17. 为了防止火灾发生,安科瑞余压监控系统在某高层住宅的应用方案
  18. bd09转wgs84 java_各种坐标系互相转换(WGS84转换BD-09主要)
  19. 智能优化算法:北方苍鹰优化算法-附代码
  20. 20211028gfsj_re_key

热门文章

  1. YOLOv5训练数据提示No labels found、with_suffix使用、yolov5训练时出现WARNING: Ignoring corrupted image and/or label
  2. 基于HTML电商购物项目的设计与实现——html+css+javascript+jquery+bootstarp响应式图书商城...
  3. 双系统修改开机默认引导项
  4. Linux 文本处理三剑客应用
  5. mysql监控服务器配置_zabbix 监控服务器(server)端详细配置
  6. DELL戴尔外星人笔记本电脑Alienware m18 R1原装出厂Win11系统恢复原厂OEM系统
  7. iPhone14p有4个看不见的升级点
  8. [18调剂]中国空间技术研究院(航天五院)2018年学术型硕士研究生调剂信息
  9. 网贷行业进入关键期,真正的分水岭正在显现 | 一点财经
  10. 谷歌浏览器打不开,点击图标没反应