历史上的今天
返回首页

历史上的今天

今天是:2025年03月25日(星期二)

正在发生

2021年03月25日 | 一文看懂arm架构和x86架构有什么区别

2021-03-25 来源:eefocus

  本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能、扩展能力、操作系统的兼容性、软件开发的方便性及可使用工具的多样性及功耗这五个方面详细的对比了arm架构和x86架构的区别,具体的跟随小编一起来了解一下。


  什么叫arm架构
  ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。


  在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。


  ARM架构图

  下图所示的是ARM构架图。它由32位ALU、若干个32位通用寄存器以及状态寄存器、32&TImes;8位乘法器、32&TImes;32位桶形移位寄存器、指令译码以及控制逻辑、指令流水线和数据/地址寄存器组成。


  1、ALU:它有两个操作数锁存器、加法器、逻辑功能、结果以及零检测逻辑构成。
  2、桶形移位寄存器:ARM采用了32&TImes;32位的桶形移位寄存器,这样可以使在左移/右移n位、环移n位和算术右移n位等都可以一次完成。
  3、高速乘法器:乘法器一般采用“加一移位”的方法来实现乘法。ARM为了提高运算速度,则采用两位乘法的方法,根据乘数的2位来实现“加一移位”运算;ARM高速乘法器采用32&TImes;8位的结构,这样,可以降低集成度(其相应芯片面积不到并行乘法器的1/3)。
  4、浮点部件:浮点部件是作为选件供ARM构架使用。FPA10浮点加速器是作为协处理方式与ARM相连,并通过协处理指令的解释来执行。
  5、控制器:ARM的控制器采用的是硬接线的可编程逻辑阵列PLA。
  6、寄存器


  x86架构
  目前的PC架构绝大多数都是Intel的X86架构,貌似也是因为INTEL的这个X86架构早就了目前INTEL如日中天的地位。X86架构(The X86 architecture)是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。


  当然,这个架构图并不是所有的都是如此,根据不同的主板,平台,架构是略有差别的比如说,目前很多主板已经将北桥集成到CPU当中,将南桥集成为PCH,但大致的框架还是如此的。下面对这个架构图上的各个内容分别进行一些简介。


  1:CPU,大家都不陌生的名词,中央处理器,计算机的核心大脑。
  2: 北桥(North Bridge Chipset):北桥是电脑主板上的一块芯片,位于CPU插座边,起连接作用。
  3:南桥芯片(South Bridge)是主板芯片组的重要组成部分,一般位于主板上离CPU插槽较远的下方,PCI插槽的附近,这种布局是考虑到它所连接的I/O总线较多,离处理器远一点有利于布线。
  4: 内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。
  5:显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器,是计算机最基本配置、最重要的配件之一。
  6:显示j接口
  7:网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。
  8:声卡的基本功能是把来自话筒、磁带、光盘的原始声音信号加以转换,输出到耳机、扬声器、扩音机、录音机等声响设备,或通过音乐设备数字接口(MIDI)使乐器发出美妙的声音。
  9:SATA(Serial Advanced Technology Attachment,串行高级技术附件)是一种基于行业标准的串行硬件驱动器接口,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。
  10:硬盘是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。
  11:总线


  arm架构和x86架构有什么区别
  一、性能
  X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多、强得多。X86的CPU随便就是1G以上、双核、四核大行其道,通常使用45nm(甚至更高级)制程的工艺进行生产;而ARM方面:CPU通常是几百兆,最近才出现1G左右的CPU,制程通常使用不到65nm制程的工艺,可以说在性能和生产工艺方面ARM根本不是X86结构系统的对手。
  但ARM的优势不在于性能强大而在于效率,ARM采用RISC流水线指令集,在完成综合性工作方面根本就处于劣势,而在一些任务相对固定的应用场合其优势就能发挥得淋漓尽致。


  二、扩展能力
  X86结构的电脑采用“桥”的方式与扩展设备(如:硬盘、内存等)进行连接,而且x86结构的电脑出现了近30年,其配套扩展的设备种类多、价格也比较便宜,所以x86结构的电脑能很容易进行性能扩展,如增加内存、硬盘等。


  ARM结构的电脑是通过专用的数据接口使CPU与数据存储设备进行连接,所以ARM的存储、内存等性能扩展难以进行(一般在产品设计时已经定好其内存及数据存储的容量),所以采用ARM结构的系统,一般不考虑扩展。基本奉行“够用就好”的原则。


  三、操作系统的兼容性
  X86系统由微软及Intel构建的Wintel联盟一统天下,垄断了个人电脑操作系统近30年,形成巨大的用户群,也深深固化了众多用户的使用习惯,同时x86系统在硬件和软件开发方面已经形成统一的标准,几乎所有x86硬件平台都可以直接使用微软的视窗系统及现在流行的几乎所有工具软件,所以x86系统在兼容性方面具有无可比拟的优势。


  ARM系统几乎都采用Linux的操作系统,而且几乎所有的硬件系统都要单独构建自己的系统,与其他系统不能兼容,这也导致其应用软件不能方便移植,这一点一直严重制约了ARM系统的发展和应用。GOOGLE开发了开放式的Android系统后,统一了ARM结构电脑的操作系统,使新推出基于ARM结构的电脑系统有了统一的、开放式的、免费的操作系统,为ARM的发展提供了强大的支持和动力。


  四、软件开发的方便性及可使用工具的多样性
  X86结构的系统推出已经近30年,在此期间,x86电脑经过飞速发展的黄金时期,用户的应用、软件配套、软件开发工具的配套及兼容等工作,已经到达非常成熟甚至可以说是完美的境界。所以使用X86电脑系统不仅有大量的第三方软件可供选择,也有大量的软件编程工具可以帮助您完成您所希望完成的工作。


  Arm结构的电脑系统因为硬件性能的制约、操作系统的精简、以及系统兼容等问题的制约,造成Arm结构的电脑系统不可能像X86电脑系统那样有众多的编程工具和第三方软件可供选择及使用,ARM的编程语言大多采用C和JAVA。


  对这一点的比较,更直接的结论是:基于x86结构电脑系统平台开发软件比arm结构系统更容易、更简单、实际成本也更低,同时更容易找到第三方软件(免去自己开发的时间和成本),而且软件移植更容易。


  从以上对比分析,给了我们的一个很清晰的感觉,ARM和X86结构的电脑根本就无法对比,ARM根本就不是X86电脑的的对手。是的,如果只考虑上述几个方面的要数,ARM确实无法与X86电脑竞争,甚至连比较的资格都没有。但是近1、2年,ARM的产品在终端应用特别是手持终端应用飞速发展(如:智能手机、平板电脑等),其销售数量已经远远超出x86结构的电脑销售数量,可见ARM是具有其与X86结构电脑不可对比的优势。该优势就是:功耗。


  五、功耗
  X86电脑因考虑要适应各种应用的需求,其发展思路是:性能+速度。20多年来x86电脑的速度从原来8088的几M发展到现在随便就是几G,而且还是几核,其速度和性能已经提升了千、万倍,技术进步使x86电脑成为大众生活中不可缺少的一部分。但是x86电脑发展的方向和模式,使其功耗一直居高不下,一台电脑随便就是几百瓦,即使是号称低功耗节能的手提电脑或上网本,也有十几、二十多瓦的功耗,这与ARM结构的电脑就无法相比。


