浅析CPU两⼤架构ARM和X86区别及拓展windowsx86与x64的区
  由于在 linux 安装nodejs环境时遇到⼀个不可执⾏⽂件的问题,涉及到了ARM和x64⽂件,所以查了点资料初步了解了⼀下cpu两⼤架构:ARM与X86的区别。
⼀、CPU是什么
  中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字⾯意思看运算器就是起着运算的作⽤,控制器就是负责发出CPU每条指令所需要的信息,寄存器就是保存运算或者指令的⼀些临时⽂件,这样可以保证更⾼的速度。
  CPU有着处理指令、执⾏操作、控制时间、处理数据四⼤作⽤,打个⽐喻来说,CPU就像我们的⼤脑,帮我们完成各种各样的⽣理活动。因此如果没有CPU,那么电脑就是⼀堆废物,⽆法⼯作。移动设备其实很复杂,这些CPU需要执⾏数以百万计的指⽰,才能使它向我们期待的⽅向运⾏,⽽CPU的速度和功率效率是⾄关重要的。速度影响⽤户体验,⽽效率影响电池寿命。最完美的移动设备是⾼性能和低功耗相结合。
⼆、要了解X86和ARM,就得先了解复杂指令集(CISC)和精简指令集(RISC)
  从CPU发明到现在,有⾮常多种架构,从我们熟悉的X86,ARM,到不太熟悉的MIPS,IA64,它们之间的差距都⾮常⼤。但是如果从最基本的逻辑⾓度来分类的话,它们可以被分为两⼤类,即所谓的“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。
  Intel和ARM处理器的第⼀个区别是,前者使⽤复杂指令集(CISC),⽽后者使⽤精简指令集(RISC)。属于这两种类中的各种架构之间最⼤的区别,在于它们的设计者考虑问题⽅式的不同。
  我们可以继续举个例⼦,⽐如说我们要命令⼀个⼈吃饭,那么我们应该怎么命令呢?我们可以直接对他下达“吃饭”的命令,也可以命令他“先拿勺⼦,然后舀起⼀勺饭,然后张嘴,然后送到嘴⾥,最后咽下去”。
  从这⾥可以看到,对于命令别⼈做事这样⼀件事情,不同的⼈有不同的理解,有⼈认为,如果我⾸先给接受命令的⼈以⾜够的训练,让他掌握各种复杂技能(即在硬件中实现对应的复杂功能),那么以后就可以⽤⾮常简单的命令让他去做很复杂的事情——⽐如只要说⼀
句“吃饭”,他就会吃饭。
  但是也有⼈认为这样会让事情变的太复杂,毕竟接受命令的⼈要做的事情很复杂,如果你这时候想让他吃菜怎么办?难道继续训练他吃菜的⽅法?我们为什么不可以把事情分为许多⾮常基本的步骤,这
样只需要接受命令的⼈懂得很少的基本技能,就可以完成同样的⼯作,⽆⾮是下达命令的⼈稍微累⼀点——⽐如现在我要他吃菜,只需要把刚刚吃饭命令⾥的“舀起⼀勺饭”改成“舀起⼀勺菜”,问题就解决了,多么简单。
  这就是“复杂指令集”和“精简指令集”的逻辑区别。
  Intel和ARM的处理器最本质的区间就是:复杂指令集(CISC)和精简指令集(RISC)的区别,当然还有其他⼏⽅⾯区别:制造⼯艺、64位计算、异构运算、设计和功耗等,就太⾼深了。
