媒体公告
一文读懂CPU架构

发布于:2024-08-03 16:19:30  来源:媒体公告  点击量:14次

  中央处理单元(CPU)主要由运算器、控制器、寄存器三部分所组成,从字面意思看运算器就是起着运算的作用,控制器就是负责发出CPU每条指令所需要的信息,寄存器就是保存运算或者指令的一些临时文件,这样做才能够保证更高的速度。

  CPU有着处理指令、执行操作、控制时间、处理数据四大作用,打个比喻来说,CPU就像我们的大脑,帮我们完成各种各样的生理活动。因此假如没有 CPU,那么电脑就是一堆废物,无法工作。移动电子设备其实很复杂,这些CPU需要执行数以百万计的指示,才能使它向我们期待的方向运行,而CPU的速度和功率效率是至关重要的。速度影响使用者真实的体验,而效率影响电池使用寿命。最完美的移动电子设备是高性能和低功耗相结合。

  CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,最大的目的是为了区分不一样CPU的重要标示。

  在计算世界中,“体系结构”一词被用来描述一个抽象的机器,而不是一个具体的机器实现。一般而言,一个CPU的体系结构有一个指令集加上一些寄存器而组成。

  从CPU发明到现在,有非常多种架构,从我们熟悉的X86、ARM,到不太熟悉的MIPS、IA64,它们之间的差距都非常大。但是如果从最基本的逻辑角度来分类的话,它们能被分为两大类,即所谓的“复杂指令集”与“精简指令集”系统,也就是常常看到的“CISC”与“RISC”。

  “指令集”与“体系结构”这两个术语是同义词。x86、ARM、MIPS算是是目前最常见也相对最知名的处理器架构。·

  x86或80x86是英特尔首先开发制造的一种微处理器体系结构的泛称。该系列较早期的处理器名称是以数字来表示,并以“86”作为结尾,包括Intel 8086、80186、80286、80386以及80486,因此其架构被称为“x86”。

  x86架构于1978年推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人电脑的标准平台,成为了历来最成功的CPU架构。8086是16位元处理器;直到1985年32位元的80386的开发,这个架构都维持是16位元。接着一系列的处理器表示了32位元架构的细微改进,推出了数种的扩充,直到2003年AMD对这个架构发展了64位元的扩充,并命名为AMD64。后来Intel也推出了与之兼容的处理器,并命名为Intel 64。两者一般被统称为x86-64或x64,开创了x86的64位时代。

  Intel早在1990年代就与惠普合作提出了一种用在安腾系列处理器中的独立的64位架构,这种架构被称为IA-64。IA-64是一种崭新的架构,和x86架构绝对没相似性。

  x86架构是重要地可变指令长度的CISC。字组(word, 4字节)长度的内存存取允许不对齐内存位址,字组是以低位字节在前的顺序储存在内存中。向后相容性一直都是在x86架构的发展背后一股驱动力量(设计的需要决定了这项因素而常常导致批评,尤其是来自对手处理器的拥护者和理论界,他们对于一个被广泛认为是落后设计的架构的持续成功感到不解)。但在较新的微架构中,x86处理器会把x86指令转换为更像RISC的微指令再予执行,从而获得可与RISC比拟的超标量性能,而仍就保持向前兼容。

  如今,我们面前的PC机基本都是x86架构计算机。如果你想尝试其他架构的计算机,首先要考虑的是是否放弃Windows系统。(注:Windows 8 起,微软开始支持x86和ARM两种架构) ·

  ARM架构(过去称作进阶精简指令集机器(Advanced RISC Machine),更早称作Acorn RISC Machine)是一个32位元精简指令集(RISC) 中央处理器(processor)架构,其广泛地使用在许多嵌入式系统(embedded)设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。在今日,ARM家族占了所有32位元嵌入式处理器75%的比例[1],使它成为占全世界最多数的32位元架构之一。ARM处理器可以在很多消费性电子科技类产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电玩,和计算机)到电脑周边设备(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此家族中衍伸的重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。

  4、固定的32 bits 操作码(opcode)长度,降低编码数量所产生的耗费,减轻解码和流水线、大多均为一个CPU周期执行。

  为了补强这种简单的设计方式,相较于同时期的处理器如Intel 80286和Motorola 68020,还多加了一些特殊设计:

  1、大部分指令可以条件式地执行,降低在分支时产生的负重,弥补分支预测器(branch predictor)的不足。

  3、32-bit筒型位移器(barrelshifter)可用来执行大部分的算数指令和寻址计算而不会损失效能。

  在今日,ARM家族占了所有32位元嵌入式处理器75%的比例,使它成为占全世界最多数的32位元架构之一。ARM处理器可以在很多消费性电子科技类产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电玩、计算机)到电脑周边设备(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。

  MIPS架构(英语:MIP Sarchitecture,为“无内部互锁流水级的微处理器Microprocessor without Interlocked Pipeline Stages的缩写,也是Millionsof Instructions Per Second的相关语),是一种采取精简指令集(RISC)的处理器架构,1981年出现,由MIPS科技公司开发并授权,广泛被使用在许多电子科技类产品、网络设备、个人娱乐装置与商业装置上。其机制是尽量利用软件办法避免流水线中的数据有关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列新产品为很多计算机公司采用构成各种工作站和计算机系统。

  MIPS是出现最早的商业RISC架构芯片之一。MIPS的系统结构及设计理念比较先进,强调软硬件协同提高性能,同时简化硬件设计。

  2002年,中国科学院计算所开始研发龙芯处理器,采用MIPS架构,但未经MIPS公司的授权,遭到侵权的控告。2007年,中国科学院与MIPS公司达成和解,得到正式授权。中国龙芯2和前代产品采用的都是64位MIPS指令架构。过去,MIPS架构的产品多见于工作站领域,索尼PS2游戏机所用的“Emotion Engine”也采用MIPS指令,这些MIPS处理器的性能都非常强劲,而龙芯2也属于这个阵营,在软件方面与上述产品完全兼容。

  3、MIPS的内核寄存器比ARM多一倍,所以同样的性能下MIPS的功耗会比ARM更低,同样功耗下性能比ARM更高。

  5、有观点认为MIPS的bank寄存器性能也要好于ARM,不过没见过能反映出来的测试。

  以上为MIPS对比ARM架构的优势,接下来我们再看一看MIPS架构的不足之处, 与ARM架构相比,MIPS架构也存在着以下几点不足:

  1、MIPS的内存地址起始有问题,这导致了MIPS在内存和cache的支持方面都有限制,现在的MIPS处理器单内核面对高容量内存时有问题。

  3、MIPS虽然结构更简单,但是到现在还是顺序单****,ARM已经进化到了乱序双****,甚至NV的丹佛已经是乱序三****了。

  商业上二者差别也大,ARM很昂贵,并且不可以随意自行更改内核。而MIPS就要开放的多了。(这也算龙芯为啥不采用ARM架构的原因了。)

  X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多、强得多。X86的CPU的主频随便就是1GHZ以上、双核、四核大行其道,现在通常使用22nm制程的工艺进行生产;而ARM方面:CPU通常是几百兆,最近才出现1G左右的CPU,制程通常使用32nm或45nm制程的工艺,可以说在性能和生产的基本工艺方面ARM根本不是X86结构系统的对手。

  但ARM的优势不在于性能强大而在于效率,ARM采用RISC流水线指令集,在完成综合性工作方面根本就处于劣势,而在一些任务相对固定的应用场合其优势就能发挥得淋漓尽致。

  X86结构的电脑采用“桥”的方式与扩展设备(如:硬盘、内存等)进行连接,而且x86结构的电脑出现了近30年,其配套扩展的设备种类多、价格也比较便宜,所以x86结构的电脑能很容易进行性能扩展,如增加内存、硬盘等。

  X86系统由微软及Intel构建的Wintel联盟一统天下,垄断了个人电脑操作系统近30年,形成巨大的用户群,也深深固化了众多用户的使用习惯,同时x86系统在硬件和软件开发方面已形成统一的标准,几乎所有x86硬件平台都可以直接用微软的视窗系统及现在流行的几乎所有工具软件,所以x86系统在兼容性方面具有无可比拟的优势。

  ARM系统几乎都采用Linux的操作系统,而且几乎所有的硬件系统都要单独构建自己的系统,与其他系统不能兼容,这也导致其应用软件不能方便移植,这一点一直严重制约了ARM系统的发展和应用。

  GOOGLE开发了开放式的Android系统后,统一了ARM结构电脑的操作系统,使新推出基于ARM结构的电脑系,有了统一的、开放式的、免费的

  软件配套、软件开发工具的配套及兼容等工作,X86已经到达非常成熟甚至能够说是完美的境界。所以使用X86电脑系统不仅有大量的第三方软件可供选择也有大量的软件编程工具可以 帮助您完成您所希望完成的工作。

  Arm结构的电脑系统因为硬件性能的制约、操作系统的精简、以及系统兼容等问题的制约,

  因此,基于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也未必不能进入更高的层次。