浅谈ARM处理器与X86处理器的区别

现在的手机以及平板相比过去的同类产品,性能委实提升不是一点半点。从最早玩个简单的小游戏都艰难无比,到现在可以运行大型3D游戏;从看低分辨率的3GP格式视频,到现在可以播放1080P全高清视频……智能移动设备性能的飞跃让不少人产生了一个念头:现在的ARM处理器在性能上是不是已经可以和桌面处理器相比了?下面我们就具体架构和设计来谈谈两种处理器的区别。

ARM处理器的黄金年代


    首发需要了解的是,ARM并不是产品的名字,而是一种处理器的架构,最早的ARM处理器诞生于1985年。ARM处理器被广泛应用于嵌入式设备中,到2009年,ARM架构处理器占了市面上所有32位嵌入式RISC处理器90%的比例,使它成为占全世界最多数的32位架构处理器。


    从具体设备来看,手机、平板、游戏机以及其他各种小型掌上设备中基本都采用了ARM处理器,从ARM处理器的特点来看,它相对其他处理器架构拥有高性能、低能耗、低成本等优势,所以这也是它被移动设备钟爱的原因。ARM处理器的架构已经更新了很多代,现在最新的架构是ARM V8(相关产品尚未问世)。ARM架构的处理器是以授权的形式进行生产的,ARM公司本身并不生产处理器,只是将相关的架构产权出售给其他公司。所以现在我们看到的三星、高通、NVIDIA、苹果等自己生产的处理器,实际上都是通过了ARM公司的授权,在总的处理器架构上有相同之处。


    说现在是ARM处理器的黄金年代毫不为过,在智能移动设备迅速占据市场之际,ARM处理器的性能也直线提升。现在各家主流的ARM处理器已经跨过双核大关,来到了四核时代。同时根据各家厂商的路线图,只要市场有需要,随时可以生产八核甚至以上的产品,频率也可以提升到2GHz以上。NVIDIA就宣称ARM架构更适合未来高性能、低能耗的需求,是超级计算机最佳的选择。


ARM和X86不具可比性


    但要说ARM处理器的性能已经可以和桌面X86处理器相比,则是一个有趣却又没有什么实际意义的话题。事实上,处理器的架构有很多种,如果要对处理器大的架构进行分类,我们可以分为“CISC”和“RISC”两种,也就是我们常说的“复杂指令集”和“精简指令集”,其中X86就是复杂指令集的代表,而ARM则是精简指令集的代表,ARM的名字就直接表明了它的架构:Advanced RISC Machine——高级RISC机。


    简单而言,复杂指令集和精简指令集的设计思路是完全不同,两种处理器在工作时的思考方式也有很大的区别。复杂指令集更适合处理一些高密度的计算任务,而精简指令集则更适合处理器做一些简单重复的任务。打个比方,如果要让我们执行早上起床上班的任务应该怎么做呢?复杂指令集此时只要对我们下达上班的命令,我们就会自动执行一系列复杂的动作,如起床、穿衣、洗涮、出门、上车等命令;而精简指令集则要单独向我们下达一个一个简单的指令,让我们一步一步执行他下达的命令,最终达成上班的目的。


    这就是两者为什么不好比较性能的原因,这样的思路导致了CISC和RISC两种处理器的巨大差异,前者更加专注于高性能但同时也需要高功耗,而后者则专注于小尺寸低功耗的领域。执行高密度的运算任务的时候CISC更具备优势,而执行简单重复劳动的时候RISC就能占到上风。

 

内存带宽束缚ARM处理器性能


    从指令方式和架构上来,X86和ARM处理器的确没有可比性。但在一点上,X86架构的处理器则稳稳占据了上风,这就是内存带宽。以Core i7为例,搭配高频率的DDR3内存,内存带宽很容易就突破50GB/s(如果是四通道内存,带宽还要上涨),而号称最先进的Tegra3,内存带宽只有可怜的4.2GB/s,两者相差十倍不止。


    如果两者在相同内存带宽下执行“上班”的命令,复杂指令集只需要1个指令,而精简指令集则需要5个指令,这样算下来,复杂指令集的性能实际就是精简指令集的5倍。但是别忘了,现在ARM的处理器内存带宽实际远远落后于X86架构……一个更需要内存带宽的处理器架构,实际内存带宽却比对手落后十倍,它的性能又如何能发挥出来呢?当然,这个结论是基于两者都执行同一个命令的前提下,但ARM处理器在内存带宽上的瓶颈却是不争的事实。


    一旦遇到带宽瓶颈,哪怕ARM处理器已经达到了很高的运算性能,实际上根本发挥不出来。此外,还别忘记了X86处理器目前的指令集比ARM更加先进,同时命令执行能力也要远远优于ARM,从这一些地方来看,说ARM处理器要超过X86,还真说不过去。简而言之,X86处理器实际上是以增加处理器本身复杂度作为代价,去换取更高的性能,而ARM处理器则是将复杂度交给了编译器,牺牲了程序大小和指令带宽,换取了低功耗的硬件实现


编辑点评

强大!但只是在自己的领域中


    ARM处理器现在的确很强大,但和X86相比的确没什么比头。毕竟它们设计的出发点不一样,X86无法做到ARM的功耗,而ARM也无法做到X86的性能。事实上,ATOM不成功也有这方面原因,用自己的短板去和对方竞争,结果总是不好的。不过这并不代表ARM以后就只能占据手机和平板领域,只要能为ARM找到合适的应用与适合的领域,未来ARM也未必不可以进入桌面领域。同样的,X86如果持续发展,不再考虑纯粹的性能,在工艺进步的前提下,它或许也能在平板和手机领域上博得一席之地。


你可能感兴趣的:(装载)