三、什么叫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通⽤计算机系列的标准编号缩写,也标识⼀套通⽤的计算机指令集合。
五、arm架构和x86架构有什么区别
1、性能
  X86结构的电脑⽆论如何都⽐ARM结构的系统在性能⽅⾯要快得多、强得多。X86的CPU随便就是1G以上、双核、四核⼤⾏其道,通常使⽤45nm(甚⾄更⾼级)制程的⼯艺进⾏⽣产;⽽ARM⽅⾯:CPU通常是⼏百兆,最近才出现1G左右的CPU,制程通常使⽤不到65nm 制程的⼯艺,可以说在性能和⽣产⼯艺⽅⾯ARM根本不是X86结构系统的对⼿。
  但ARM的优势不在于性能强⼤⽽在于效率,ARM采⽤RISC流⽔线指令集,在完成综合性⼯作⽅⾯根本就处于劣势,⽽在⼀些任务相对固定的应⽤场合其优势就能发挥得淋漓尽致。
x86架构和arm架构区别2、扩展能⼒
  X86结构的电脑采⽤“桥”的⽅式与扩展设备(如:硬盘、内存等)进⾏连接,⽽且x86结构的电脑出现了近30年,其配套扩展的设备种类多、价格也⽐较便宜,所以x86结构的电脑能很容易进⾏性能扩展,如增加内存、硬盘等。
  ARM结构的电脑是通过专⽤的数据接⼝使CPU与数据存储设备进⾏连接,所以ARM的存储、内存等性能扩展难以进⾏(⼀般在产品设计时已经定好其内存及数据存储的容量),所以采⽤ARM结构的系统,⼀般不考虑扩展。基本奉⾏“够⽤就好”的原则。
3、操作系统的兼容性
  X86系统由微软及Intel构建的Wintel联盟⼀统天下,垄断了个⼈电脑操作系统近30年,形成巨⼤的⽤户,也深深固化了众多⽤户的使⽤习惯,同时x86系统在硬件和软件开发⽅⾯已经形成统⼀的标准,⼏乎所有x86硬件平台都可以直接使⽤微软的视窗系统及现在流⾏的⼏乎所有⼯具软件,所以x86系统在兼容性⽅⾯具有⽆可⽐拟的优势。
  ARM系统⼏乎都采⽤Linux的操作系统,⽽且⼏乎所有的硬件系统都要单独构建⾃⼰的系统,与其他系统不能兼容,这也导致其应⽤软件不能⽅便移植,这⼀点⼀直严重制约了ARM系统的发展和应⽤。GOOGLE开发了开放式的Android系统后,统⼀了ARM结构电脑的操作系统,使新推出基于ARM结构的电脑系统有了统⼀的、开放式的、免费的操作系统,为ARM的发展提供了强⼤的⽀持和动⼒。
4、软件开发的⽅便性及可使⽤⼯具的多样性
  X86结构的系统推出已经近30年,在此期间,x86电脑经过飞速发展的黄⾦时期,⽤户的应⽤、软件配套、软件开发⼯具的配套及兼容等⼯作,已经到达⾮常成熟甚⾄可以说是完美的境界。所以使⽤X86电脑系统不仅有⼤量的第三⽅软件可供选择,也有⼤量的软件编程⼯具可以帮助您完成您所希望完成的⼯作。
  Arm结构的电脑系统因为硬件性能的制约、操作系统的精简、以及系统兼容等问题的制约,造成Arm结构的电脑系统不可能像X86电脑系统那样有众多的编程⼯具和第三⽅软件可供选择及使⽤,ARM的编程语⾔⼤多采⽤C和JAVA。
  对这⼀点的⽐较,更直接的结论是:基于x86结构电脑系统平台开发软件⽐arm结构系统更容易、更简单、实际成本也更低,同时更容易到第三⽅软件(免去⾃⼰开发的时间和成本),⽽且软件移植更容易。
  从以上对⽐分析,给了我们的⼀个很清晰的感觉,ARM和X86结构的电脑根本就⽆法对⽐,ARM根本就不是X86电脑的的对⼿。是的,如果只考虑上述⼏个⽅⾯的要数,ARM确实⽆法与X86电脑竞争,甚⾄连⽐较的资格都没有。但是近1、2年,ARM的产品在终端应⽤特别是⼿持终端应⽤飞速发展(如:智能⼿机、平板电脑等),其销售数量已经远远超出x86结构的电脑销售数量,可见ARM是具有其与X86结构电脑不可对⽐的优势。该优势就是:功耗。