推荐阅读

史海拾趣

Carling Technologies公司的发展小趣事

Carling Technologies于1920年创立,早期专注于电气和电子开关以及组件的制造。凭借创始人的远见卓识和团队的努力,公司逐渐在行业中崭露头角。在创立初期,Carling Technologies就以其高质量的产品和创新的设计赢得了客户的信赖。通过不断的研发和技术升级,公司逐渐在电气和电子开关领域建立了自己的地位。

ERNI公司的发展小趣事

近年来,ERNI不断加大研发投入,致力于推出更多创新产品和技术。他们不仅继续深耕连接器领域,还拓展了背板、子系统及整套电机架系统等业务。同时,ERNI还积极为客户提供高性能、自行设计的工具制造、现代器件装配和测试设备等高附加值的服务。这些举措使ERNI在电子行业中的竞争力不断增强,也为公司的未来发展奠定了坚实基础。

以上是关于电子行业里ERNI公司发展起来的相关故事概述。通过这些故事,我们可以看到ERNI如何凭借持续的创新、精湛的技术和全球化的战略在电子行业中取得了辉煌成就。

集创北方(CHIPONE)公司的发展小趣事

2022年2月,北京冬奥会盛大开幕。在这场全球瞩目的体育盛事中,鸟巢LED舞台的璀璨灯光吸引了无数目光。背后的功臣正是集创北方的LED驱动芯片ICND2153和ICND2055。这两款芯片以其卓越的性能和稳定性,确保了舞台效果的完美呈现,为冬奥会增添了无尽的光彩。

