ARM CPU和X86 CPU的区别

CPU即中央处理器是一块超大规模的集成电路,是一台计算机的运算核心和控制核心,主要是解释计算机指令以及处理计算机软件中的数据。主要由运算器、控制器、寄存器三部分组成,担负处理指令、执行操作、控制时间、处理数据四大作用,如果没有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就占有很大的优势。

原文地址:https://www.cnblogs.com/femrice/p/10616053.html

时间: 2024-10-16 06:59:18

ARM CPU和X86 CPU的区别的相关文章

ARM CPU与Intel x86 CPU性能比较

Qualcomm ARM CPU与Intel x86 CPU性能比较 随着移动互联网时代的到来,Qualcomm(高通).Texas Instruments(德州仪器)等基于ARM架构的CPU受到越来越多人的关注,而昔日王者的Intel x86架构由于功耗问题,在移动互联网似乎举步维艰. Intel x86架构对比于ARM架构来说,性能强大,功耗较高是大家都知道的事实.那Intel x86架构的CPU性能究竟比ARM架构的强多少呢?下面我们对单个Core做一个简单的评测. 我的PC机CPU:In

VS 的编译选项 build下的 platform target -- Any CPU和x86有什么影响?

VS 的编译选项 build下的platform -- Any CPU和x86有什么影响? 现在的问题是,我的一个assembly用Any CPU编译就不能在64位系统下运行了,但是用x86编译就ok 原因是如果用Any CPU编译,那么在64位机器默认的运行就是64位的, 而我的assembly需要调用一个32的COM库,所以就运行不起来 只要用x86编译,那么程序就是以32位的程序,依靠wow64来运行的,所以就ok 所以,如果assembly需要使用win32库的话, 那么编译选项就不能使

检查.net dll构建的目标平台是any cpu、x86、x64

有时候,需要检查构建的dll是否针对正确的平台 可以使用CorFlags.exe(它是.NET Framework SDK的一部分)从dll中查找此信息.运行CorFlags.exe将产生以下输出: >> CorFlags "C:\example.dll" Microsoft (R) .NET Framework CorFlags Conversion Tool. Version 4.6.1590.0 Copyright (c) Microsoft Corporation.

cpu个数、核数、线程数、Java多线程关系的理解+物理cpu数和cpu核数和逻辑cpu数和vcpu区别

1.cpu个数.核数.线程数.Java多线程关系的理解 URL地址:https://blog.csdn.net/helloworld0906/article/details/905471592.物理cpu数和cpu核数和逻辑cpu数和vcpu区别 URL地址:https://blog.csdn.net/budonglaoshi123/article/details/84325720 原文地址:https://www.cnblogs.com/curedfisher/p/12204102.html

主流手机CPU与电脑CPU的差距又多大

如今,主流手机CPU都是四核.八核,联发科甚至开始研发十核了,而且主频也越来越高.因此,不少人认为手机CPU已经能够媲美电脑CPU了. 其实过CPU性能不能只看核数和主频,下面小编将从架构.工艺.主频.核心等方面,为大家比较一下手机与电脑CPU的差别,看看差距到底有多大. 一.架构差异 架构只相当于一座建筑的框架,是最基本也是极为重要的部分.电脑CPU的架构有X86.X64等,而手机CPU主流是ARM架构,从ARM7.ARM9发展到Cortex-A7.A8.A9.A12.A15. PC机是冯.诺

大型机、小型机、x86服务器的区别

原文:http://servers.pconline.com.cn/gc/1202/2679853_1.html 大型机.小型机.x86服务器的区别 首先来讲x86服务器,与平常人们所接触的台式机笔记本类似,采用CISC架构处理器.随着英特尔至强处理器的性能不断提升,业内有种说法是x86服务器有抢占小型机市场的趋势. x86服务器 Intel推出至强7500系列处理器(例如Nehalem-EX),将至强平台的可靠性.可用性和可维护性(RAS)带到新的高度,此外将原本只为RISC架构专属的诸如机器

cpu利用率和cpu 队列

SIP的第四期结束了,因为控制策略的丰富,早先的的压力测试结果已经无法反映在高并发和高压力下SIP的运行状况,因此需要重新作压力测试.跟在测试人员后面做了快一周的压力测试,压力测试的报告也正式出炉,本来也就算是告一段落,但第二天测试人员说要修改报告,由于这次作压力测试的同学是第一次作,有一个指标没有注意,因此需要修改几个测试结果.那个没有注意的指标就是load average,他和我一样开始只是注意了CPU,内存的使用状况,而没有太注意这个指标,这个指标与他们通常的限制(10左右)有差别.重新测

Linux下查看操作系统信息、内存情况及cpu信息:cpu个数、核心数、线程数

文章转载:http://blog.snsgou.com/post-793.html 1.查看物理CPU的个数 [[email protected] ~]# cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l1 2.查看逻辑CPU的个数 [[email protected] ~]# cat /proc/cpuinfo |grep "processor"|wc -l4 3.查看CPU是几核(即,核心数) [[em

内核基础---AT&T汇编与x86汇编的区别

1.深入Linux内核的前提 因为以前学习过intel的x86汇编语言,所以本文就不在讲述汇编的基本语法了: 内核绝大部分的代码都是用C和汇编语言实现的,要理解内核,C语言大部分的人都已经掌握了,接下来就得首先掌握汇编知识,以便深入理解Linux内核知识!!! 2.学习Linux内核的线路 首先内核有基础部分和深入的部分,我认为应该从一个全局的角度去解读Linux内核,以便我们达到一个更加深刻的认识,从内核的整体架构--->内核源码的解读,并且在这个的过程中不断的去修改代码,编程调试是至关重要的