5、功耗
  X86电脑因考虑要适应各种应⽤的需求,其发展思路是:性能+速度。20多年来x86电脑的速度从原来8088的⼏M发展到现在随便就是⼏G,⽽且还是⼏核,其速度和性能已经提升了千、万倍,技术进步使x86电脑成为⼤众⽣活中不可缺少的⼀部分。但是x86电脑发展的⽅向和模式,使其功耗⼀直居⾼不下,⼀台电脑随便就是⼏百⽡,即使是号称低功耗节能的⼿提电脑或上⽹本,也有⼗⼏、⼆⼗多⽡的功耗,这与ARM结构的电脑就⽆法相⽐。
6、ARM和X86现在发展如何?
  关于X86架构和ARM架构这两者谁将统⼀市场的争执⼀直都有,但是也有⼈说这两者根本不具备可⽐性,X86⽆法做到ARM的功耗,⽽ARM也⽆法做到X86的性能。现在ARM架构已经具备了进⼊服务器芯⽚的能⼒,众多芯⽚研发企业纷纷采⽤ARM架构研发服务器芯⽚⽆疑将促进其繁荣, 2015年⼀款
采⽤ARM架构的Windows 10平板现⾝,这也是⽬前曝光的全球⾸款⾮X86架构、运⾏Windows系统的平板产品。
  同时,经过数年的努⼒,2016年AMD终于推出了⾸个基于ARM架构的处理器——Opteron A1100。AMD希望能够凭借这⼀处理器挑战Intel在数据中⼼服务器市场的霸主地位。
  这样看来,Intel在服务器芯⽚市场将会逐渐失去霸主地位,⽽且,Intel已然错过了移动 CPU 市场,现在它正试图跳进千万亿的物联⽹领域,具体表现如何,看时间的考验吧。
  拓展⼀个看到的知识点:windows  x86和x64的区别
六、windows  x86和x64的区别
  x86代表32位操作系统  x64代表64位操作系统。
  如何判断电脑是否⽀持64位操作系统?
⾸先从⼀个常理来说,如果你的CPU是双核,应该是⽀持64位的了!当然你也可以⽤CPU—Z来检查⼀下⾃⼰的CPU是否包含有
EM64T (INTEL)或者X86_64(AMD)指令!如果包含,那就说明⽀持64位!
如果你的CPU是双核以上,那肯定⽀持64位了。如果你的电脑内存⼤于4G,那就要⽤64位的系统了,因为32位的Windows 7也
好,Vista也好,最⼤都只⽀持3.25G的内存。⽽64位的windows 7最⼤将⽀持128G的内存。
1、内存寻址能⼒区别
  32位系统寻址能⼒是4G容量,不过需要保留⼀些给硬件使⽤,因此留给⽤户的可⽤内存⼀般是3.25g-3.5G容量左右,即使你插上8G内存,也⽆法识别那么⼤容量,⽽64位系统可以⽀持128GB⼤内存,甚⾄更⼤。
2、运算速度区别
  安装64位系统,需要CPU必须⽀持64位,⽽64位CPU GPRs(General-Purpose Registers,通⽤寄存器)的数据宽度为64位,64位指令集可以运⾏64位数据指令,也就是说处理器⼀次可提取64位数据(只要两个指令,⼀次提取8个字节的数据),⽐32位(需要四个指令,⼀次提取4个字节的数据)提⾼了⼀倍,理论上性能会相应提升⼀倍。
3、设计初衷区别
  早期,64位操作系统的设计初衷是为了满⾜机械设计和分析、三维动画、视频编辑和创作,以及科学计算和⾼性能计算应⽤程序等领域中需要⼤量内存和浮点性能的客户需求,⽽32位系统,初期并没有考虑太多。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。