一台服务器、一台电脑、一台手机最重要的电子零部件是什么?没错,就是CPU处理器。它主要负责数据计算、控制功能,是最核心的部分。不过你又知道有多少种CPU架构吗?主流的X86、ARM到底有什么区别?
下面就给大家介绍一下几种常见的CPU架构:
X86
1978年6月8日,Intel发布了史诗级的CPU处理器8086,由此X86架构传奇正式拉开帷幕。首次为8086引入X86作为计算机语言的指令集,定义了一些基本使用规则,X86架构使用的是CISC复杂指令集。同时8086处理器的大获成功也直接让Intel成为了CPU巨头,如果你对8086不是那么熟悉,那么一定听过奔腾处理器吧?况且为了纪念8086K诞生40周年,今年Intel发布了一颗纪念限量版的处理器Core i7-8086K,这你都听说过吧?
图片来自Intel官网
IA64(Intel Architecture 64,英特尔架构64)
哇,IA64听起来好陌生,是的,虽然同出Intel之手。但这可以说是失败品。当年X86过渡到64位指令集时,一个不小心被AMD弯道超车,最后只能联合惠普推出了属于自己的IA64指令集,但这也仅限于服务器上,也是Itanium安腾处理器的来历(现在已经凉了)。
图片来自x86-guide
至于IA64究竟是RISC还是CISC指令集的延续,这个真的很难说清楚,但单纯以IA64基于HP的EPIC(Explicitly Parallel Instruction Computers,精确并行指令计算机)来看,似乎更偏向于RISC体系。
MIPS(Microprocessor without interlockedpipedstages,无内部互锁流水级的微处理器)
在上世纪80年代由美国斯坦福大学Hennessy教授的研究小组研发,它采用精简指令系统计算结构(RISC)来设计芯片。和Intel采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。
MIPS自己只进行CPU的设计,之后把设计方案授权给客户,使得客户能够制造出高性能的CPU。
让MIPS出名的,可能是在2007年,中科院计算机研究所的龙芯处理器获得了MIPS的全部专利、指令集授权,中国开始走上了一MIPS为基础的CPU研发道路。
图片来自龙芯官网
PowerPC
PowerPC是有蓝色巨人IBM联合苹果、摩托罗拉公司研发的一种基于RISC精简指令集的CPU,PowerPC架构最大优点是灵活性非常好,核心数目灵活可变,因此在嵌入式设备上具有很高效益,可以针对服务器市场做超多核,针对掌机做双核,因此它具有优异的性能、较低的能量损耗以及较低的散热量。
图片来自wikimedia
ARM(Advanced RISC Machine,进阶精简指令集机器)
ARM可以说是一个异军突起的CPU架构,采用了RISC精简指令集,而且ARM发展到今天,架构上非常灵活,可以根据面向应用场景不同使用不同设计的内核,因此可以广泛用于嵌入式系统中,同时它高度节能的特性,目前各种移动设备中全都是它的身影。据统计,使用ARM架构的芯片年出货量高达200亿片,随着物联网时代降临,对于低功耗性ARM芯片需求量会发生爆炸性增长。
图片来自iFixit
CISC、RISC之争
从上面得知,历史的长河里面,有过许许多多的CPU架构,它们之间的差异性非常大,经过时间、用户的检验,我们平常所接触到CPU架构也就剩X86和ARM两者,按照最核心的不同可以被分为两大类,即“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。
要了解X86和ARM CPU架构,就得先了解CISC复杂指令集和RISC精简指令集 ,因为它们第一个区别就是X86使用了复杂指令集(CISC),而后者使用精简指令集(RISC)。造成他们使用不同该指令集的原因在于,面向的设备、对象、性能要求是不一样。手机SoC普遍都是采用ARM提供的核心作为基础,依据自身需求改变SoC的核心架构,而ARM正正是RISC精简指令集的代表人物。CPU巨头Intel、AMD所采用的X86架构已经沿用了数十年,是CISC复杂指令集的典型代表。
CISC复杂指令系统就是为了增强原有指令的功能,设置更为复杂的新指令实现部分大量重复的软件功能的硬件化。由于早期的电脑主频低、运行速度慢,为了提高运算速度,不得已将更多的复杂指令加入到指令系统中来提高电脑的处理效率,慢慢形成以桌面电脑为首的复杂指令系统计算机。其指令集也是在不断更新增加当中,如Intel为X299平台上的处理器增加了AVX 512指令集,目的就是为了提高某一方面的性能。
虽然CISC可以实现高性能CPU设计,但是设计起来就相当麻烦了,要保持庞大硬件设计正确是一件不容易的事情,还要确保性能有所提升,不能开倒车,因此桌面CPU研发时间也慢慢地变长。这时候,以ARM为首的一些RISC精简指令系统计算机开始崭露头角了。
RISC可以说是从CISC中取其精华去其糟粕,简化指令功能,让指令的平均执行周期减少,达到提升计算机工作主频的目的,同时引入大量通用寄存器减少不必要的读写过程,提高子程序执行速度,这样一来程序运行时间缩短并且减少了寻址,提高了编译效率,最终达到高性能目的。
这两种指令集一直都在求同存异当中,都在追求在体系架构、操作运行、软硬件、编译时间以及运行时间等等诸多因素中做出某种平衡,以此达到当初所设计的高效运转目的。
图片来自新浪博客
功耗上的限制
从CISC、RISC设计思路来看,大家不难发现,他们走的路根本不一样,前者专注于高性能方向,但带来高功耗,而后者专注于做低功耗的嵌入式,对于性能的最强不是太过强劲。因此我们也看到Intel、AMD他们擅长于设计性能超高的X86处理器,而高通、苹果依靠ARM IP授权设计出注重效能的SoC芯片。
就像我们以前所举的例子,Core i7-8086K可以轻易跑出95W功耗,但像高通骁龙845这种最顶级的SoC也不过是5W,只有其1/19,主要是手机尺寸越来越小,电池容量、能量密度发展跟不上,手机所用ARM内核只能是低功耗。
一般来说,处理器的功耗可以随着制造工艺的进步而降低,但近些年来,移动设备所采用的的SoC往往率先使用更小的纳米工艺制程,比方说骁龙845的10nm,虽然里面有取巧成分,但推进速度远远快于Intel的10nm工艺,加之SoC还会有对应的低功耗版本工艺,所以无论是设计上、还是工艺上的差别,都导致了ARM、X86功耗差异非常大。
大小核架构
从前的X86传统CPU,如果是四核或者是双核,内部的四个、两个个核心都是一模一样的,这样的话,由于一旦软件只能调度一个核心,处于高频工作,但由于架构限制,其余核心也要保持同样的高频率和高电压状态,这样就浪费了大量的能量在做无用功。后来就发展出了异步多核,允许不同核心工作在不同频率上,以此换来更低功耗。
由于移动设备更加在意功耗,所以ARM采用了更加激进的做法,八个核里面允许有不同Cortex-A架构核心,那就是著名的ARM bigLITTLE。这样的大小核设计目的很明确,就是在有限的电池容量中,兼顾性能、续航的需求,因此SoC内部的CPU是采用异构计算,既有高性能大核心,也有低功耗小核心。
bigLITTLE架构框架,图片来自ARM官网
芯片设计厂商可以根据自己的需求,设计出有针对性的产品,比方说目前高通骁龙845、华为的麒麟970、联发科Helio X30都是bigLITTLE架构,这样的话如果你只是刷刷微博、朋友圈,那么只需要动用小核心就能完成任务,玩《绝地求生》吃鸡游戏就可能大小核全开,从而保证性能、续航的平衡。
因此ARM的bigLITTLE异步多核架构非常值得参考,甚至传闻称英特尔将在第10代酷睿处理器Lakefield上使用这种技术,高性能大核是Ice lake(下一代Core),低功耗小核心则是Tremont(下一代Atom),因此在整体功耗上控制在35W以内,用于二合一笔记本上。
ARM、X86也能相互融合
之前我们在另一篇超能课堂《手机SoC与电脑的CPU性能究竟差多少?》就总结过,RISC、CISC各有各的优势,目前两者界限开始逐渐变得模糊,现代的CPU往往采用了CISC的外围,而内部则加入了部分RISC的特性,这个也是Intel处理器的开始拥有RISC的典型例子。也就是说其实未来CPU发展方向之一就是融合CISC以及RISC,从软件、硬件上取长补短,进一步提高处理器的并行性以及工艺水平。
X86、ARM在性能、功耗上各占优势,尽管ARM一直想进入高性能服务器市场上,但一直都是雷声大雨点小,前不久想要挑战intel服务器地位的高通,ARM服务器部门直接裁员50%,技术副总裁也不玩了;ARM处理器也期望能获得X86处理器的高性能,以便能用在移动笔记本上,就像刚刚推出的高通骁龙835 Windows笔记本一样,但评价、反映都是平平;Intel利用X86架构Atom做手机SoC,结果还是败给了ARM,亏掉数十亿美元,最终直接砍掉了这个项目,老老实实做X86处理器。
所以说ARM、X86都在各自领域站稳了脚跟,由于设计之初的理念不同,已经很难渗入对方的领域,只能说不断尝试,两者之间的差异在将来可能会缩小,不断借鉴改进。
一文看懂arm架构和x86架构有什么区别
本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能、扩展能力、操作系统的兼容性、软件开发的方便性及可使用工具的多样性及功耗这五个方面详细的对比了arm架构和x86架构的区别,具体的跟随小编一起来了解一下。
什么叫arm架构
ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。
在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。
ARM架构图
下图所示的是ARM构架图。它由32位ALU、若干个32位通用寄存器以及状态寄存器、32&TImes;8位乘法器、32&TImes;32位桶形移位寄存器、指令译码以及控制逻辑、指令流水线和数据/地址寄存器组成。
1、ALU:它有两个操作数锁存器、加法器、逻辑功能、结果以及零检测逻辑构成。
2、桶形移位寄存器:ARM采用了32&TImes;32位的桶形移位寄存器,这样可以使在左移/右移n位、环移n位和算术右移n位等都可以一次完成。
3、高速乘法器:乘法器一般采用“加一移位”的方法来实现乘法。ARM为了提高运算速度,则采用两位乘法的方法,根据乘数的2位来实现“加一移位”运算;ARM高速乘法器采用32&TImes;8位的结构,这样,可以降低集成度(其相应芯片面积不到并行乘法器的1/3)。
4、浮点部件:浮点部件是作为选件供ARM构架使用。FPA10浮点加速器是作为协处理方式与ARM相连,并通过协处理指令的解释来执行。
5、控制器:ARM的控制器采用的是硬接线的可编程逻辑阵列PLA。
6、寄存器
x86架构
目前的PC架构绝大多数都是Intel的X86架构,貌似也是因为INTEL的这个X86架构早就了目前INTEL如日中天的地位。X86架构(The X86 architecture)是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。
当然,这个架构图并不是所有的都是如此,根据不同的主板,平台,架构是略有差别的比如说,目前很多主板已经将北桥集成到CPU当中,将南桥集成为PCH,但大致的框架还是如此的。下面对这个架构图上的各个内容分别进行一些简介。
1:CPU,大家都不陌生的名词,中央处理器,计算机的核心大脑。
2: 北桥(North Bridge Chipset):北桥是电脑主板上的一块芯片,位于CPU插座边,起连接作用。
3:南桥芯片(South Bridge)是主板芯片组的重要组成部分,一般位于主板上离CPU插槽较远的下方,PCI插槽的附近,这种布局是考虑到它所连接的I/O总线较多,离处理器远一点有利于布线。
4: 内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。
5:显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器,是计算机最基本配置、最重要的配件之一。
6:显示j接口
7:网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。
8:声卡的基本功能是把来自话筒、磁带、光盘的原始声音信号加以转换,输出到耳机、扬声器、扩音机、录音机等声响设备,或通过音乐设备数字接口(MIDI)使乐器发出美妙的声音。
9:SATA(Serial Advanced Technology Attachment,串行高级技术附件)是一种基于行业标准的串行硬件驱动器接口,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。
10:硬盘是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。
11:总线
arm架构和x86架构有什么区别
一、性能
X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多、强得多。X86的CPU随便就是1G以上、双核、四核大行其道,通常使用45nm(甚至更高级)制程的工艺进行生产;而ARM方面:CPU通常是几百兆,最近才出现1G左右的CPU,制程通常使用不到65nm制程的工艺,可以说在性能和生产工艺方面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结构的系统推出已经近30年,在此期间,x86电脑经过飞速发展的黄金时期,用户的应用、软件配套、软件开发工具的配套及兼容等工作,已经到达非常成熟甚至可以说是完美的境界。所以使用X86电脑系统不仅有大量的第三方软件可供选择,也有大量的软件编程工具可以帮助您完成您所希望完成的工作。
Arm结构的电脑系统因为硬件性能的制约、操作系统的精简、以及系统兼容等问题的制约,造成Arm结构的电脑系统不可能像X86电脑系统那样有众多的编程工具和第三方软件可供选择及使用,ARM的编程语言大多采用C和JAVA。
对这一点的比较,更直接的结论是:基于x86结构电脑系统平台开发软件比arm结构系统更容易、更简单、实际成本也更低,同时更容易找到第三方软件(免去自己开发的时间和成本),而且软件移植更容易。
从以上对比分析,给了我们的一个很清晰的感觉,ARM和X86结构的电脑根本就无法对比,ARM根本就不是X86电脑的的对手。是的,如果只考虑上述几个方面的要数,ARM确实无法与X86电脑竞争,甚至连比较的资格都没有。但是近1、2年,ARM的产品在终端应用特别是手持终端应用飞速发展(如:智能手机、平板电脑等),其销售数量已经远远超出x86结构的电脑销售数量,可见ARM是具有其与X86结构电脑不可对比的优势。该优势就是:功耗。
五、功耗
X86电脑因考虑要适应各种应用的需求,其发展思路是:性能+速度。20多年来x86电脑的速度从原来8088的几M发展到现在随便就是几G,而且还是几核,其速度和性能已经提升了千、万倍,技术进步使x86电脑成为大众生活中不可缺少的一部分。但是x86电脑发展的方向和模式,使其功耗一直居高不下,一台电脑随便就是几百瓦,即使是号称低功耗节能的手提电脑或上网本,也有十几、二十多瓦的功耗,这与ARM结构的电脑就无法相比。