cpu架构

CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,是为了区分不同类型CPU的重要标示。目前市面上的CPU分类主要分有两大阵营,一个是intel、AMD为首的复杂指令集CPU,另一个是以IBM、ARM为首的精简指令集CPU。两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM公司的CPU是PowerPC架构,ARM公司是ARM架构。

一、X86架构

X86是微处理器执行的计算机语言指令集,指一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。1978年6月8日,Intel 发布了新款16位微处理器 8086,也同时开创了一个新时代:X86架构诞生了。

X86指令集是美国Intel公司为其第一块16位CPU(i8086)专门开发的,美国IBM公司1981年推出的世界第一台PC机中的CPU–i8088(i8086简化版)使用的也是X86指令。

采用CISC(Complex Instruction Set Computer,复杂指令集计算机)架构。与采用RISC不同的是,在CISC处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。

随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的 Pentium 4系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用X86指令集。

二、ARM架构

ARM是高级精简指令集的简称(Advanced RISC Machine),它是一个32位的精简指令集(RISC)架构,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。如今,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置到电脑外设甚至在导弹的弹载计算机等军用设施中都有它的存在。

体积小、低功耗、低成本、高性能——ARM被广泛应用在嵌入式系统中的最重要的原因支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。Load_store结构:在RISC中,所有的计算都要求在寄存器中完成。而寄存器和内存的通信则由单独的指令来完成。而在CSIC中,CPU是可以直接对内存进行操作的。流水线处理方式

Ps : RISC和CISC

  • RISC:精简指令集处理器,Reduced Instruction Set ComputerRISC结构简单,选取了使用频率高的简单指令,指令长度固定,多为单周期指令在功耗、体积、价格等方面有很大优势,多用于嵌入式领域

  • CISC:复杂指令集处理器侧重于硬件执行指令的功能性,CISC指令及处理器的硬件结构复CISC指令复杂,指令长度与周期不固定,在处理能力上有优势

三、RISC-V架构

RISC-V 架构是基于 精简指令集计算(RISC)原理建立的开放 指令集架构(ISA),RISC-V是在指令集不断发展和成熟的基础上建立的全新指令。RISC-V 指令集完全开源,设计简单,易于移植Unix系统,模块化设计,完整工具链,同时有大量的开源实现和流片案例,得到很多芯片公司的认可。

RISC-V 架构的起步相对较晚,但发展很快。它可以根据具体场景选择适合指令集的指令集架构。基于RISC-V 指令集架构可以设计服务器CPU,家用电器CPU,工控CPU和用在比指头小的传感器中的CPU。

四、MIPS架构

MIPS架构(MIPS architecture,为Microprocessor without interlocked piped stages architecture的缩写,亦为Millions of Instructions Per Second的相关语),是一种采取精简指令集(RISC)的处理器架构,1981年出现,由MIPS科技公司开发并授权,广泛被使用在许多电子产品、网络设备、个人娱乐装置与商业装置上。最早的MIPS架构是32位,最新的版本已经变成64位。

x86是PC和服务器的主流,ARM是移动设备的主流,RISC-V可能是未来的主流。

五、ARM与X86架构比较

性能对比

X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多、强得多。X86的CPU的主频随便就是1GHZ以上,双核、四核大行其道,现在通常使用22nm制程的工艺进行生产;而ARM方面,其CPU通常是几百兆,最近才出现1G左右的CPU,制程通常使用32nm或45nm制程的工艺,可以说在性能和生产工艺方面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已经到达非常成熟甚至可以说是完美的境界。所以使用X86电脑系统不仅有大量的第三方软件可供选择也有大量的软件编程工具可以 帮助您完成您所希望完成的工作。

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

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

功耗对比

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

ARM的设计及发展思路是:满足某个特殊方面的应用即可,在某一专项领域是最强的,(哪怕在其他方面一无是处),这样Arm以其不是最强的技术,同样也不是很高级制程的制造工艺,生产出性能不是很强的电脑系统,但在某个专业应用方面则是最好的,特别是在众多终端应用,尤其在移动终端应用上占有绝对优势的统治地位,这个原因就是:功耗。

高功耗导致了一系列X86系统无法解决的问题出现:系统的续航能力弱、体积无法缩小、稳定性差、对使用环境要求高等问题。从这里我们可以看到x86系统与ARM系统是在两个完全不同领域方面的应用,它们之间根本不存在替换性,在服务器、工作站以及其他高性能运算等应用方面,是可以不考虑功耗和使用环境等条件时,X86系统占了优绝对优势。但受功耗、环境等条件制约且工作任务固定的情况下ARM就占有很大的优势,在手持式移动终端领域,X86的功耗更使它英雄毫无用武之地。

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

X86系统和ARM系统应该是两个完全不同领域的应用,如果功能单一又受到环境制约的应用,如:POS、ATM、多媒体广告机(现已经有ARM+DSP的产品)、车载电脑终端等应用,应该首先考虑ARM方案,ARM方案与X86相比,其功耗和成本占有很大优势。

现在ARM很强大,但它距离X86还是非常遥远,毕竟它们设计的出发点不一样, X86无法做到ARM的功耗,而ARM也无法做到X86的性能。不过这也不意味着ARM以后就只能占据低端,毕竟任何架构都有其优点,一旦有应用针对其进行优化,那么就可以扬长避短。X86的繁荣也正是因为整个世界的资源都针对它进行了优化所致。只要能为ARM找到合适的应用与适合的领域,未来ARM也未必不可以进入更高的层次。

参考文献:

处理器架构_百度百科

四大主流cpu架构是什么-常见问题-PHP中文网