一文读懂中央处理器的架构
扫描二维码
随时随地手机看文章
中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字面意思看运算器就是起着运算的作用,控制器就是负责发出CPUÿ条指令所需要的信息,寄存器就是保存运算或者指令的一些临时文件,这样可以保证更高的速度。
CPU有着处理指令、执行操作、控制时间、处理数据四大作用,打个比喻来说,CPU就像我们的大脑,帮我们完成各种各样的生理活动。因此如果û有 CPU,那ô电脑就是一堆废物,无法工作。移动设备其实很复杂,这些CPU需要执行数以百万计的指示,才能使它向我们期待的方向运行,而CPU的速度和功率效率是至关重要的。速度影响用户体验,而效率影响电池寿命。最完美的移动设备是高性能和低功耗相结合。
CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。
在计算世界中,“体系结构”一词被用来描述一个抽象的机器,而不是一个具体的机器实现。 一般而言,一个CPU的体系结构有一个指令集加上一些寄存器而组成。
从CPU发明到现在,有非常多种架构,从我们熟悉的X86、ARM,到不太熟悉的MIPS、IA64,它们之间的差距都非常大。但是如果从最基本的逻辑角度来分类的话,它们可以被分为两大类,即所ν的“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。
“指令集”与“体系结构”这两个术语是同义词。x86、ARM、MIPS算是是目前最常见也相对最知名的处理器架构。 ·
x86架构
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架构
ARM架构(过去称作进阶精简指令集机器(Advanced RISC Machine),更早称作Acorn RISC Machine)是一个32λ元精简指令集(RISC) 中央处理器(processor)架构,其广泛地使用在许多嵌入式系统(embedded)设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。在今日,ARM家族占了所有32λ元嵌入式处理器75%的比例[1],使它成为占全世界最多数的32λ元架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多ý体播放器、掌上型电玩,和计算机)到电脑周边设备(硬盘、桌上型·由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此家族中衍伸的重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。
ARM架构包含了下述RISC特性:
1、读取/储存 架构。
2、正交指令集(任意存取指令可以任意的寻址方式存取数据Orthogonal instruction set)
3、大量的16 × 32-bit 寄存器阵列(register file)。
4、固定的32 bits 操作码(opcode)长度,降低编码数量所产生的耗费,减轻解码和流水线化的负担。
5、大多均为一个CPU周期执行。