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的主导地位,使得其他的处理器设计者需要提供一个兼容层。

PS:ARM核演变过程

ARM和Intel处理器区别简介相关推荐

  1. intel 指令集_苹果首款ARM Mac来了,浅谈ARM和Intel处理器

    点击蓝字 关注我们 苹果发布会 在11月11日凌晨,苹果的新品发布会中 ,推出了基于首款ARM框架的Mac. 苹果的Mac将不再使用 Intel的芯片,而且ARM 版 Mac 会采用自研 GPU.这意 ...

  2. CPU的构架之ARM和Intel的区别(x86/x64/ARM64/ARM)

    Introduction As we all know, a Processor is an integrated electronic circuit that performs various c ...

  3. 苹果首款ARM Mac来了,浅谈ARM和Intel处理器!

    在2020年11月11日凌晨,苹果的新品发布会中 ,推出了基于首款ARM框架的Mac.苹果的Mac将不再使用 Intel的芯片,而且ARM版Mac会采用自研GPU.这意味着苹果Mac从Intel到了A ...

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

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

  5. 【转】arm和x86的区别

    [转]arm和x86的区别 来自: https://blog.csdn.net/u012513972/article/details/78349192/ 信不信,随便逮住一个人问他知不知道CPU,我想 ...

  6. amd为什么还用针脚_为什么intel处理器不用针脚,AMD还一直使用针脚呢?

    intel早就不用针脚了,为什么AMD还在用呢?对于喜欢DIY装机得玩家来说最容易分别AMD和intel处理器的方法就是看处理器针脚,有针脚的处理器基本就能断定99%是AMD的处理器了,那么大家有没有 ...

  7. intel服务器芯片组介绍,Intel芯片组的简介

    大多数人应该只听说过中央处理器,即CPU的相关信息,而对主板芯片组知之甚少.其实芯片组对一台电脑而言更为重要,哪怕是将之比喻为整个身体的心脏也丝毫不为过.那么接下来不妨就随小编一起来了解关于intel ...

  8. 在Intel处理器上,修改mitigations参数使Linux系统运行得更快

    您可能听说过影响了许多现代处理器,包括英特尔,AMD,System Z,Power和ARM的某些处理器.幸运的是,内核开发人员已经发布了安全补丁来解决Meltdown/Spectre问题,在最新的内核 ...

  9. Intel处理器分类规则

    Intel处理器分类规则 Intel处理器往往分系列,例如Celeron.Celeron D.Pentium 4.Pentium D等等,同系列的各个型号用频率.数字.字母等来加以区分,其命名有一定规 ...

最新文章

  1. 进行博客博文管理的设计
  2. 14、计算机图形学——whited-style光线追踪
  3. Golang判断元素是否存在数组中
  4. [转贴]玩你没商量:ADSL速率数字游戏解密
  5. 当检测到运动时如何自动打开门灯
  6. 高数.........
  7. idea解决maven pom依赖下载失败
  8. BugkuCTF-MISC题zip伪加密
  9. [数据库]14个数据库的设计技巧
  10. MyBatis入门学习(一)
  11. 二叉树中节点的最大的距离(编程之美3.8)
  12. 软件测试第四组第一周作业第一天
  13. 小型 web 服务器系统,小型WEB服务器 - 应用服务器是什么_应用服务器有哪些
  14. ADB常用命令及其用法大全
  15. breadweb控制台下载_路由器刷breed web控制台助手最新版
  16. 谷歌账号最后验证身份手机号无法使用
  17. 2022年全球光纤机械接头市场前景分析及研究报告
  18. 缺陷检测End-to-end training of a two-stage neural networkfor defect detection(端到端的两步神经网络的缺陷检测)
  19. 【唐诗学习】一、古诗概述
  20. Linux---冯诺依曼体系结构和操作系统

热门文章

  1. 记一次海康威视笔试题小练手
  2. Android 内容复制到剪贴板
  3. 云计算是什么意思,还是先了解一下云计算技术的基本概念
  4. python32位和64位有什么区别_python64位和32位区别
  5. winform 两个区域保持固定距离_【麻辣烫】川渝区域零担十强分析:余氏东风、力展、宇鑫、金泓达快运、长吉、西部风、海风快运、绍平、迪丰、健隆......
  6. System/360 大型机差点毁了 IBM !
  7. Activiti6.0流程引擎学习——(22)activiti的任务管理服务(TaskService)
  8. 使用PowerShell替代WinDbg在高分辨率笔记本下调试、排错
  9. C#开发:创建gif图片
  10. 2019年最值得学习的编程语言TOP5