Astro Industries Inc公司的发展小趣事

Astro Industries Inc的创始人在电子行业拥有丰富的经验,他们看到了市场对于高性能电子产品的迫切需求。于是,公司从创立之初就专注于技术创新,投入大量资源进行研发。经过不懈的努力,Astro Industries Inc成功推出了一款具有颠覆性的电子产品,其性能远超当时市场上的同类产品,迅速获得了市场的认可。

Circuit Technology Inc公司的发展小趣事

Circuit Technology Inc(以下简称CTI)自创立之初,便致力于电路技术的研发与创新。在成立初期,公司凭借其独特的电路设计技术,成功开发出一款高效能、低成本的电路板,迅速在行业内崭露头角。随着技术的不断完善和市场的逐步认可,CTI的产品逐渐占据了市场份额,公司规模也逐渐扩大。为了进一步拓展市场,CTI积极与国内外知名企业合作,共同开发新产品,不断提升自身的技术水平和市场竞争力。

G24 Innovations公司的发展小趣事

随着产品质量的不断提升,远阳开始将目光投向更广阔的市场。公司制定了详细的市场拓展计划,并加大了品牌营销力度。2010年前后,远阳成功进军国际市场,与多家国际知名企业建立了长期合作关系。同时,公司也注重在国内市场的布局,通过参加各类行业展会、举办技术研讨会等方式,不断提升品牌知名度和影响力。这一时期,远阳的产品线不断丰富,涵盖了HDMI、光纤线、DP线等多个系列,成为了数据工程电缆领域的佼佼者。

问答坊 | AI 解惑

利用 Xilinx FPGA 简化硬件和软件开发白皮书

Simplifying Embedded Hardware and Software Development with Targeted Reference Designs FPGAs are becoming the platform of choice for a growing number of hardware and software designers developing embedded processing applications ...…

查看全部问答>

evc下webserver的问题

要在evc环境下(目前是evc4.0)开发一个webserver,在网上找了一些资料.目前有2个问题. 1.方案1,使用go ahead,由于我需要动态的去更新网页上的数据,所以需要和数据库相连,但是目前我看goahead源代码,没有看明白它是如何与数据库相连接,在哪里连接,用 ...…

查看全部问答>

触摸屏驱动 修改注册表值是哪一项?

我的触摸屏驱动,装了后。一点屏幕,鼠标就不见了。我只好用usb鼠标来校正。校正完,就可以了。但是我到注册表CalibrationData这项里找到的值和我编译时的值一样,那是为什么呢?…

查看全部问答>

关于PIC18F系列单片机学习问题

请教版主及各位前辈:     关于学习PIC18F2580这款单片机有没有啥好书?或是好的网络教材,能否给我发一下!谢谢!!!邮箱cgx7388@qq.com          先自我介绍一下,在这之前边上班边自学PIC单片机已有 ...…

查看全部问答>

F28035一个奇怪的问题

在做SPI实验时,又是一直没有搞定!! 所以又专门另建了个项目(工程),把SPI调试得可以正常工作, 然而,将这样的程序段,用在原来的工程中时,却无法工作。 没办法时就逐个检查语句的执行情况,发现,对SPI的几个控制寄存器初始化,竟然无法 ...…

查看全部问答>

这个调理电路怎么搭?

我想把外界输入的 -3.3V - 3.3V的正弦电压信号调理成相位相同 0V - 3,.3V的正弦信号,请问有没有好的解决方案 ,我之前在一个地方看到别人用运放做的 我忘记了在哪儿了 。…

查看全部问答>

求助,,,大家帮我看看我的28027 i2c模块程序哪里出错了

本帖最后由 jetlin1992 于 2014-7-8 15:20 编辑 程序的功能是给24c02   第0x00个字节写入0x20,然后再读回到变量b中 #include \"DSP28x_Project.h\" #define I2C_SLAVE_ADDR        0x50 #define I2C_ ...…

查看全部问答>