03-04各种arm处理器和x86处理器的区别,arm,x86 x64都代表啥

浅谈ARM架构应用处理器与X86架构处理器_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
浅谈ARM架构应用处理器与X86架构处理器
上传于||文档简介
&&浅​谈​A​R​M​架​构​应​用​处​理​器​与​X6​架​构​处​理​器
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢X86和ARM架构的处理器能效差异为什么会这么大?
最近在用三星的一款i5处理器的Windows平板,和iPad,以及其他使用ARM处理器的手机相比,发热量大很多,甚至需要借助风扇来散热,耗电量也大了不少。那么就很奇怪,在主频相差不大,并且实际执行效果差不多的情况下,x86架构的处理器的发热量和功耗为什么会那么大?这种差异到底是硬件以及处理器的指令集本身的问题,还是软件层面的问题?
按投票排序
硬件层面,这两种处理器的设计初衷可说是背道而驰的,目前看来,x86架构在移动计算站稳脚跟很困难,而ARM之类的RISC架构也无法在较复杂的应用中表现很出色,例如高性能计算等领域。至于发热量和功耗,确实一则因为x86处理器要包含很多指令集,这用去了不少晶体管,二则因为内部逻辑比较复杂,也用去了不少晶体管。所以它从架构上讲,做到低功耗其实很困难,intel号称可以讲功耗做到数百毫瓦,但那是在CPU闲置进入C5或者C6 state的时候的功耗,相当于某些低频ARM处理器正常工作的功耗。其实你可以观察一下,宣称效能差不多的x86处理器和ARM处理器,尺寸可是差不少的,制程上基本没啥大区别,甚至x86一般还会比ARM更先进一点。
性能跟功耗是非线性的关系。
同比,x86的性能是ARM的 2-9 倍,你说性能差不多吗。现在宣称几核几核的手机你敢让他跑个计算机级别的程序来试试看不。所以同样一款程序,手机上的就很需要关注性能,而在x86上就基本不需要去考虑。
看到一篇很好的文章,分享给对这个问题感兴趣的人:
可以参考2013年的一片HPCA论文Power Struggles: Revisiting the RISC vs. CISC Debate
on Contemporary ARM and x86 Architectures,文章里测试的A8,ATOM等顺序执行的处理器和A9,i7等乱序执行的处理器之间的性能差异是与它们之间的频率差异和芯片面积大小差异(同等制造工艺下)正相关的。作者分析的结论是,指令集的差别与性能和能耗没有关系。两者性能的差异是由于需求的不同所在硬件设计上的反映,例如指令发射速度、分支预测、乱序执行等方面,提升这些方面的性能需要使用到大量的硬件,使得硬件设计变得更加复杂,并且带来了更多的能耗。
说x86和ARM处理器“实际执行效果差不多”其实有所不妥。楼主也说了比较的几个设备主要是windows平板,ipad和智能手机。这些平台上的程序都是移动环境下的应用,大多逻辑简单功能单一,没什么“计算”可言。ARM处理器本身定位于嵌入式平台,应付轻量级、目的单一明确的程序,现在应用在移动设备上正是得心应手。x86定位于桌面和服务器,这些平台上很多应用是计算密集型的,比如多媒体编辑、科研计算、模拟等等。因此将x86和ARM在移动环境下做对比得出“差不多”是不好的。由于定位的不同,ARM处理器基于精简指令集(RISC)架构。指令集数量少就可以简化硬件逻辑的设计,减少晶体管数量,也就意味着低功耗。而且由于移动平台应用通常简单,程序的控制流不复杂,执行效率没有必要很高,所以流水线、分支预测等硬件逻辑都比较简单。这些都降低了晶体管总量。同时因为移动设备有电池的能源限制,ARM的电源管理是作为重要部分特别设计了的。比如移动设备的处理器在待机时通常只以极低的主频在运行,甚至可以暂时关闭闲置的核心、协处理器来降低功耗。x86就截然不同。x86是复杂指令集(CISC)架构,存在很多机器指令,只为了高效地完成一项专门任务(比如MMX, SSE中的指令)。这就使得硬件的逻辑很复杂,晶体管数量庞大。为了高效地进行运算,x86架构有较长的流水线以达到指令级并行(ILP)。长流水线带来的一个弊端,就是当遇到分支时,如果预载入分支指令不是未来真实的分支,那么要清空整个流水,代价较高。所以x86为此还必须有复杂的分支预测机构,确保流水线的效率。再加上多级cache,支持超线程、虚拟化等等,x86的复杂度其实相当高。我工作单位的同事基本上都是开发科研计算或者模拟程序的,比如流体力学工具包,蛋白结构模拟之类的。这些软件一启动就是毫无意外地核心满载,通常都是放到带GPU加速的超算上运行。这些计算要是放到ipad上,怕是把ipad算爆了也得不到什么结果。。。
其实目前x86和arm的能耗比已经差不多了,关键还是生态。现在大家都用arm指令集,自然软件,操作系统都对arm有各种优化,现在突然来个x86,小的应用厂商已经建立起arm的开发体系和人才队伍了,要真让他们在支持x86,那真是太难为他们了。大厂,比如苹果三星,都自己做处理器,也是arm指令集的,更加没有必要用x86了。应该说x86在移动端已经很难挤进去了
x86的性能功耗比其实不逊于ARM。参见 、
看了上面的回答,都没抓住重点.....lz的感觉是i5的平板和arm平板“实际执行效果差不多”...其实是因为lz不知道i5平板运行的win8系统和arm平板运行的win rt系统根本不是一回事,虽然外观很象.....跨平台app当然外观一致,执行效果也一致----它们都要以最慢的平台为基准,比如游戏,你rt下正常,到了win8下快几倍那还能玩吗?而真正对性能或资源有要求的软件,你win rt下根本就不可能安装。总之强大的i5平板把自己扮成弱得多的arm平板毫无困难,但是强大的性能当然需要更大的功耗。两者可以拿摩托和载重卡车打比方,你都可以载个妹子兜风,但是你不能嫌卡车耗油比摩托多.....i5平板和arm平板不管从软硬件都有很大不同,可以说摩托和重卡的比喻在两方面都是有效的。
1. 硬件上,发热除了处理器,还要看电源管理芯片,这两款是主要的源头,电源管理芯片和处理器,是配套的。如果i5的源头设计是PC的话,那么无论是处理器,还是电源管理芯片,都会缺乏低功耗的处理。这个是芯片设计的时候决定的。2. 对于软件上,windows phone已经做了类似android的优化,问题不大
已有帐号?
无法登录?
社交帐号登录arm与x86优劣比较
一、背景知识:
指令的强弱是CPU的重要指标,指令集是提高微处理器效
率的最有效工具之一。
从现阶段的主流体系结构讲,指令集可分为复杂指令集
(CISC)和精简指令集(RISC)两部分。
相应的,微处理随着微指令的复杂度也可分为CISC及
RISC这两类。
是一种为了便于编程和提高记忆体访问效率的晶片设计体
系。在20世纪90年代中期之前,大多数的微处理器都采
用CISC体系──包括Intel的80x86和Motorola的68K系列
等。 即通常所说的X86架构就是属于CISC体系的。
是为了提高处理器运行的速度而设计的晶片体系。它的关
键技术在于流水线操作(Pipelining):在一个时钟周期
里完成多条指令。而超流水线以及超标量技术已普遍在晶
片设计中使用。RISC体系多用于非x86阵营高性能微处理
器CPU。像HOLTEK MCU系列等。
ARM ( Advanced RISC Machines ),既可以认为是一
个公司的名字,也可以认为是对一类微处理器的通称,还
可以认为是一种技术的名字。而ARM体系结构目前被公
认为是业界领先的32 位嵌入式RISC 微处理器结构。 所有
ARM处理器共享这一体系结构。
因此我们可以从其所属体系比较入手,来进行X86指令集
与ARM指令集的比较。
二、CISC和RISC的比较
.CISC体系的指令特征
使用微代码。
指令集可以直接在微代码记忆体(比主记忆体的速度快很
多)里执行,新设计的处理器,只需增加较少的电晶体就
可以执行同样的指令集,也可以很快地编写新的指令集程
庞大的指令集。
可以减少编程所需要的代码行数,减轻程式师的负担。高
阶语言对应的指令集:包括双运算元格式、寄存器到寄存
器、寄存器到记忆体以及记忆体到寄存器的指令。
.CISC体系的优缺点
能够有效缩短新指令的微代码设计时间,允许设计师实现
CISC体系机器的向上相容。
新的系统可以使用一个包含早期系统的指令超集合,也就
可以使用较早电脑上使用的相同软体。另外微程式指令的
格式与高阶语言相匹配,因而编译器并不一定要重新编
指令集以及晶片的设计比上一代产品更复杂,不同的指
令,需要不同的时钟周期来完成,执行较慢的指令,将影
响整台机器的执行效率。
(二)RISC
.RISC体系的指令特征
精简指令集:
包含了简单、基本的指令,透过这些简单、基本的指令,
就可以组合成复杂指令。
同样长度的指令:
每条指令的长度都是相同的,可以在一个单独操作里完
单机器周期指令:
大多数的指令都可以在一个机器周期里完成,并且允许处
理器在同一时间内执行一系列的指令。
.RISC体系的优缺点
在使用相同的晶片技术和相同运行时钟下,RISC系统的
运行速度将是CISC的2~4倍。由于RISC处理器的指令集
是精简的,它的记忆体管理单元、浮点单元等都能设计在
同一块晶片上。RISC处理器比相对应的CISC处理器设计
更简单,所需要的时间将变得更短,并可以比CISC处理
器应用更多先进的技术,开发更快的下一代处理器。
多指令的操作使得程式开发者必须小心地选用合适的编译
器,而且编写的代码量会变得非常大。另外就是RISC体
系的处理器需要更快记忆体,这通常都集成于处理器内
部,就是L1 Cache(一级缓存)。
综合上面所述,若要再进一步比较CISC与RISC之差异,
可以由以下几点来进行分析:
1、指令的形成
因指令复杂,故采微指令码控制单元的设计,而RISC的
指令90%是由硬体直接完成,只有10%的指令是由软体以
组合的方式完成,因此指令执行时间上RISC较短,但
RISC所须ROM空间相对的比较大,至于RAM使用大小应
该与程序的应用比较有关系。
2、定址模式
的需要较多的定址模式,而RISC只有少数的定址模式,
因此CPU在计算记忆体有效位址时,CISC占用的汇流排周
3、指令的执行
指令的格式长短不一,执行时的周期次数也不统一,而
RISC结构刚好相反,故适合采用管线处理架构的设计,
进而可以达到平均一周期完成一指令的方向努力。显然
的,在设计上RISC较CISC简单,同时因为CISC的执行步
骤过多,闲置的单元电路等待时间增长,不利于平行处理
的设计,所以就效能而言RISC较CISC还是站了上风,但
RISC因指令精简化后造成应用程式码变大,需要较大的
程式记忆体空间,且存在指令种类较多等等的缺点。
(三)X86指令集和ARM指令集:
(1) X86指令集:
指令集是Intel为其第一块16位CPU(i8086)专门开发的,
后来的电脑中为提高浮点数据处理能力而增加的X87芯片
系列数学协处理器另外使用X87指令,以后就将X86指令
集和X87指令集统称为X86指令集。虽然随着CPU技术的
不断发展,Intel陆续研制出更新型的i80386、i80486,
但为了保证电脑能继续运行以往开发的各类应用程序以保
护和继承丰富的软件资源,所以Intel公司所生产的所有
CPU仍然继续使用X86指令集,所以它的CPU仍属于X86
系列。由于Intel X86系列及其兼容CPU都使用X86指令
集,所以就形成了今天庞大的X86系列及兼容CPU阵容。
除了具备上述CISC的诸多特性外,X86指令集有以下几个
突出的缺点:
l 通用寄存器组————对CPU内核结构的影响
X86指令集只有8个通用寄存器。所以,CISC的CPU执行
是大多数时间是在访问存储器中的数据,而不是寄存器中
的。这就拖慢了整个系统的速度。
RISC系统往往具有非常多的通用寄存器,并采用了重叠
寄存器窗口和寄存器堆等技术使寄存器资源得到充分的利
l 解码————对CPU的外核的影响
解码器(Decode Unit),这是x86CPU才有的东西。其
作用是把长度不定的x86指令转换为长度固定的类似于
RISC的指令,并交给RISC内核。解码分为硬件解码和微
解码,对于简单的x86指令只要硬件解码即可,速度较
快,而遇到复杂的x86指令则需要进行微解码,并把它分
成若干条简单指令,速度较慢且很复杂。Athlon也好,
PIII也好,老式的CISC的X86指令集严重制约了他们的性
l 寻址范围小——约束了用户需要
研发出X86-64架构时,虽然也解决了传统X86固有的一些
缺点,比如寻址范围的扩大,但这种改善并不能直接带来
性能上的提升。
(2) ARM指令集:
相比而言,以RISC为架构体系的ARM指令集的指令格式
统一,种类比较少,寻址方式也比复杂指令集少。当然处
理速度就提高很多。ARM处理器都是所谓的精简指令集
处理机(RISC)。
其所有指令都是利用一些简单的指令组成的,简单的指令
意味着相应硬件线路可以尽量做到最佳化,而提高执行速
率,相对的使得一个指令所需的时间减到最短。
而因为指令集的精简,所以许多工作都必须组合简单的指
令,而针对较复杂组合的工作便需要由『编译程式』
(compiler) 来执行,而 CISC 体系的X86指令集因为硬体
所提供的指令集较多,所以许多工作都能够以一个或是数
个指令来代替,compiler 的工作因而减少许多。
除了具备上述RISC的诸多特性之外,可以总结ARM指令
集架构的其它一些特点如下:
1. 体积小,低功耗,低成本,高性能
2. 支持 Thumb ( 16 位) /ARM ( 32 位)双指令集,
能很好的兼容 8 位 /16 位器件;
3. 大量使用寄存器,指令执行速度更快;
4. 大多数数据操作都在寄存器中完成;
5. 寻址方式灵活简单,执行效率高;
6. 指令长度固定;
7. 流水线处理方式
8. Load_store结构
l ARM的一些非RISC
思想的指令架构:
1. 允许一些特定指令的执行周期数字可变,以降低功
耗,减小面积和代码尺寸。
2. 增加了桶形移位器来扩展某些指令的功能。
3. 使用了16位的Thumb指令集来提高代码密度。
4. 使用条件执行指令来提高代码密度和性能。
5. 使用增强指令来实现数据信号处理的功能。
(四)小结:
因此,大量的复杂指令、可变的指令长度、多种的寻址方
式这些CISC的特点,也是CISC的缺点,因为这些都大大
增加了解码的难度,而在现在的高速硬件发展下,复杂指
令所带来的速度提升早已不及在解码上浪费点的时间。除
了个人PC市场还在用X86指令集外,服务器以及更大的系
统都早已不用CISC了。x86仍然存在的理由就是为了兼容
大量的x86平台上的软件,同时,它的体系结构组成的实
现不太困难。
而RISC体系的ARM指令最大特点是指令长度固定,指令
格式种类少,寻址方式种类少,大多数是简单指令且都能
在一个时钟周期内完成,易于设计超标量与流水线,寄存
器数量多,大量操作在寄存器之间进行。优点是不言而喻
的,因此,ARM处理器才成为是当前最流行的处理器系
列,是几种主流的嵌入式处理体系结构之一。
目前正如日中天,Intel似乎也将最终抛弃x86而转向RISC
而实际上,随着RISC处理器在嵌入式领域中大放异彩,
传统的X86系列CISC处理器在Intel公司的积极改进下也克
服了功耗过高的问题,成为一些高性能嵌入式设备的最佳
选择,发展到今天,CISC与RISC之间的界限已经不再是
那么泾渭分明,RISC自身的设计正在变得越来越复杂
(当然并不是完全依着CISC的思路变复杂),因为所有
实际使用的CPU都需要不断提高性能,所以在体系结构中
加入新特点就在所难免。另一方面,原来被认为是CISC
体系结构的处理器也吸收了许多RISC的优点,比如
Pentium处理器在内部的实现中也是采用的RISC的架构,
复杂的指令在内部由微码分解为多条精简指令来运行,但
是对于处理器外部来说,为了保持兼容性还是以CISC风
格的指令集展示出来。
& && && && && && && && && && && && && &( 转自MZ论坛)
该帖共收到 10 条回复!
发表于 日 16:43
feahgeaheahea
发表于 日 16:44
发表于 日 16:47
发表于 日 16:50
长!看的头疼,
发表于 日 16:54
你就直接说谁更好吧
发表于 日 17:58
发表于 日 18:17
发表于 日 18:41
发表于 日 18:52
上计算机体系结构啊
发表于 日 23:15
楼主犹如他的签名一样有谁知道ARM架构和X86架构的大概区别?_百度知道
有谁知道ARM架构和X86架构的大概区别?
提问者采纳
ARM处理器非常适用于移动通讯领域,另外ARM更节能。ARM架构是ARM指令集。
X86架构是X86指令集,它属于CISC指令集。由于节能的特点,符合其主要设计目标为低耗电的特性。主要是复杂指令集和精简指令集的区别,同时同样的芯片面积ARM可制成更多核的处理器,属于RISC指令集,其广泛地使用在许多嵌入式系统设计ARM架构是一个32位元精简指令集(RISC) 中央处理器架构。 CPU的寄存器和指令完全不同
提问者评价
Thank you!
来自团队:
其他类似问题
为您推荐:
二胎政策的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁ARM微处理器和x86系列处理器的区别_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
ARM微处理器和x86系列处理器的区别
上传于||文档简介
&&详​细​讲​述​嵌​入​式​A​R​M​微​处​理​器​和​x6​系​列​处​理​器​的​区​别​,​希​望​您​能​理​解
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 arm与x86的区别 的文章

 

随机推荐