CPU两大架构:X86和ARM

主流的CPU架构包括X86架构和ARM架构。X86架构的CPU是PC服务器行业的老大,ARM架构的CPU则是移动端的老大,两者之间的竞争似乎永远也不会有结局,今天我们就一起来了解一下这些架构之间的区别。

CPU是如何工作的

CPU (Central Processing Unit) 是我们的电脑、手机等设备的“大脑”,但它其实并不聪明,它只能在给定具体指令的情况下才能工作,不同架构的CPU能够识别的指令集(instruction set)不同。

我们手机上跑的各种应用并不是直接通过编写CPU指令来运行的——这样的话就没法做到跨平台地运行了。我们手机上跑的应用是通过高级编程语言,如Java、C++,来编写的,然后再通过编译器编译成不同指令集的指令,从而在ARM, X86等不同架构的CPU上进行运行。指令集就相当于软件和硬件之间的桥梁。

从硬件层面来看,运行指令集种的指令,是需要消耗电能的。不同指令的功耗不同,如果我们想要一个低功耗的CPU,保证指令集相对简单是至关重要的。但是如果我们想要一个高性能、处理能力强大的CPU,往往需要更复杂的指令,这又是以功耗为代价的。这就是ARM和X86在CPU设计上最本质的区别。

CPU两大架构:X86和ARM_第1张图片

X86架构 vs ARM架构

X86和ARM架构最本质的区别在于复杂指令集和精简指令集。

X86是基于复杂指令集(CISC, Complex Instruction Set Computing)。复杂指令集的特点是指令丰富,有专用指令来完成特定的功能,因此处理特殊任务的效率较高。但缺点是CPU需要包含丰富的电路单元,因而面积大、功耗大。

ARM是基于精简指令集(RISC, Reduced Instruction Set Computing),精简指令集顾名思义,指令数有限,设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对复杂的功能,常通过组合指令来完成,因此在RISC机器上实现复杂功能时,可能效率较低。优点是CPU包含较少的单元电路,因而面积小、功耗低,且制造工艺简单、成本相对低廉。

举个乘法的例子来理解一下CISC和RISC的区别:CISC只要下发一条MULT的指令,就可以完成两个数的乘法,而RISC则需要下发一系列指令,包括Load,Prod,Store。

CPU两大架构:X86和ARM_第2张图片
除了指令集方面的区别,X86和ARM在制造工艺,64位计算,异构计算等方面也有一定的区别,感兴趣的同学可以移步这篇文章,在此不作赘述。

未来发展

从目前CPU的发展来看,无论是ARM还是X86,都在努力巩固自己的优势,同时积极吸取对方产品的特色,取长补短,期望有所突破。而除了这两种架构外,RISC-V的发展也是如火如荼,未来形成三分天下的局面也未可知,感兴趣的同学可以移步这篇文章。

无论如何,未来的CPU肯定在朝着高性能、低功耗的方向发展。目前移动计算大潮已经来临,竞争日趋激烈。但说到底就是性能功耗比的竞争,谁能在低功耗下提供高性能,谁就有希望获得成功。未来的处理器,功耗将更低,效能会更高。

你可能感兴趣的:(计算机系统,arm,硬件架构,x86,cpu)