ARM CPU和X86 CPU的区别

Posted femrice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARM CPU和X86 CPU的区别相关的知识,希望对你有一定的参考价值。

CPU即中央处理器是一块超大规模的集成电路,是一台计算机的运算核心和控制核心,主要是解释计算机指令以及处理计算机软件中的数据。主要由运算器、控制器、寄存器三部分组成,担负处理指令、执行操作、控制时间、处理数据四大作用,如果没有CPU,工业主板将无法工作。

 

ARM CPU和X86 CPU的区别

技术图片

1、目前CPU主要由X86和ARM两大架构。不同架构间的差距非常大,而从最基本的逻辑角度来分类的话,可以被分为两大类,即 “复杂指令集”与“精简指令集”系统,也就是“CISC”与“RISC”。 X86工控主板与ARM工控主板最主要区别是前者使用复杂指令集(CISC),而后者使用精简指令集(RISC)。

 

2、而功耗方面,X86工控主板要比ARM工控主板的高。功耗和CPU制造工艺相关。CPU设计又分为前端和后端设计,前端设计体现了CPU的构架,复杂指令集和精简指令集的区别是通过前端设计体现的。后端设计处理电压,时钟等问题,是耗电的直接因素。

 

那后端是怎么影响耗电的?晶体管耗电主要两个原因:一个是动态功耗,一个是漏电功耗。动态功耗是指晶体管在输入电压切换的时候产生的耗电,而所有的逻辑功能的0/1切换,归根结底都是时钟信号的切换。如果时钟信号保持不变,那么这部分的功耗就为0。即所谓的门控时钟(Clock Gating)。而漏电功耗可以通过关掉某个模块的电源来控制(Power Gating)。再来看前端。ARM的CPU有个特点,就是乱序执行能力不如X86。换句话说,就是用户在使用工控机时,其操作是随机的,无法预测的,造成了指令也无法预测。X86为了增强对这种情况下的处理能力,加强了乱序指令的执行。此外,X86还增强了单核的多线程能力。这样做的缺点就是,无法很有效的关闭和恢复处理器子模块,因为一旦关闭,恢复起来就很慢,从而造成低性能。为了保持高性能,就不得不让大部分的模块都保持开启,并且时钟也保持切换。这样做的直接后果就是耗电高。而ARM的指令强在确定次序的执行,并且依靠多核而不是单核多线程来执行。这样容易保持子模块和时钟信号的关闭,显然就更省电。

 

3、在操作系统兼容方面,几乎所有X86硬件平台都可以直接使用微软的视窗系统及现在流行的几乎所有工具软件,所以X86工业主板在系统兼容性方面具有无可比拟的优势。ARM几乎都采用Linux的操作系统,而且几乎所有的硬件系统都要单独构建自己的系统,与其他系统不能兼容,这也导致其应用软件不能方便移植,也制约了ARM的发展和应用。android系统开发后,统一了ARM架构工控机的操作系统,使新推出基于ARM架构的工控机系统有了统一的、开放式的、免费的操作系统,为ARM的发展提供了强大的支持和动力。

 

X86和ARM的发展,两者不具备可比性,X86无法做到ARM的功耗,而ARM也无法做到X86的性能。在服务器、工作站以及其它高性能运算等应用方面,不考虑功耗和使用环境等条件,X86占了优绝对优势;但受功耗、环境等条件制约且工作任务固定的情况下ARM就占有很大的优势。

以上是关于ARM CPU和X86 CPU的区别的主要内容,如果未能解决你的问题,请参考以下文章

arm和x86的区别

armeabi-v7a arm64-v8a armeabi x86 x86_64区别

armeabi-v7a arm64-v8a armeabi x86 x86_64区别

armeabi-v7a arm64-v8a armeabi x86 x86_64区别

armeabi-v7a arm64-v8a armeabi x86 x86_64区别

armeabi-v7a arm64-v8a armeabi x86 x86_64区别