X86与ARM的区别
X86由英特尔公司开发,并且统治了几十年。X86反应快,在PC 应用广泛。
X86与ARM最大不同在于指令集上,X86硬件有优势.但是带来的功耗大。ARM构架指令,执行起来快功耗也低.。现在智能手机和平板很火,平板电脑要求便携和续航能力.ARM构架具有低功耗,使之有了市场.那么为什么没有得到普及?原因主要有2点:在执行大的指令ARM很困难.当下软件都是基于X86构架下开发的,ARM是不能兼容的.软件必须改写代码才能用在ARM构架。ARM的资源少也是一个重要原因
AMD公司会大力度开发ARM构架.但是完全放弃X86还为时过早,毕竟在PC领域还是x86的天下。
WIN8系统支持ARM与X86两种构架
一、背景知识:
指令的强弱是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集(CISC)和精简指令集(RISC)两部分。相应的,微处理随着微指令的复杂度也可分为CISC及RISC这两类。CISC是一种为了便于编程和提高记忆体访问效率的晶片设计体系。在20世纪90年代中期之前,大多数的微处理器都采用CISC体系──包括Intel的80x86
和Motorola的68K系列等。即通常所说的X86架构就是属于CISC 体系的。RISC是为了提高处理器运行的速度而设计的晶片体系。它的关键技术在于流水线操作(Pipelining):在一个时钟周期里完成多条指令。而超流水线以及超标量技术已普遍在晶片设计中使用。RISC体系多用于非x86阵营高性能微处理器CPU。像HOLTEK MCU 系列等。ARM (Advanced RISC Machines ),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。而ARM体系结构目前被公认为是业界领先的32 位嵌入式RISC 微处理器结构。所有ARM处理器共享这一体系结构。因此我们可以从其所属体系比较入手,来进行X86指令集与ARM 指令集的比较。
二、CISC和RISC的比较
(一)CISC
CISC体系的指令特征使用微代码。指令集可以直接在微代码记忆体(比主记忆体的速度快很多)里执行,新设计的处理器,只需增加较少的电晶体就可以执行同样的指令集,也可以很快地编写新的指令集程式。庞大的指令集。可以减少编程所需要的代码行数,减轻程式师的负担。高阶语言对应的指令集:包括双运算元格式、寄存器到寄存器、寄存器到记忆体以及记忆体到寄存器的指令。2.CISC体系的优缺点优点:能够有效缩短新指令的微代码设计时间,允许设计师
实现CISC体系机器的向上相容。新的系统可以使用一个包含早期系统的指令超集合,也就可以使用较
早电脑上使用的相同软体。另外微程式指令的格式与高阶语言相匹配,因而编译器并不一定要重新编写。缺点:指令集以及晶片的设计比上一代产品更复杂,不同的指令,需要不同的时钟周期来完成,执行较慢的指令,将影响整台机器的执行效率。
(二)RISC
1.RISC体系的指令特征精简指令集:包含了简单、基本的指令,透过这些简单、基本的指令,就可以组合成复杂指令。同样长度的指令:每条指令的长度都是相同的,可以在一个单独操作里完成。单机器周期指令:大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。
2.RISC体系的优缺点优点:在使用相同的晶片技术和相同运行时钟下,RISC系统的运行速度将是CISC的2~4倍。由于RISC处理器的指令集是精简的,它的记忆体管理单元、浮点单元等都能设计在同一块晶片上。RISC处理器比相对应的CISC处理器设计更简单,所需要的时间将变得更短,并可以比CISC处理器应用更多先进的技术,开发更快的下一代处理器。缺点:多指令的操作使得程式开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。另外就是RISC体系的处理器需要更快记忆体,这通常都集成于处理器
内部,就是L1 Cache(一级缓存)。综合上面所述,若要再进一步比较CISC与RISC之差异,可以由
以下几点来进行分析:
1、指令的形成CISC因指令复杂,故采用微指令码控制单元的设计,而RISC的指令90%是由硬体直接完成,只有10%的指令是由软体以组合的方式完成,因此指令执行时间上RISC较短,但RISC 所须ROM空间相对的比较大,至于RAM使用大小应该与程序的应用比较有关系。
2、定址模式:CISC的需要较多的定址模式,而RISC只有少数的定址模式,因此CPU在计算记忆体有效位置时,CISC占用的汇流排周期较多。
x86架构和arm架构区别3、指令的执行CISC指令的格式长短不一,执行时的周期次数也不统一,而RISC结构刚好相反,故适合采用管线处理架构的设计,进而可以达到平均一周期完成一指令的方向努力。显然的,在设计上RISC较CISC简单,同时因为CISC的执行步骤过多,闲置的单元电路等待时间增长,不利于平行处理的设计,所以就效能而言RISC较CISC还是站了上风,但RISC因指令精简化后造成应用程式码变大,需要较大的程式记忆体空间,且存在指令种类较多等等的缺点。
三、X86指令集和ARM指令集
(1) X86指令集:
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指令集有以下几个突出的缺点:
1. 通用寄存器组——对CPU内核结构的影响X86指令集只有8个通用寄存器。所以,CISC的CPU执行是大多数时间是在访问存储器中的数据,而不是寄存器中的。这就拖慢了整个系统的速度。RISC系统往往具有非常多的通用寄存器,并采用了重叠寄存器窗口和寄存器堆等技术使寄存器资源得到充分的利用。
2.解码——对CPU的外核的影响解码器(Decode Unit),这是x86CPU才有的东西。其作用是把长度不定的x86指令转换为长度固定的类似于RISC的指令,并交给RISC内核。解码分为硬件解码和微解码,对于简单的x86指令只要硬件解码即可,速度较快,而遇到复杂的x86指令则需要进行微解码,并把它分成若干条简单
指令,速度较慢且很复杂。Athlon也好,PIII也好,老式的CISC 的X86指令集严重制约了他们的性能表现。
3.寻址范围小——约束了用户需要,即使AMD研发出X86-64架构时,虽然也解决了传统X86固有的一些缺点,比如寻址范围的扩大,但这种改善并不能直接带来性能上的提升。
(2) ARM指令集:
相比而言,以RISC为架构体系的ARM指令集的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多。ARM处理器都是所谓的精简指令集处理机(RISC)。其所有指令都是利用一些简单的指令组成的,简单的指令意味着相应硬件线路可以尽量做到最佳化,而提高执行速率,相对的使得一个指令所需的时间减到最短。而因为指令集的精简,所以许多工作都必须组合简单的指令,而针对较复杂组合的工作便需要由『编译程式』(compiler) 来执行,而CISC 体系的X86指令集因为硬体所提供的指令集较多,所以许多工作都能够以一个或是数个指令来代替,compiler 的工作因而减少许多。除了具备上述RISC的诸多特性之外,可以总结ARM 指令集架构的其它一些特点如下:
ARM的特点
1.体积小,低功耗,低成本,高性能
2.支持Thumb (16 位)/ARM (32 位)双指令集,能很好的兼容8 位/16 位器件;
3.大量使用寄存器,指令执行速度更快;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论