CPU由运算器、控制器和寄存器组。是计算机的核心,对计算机的整体性能有着决定性的影响。CPU是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
CPU 由运算器、控制器和寄存器组。是计算机的核心,对计算机的整体性能有着决定性的影响。CPU 是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
CPU 主要功能处理指令指控制程序中指令的执行顺序,程序中的各指令之间是有严格顺序的,必须严格按程序规定的顺序执行,才能保证计算机系统工作的正确性。还有执行操作、控制时间、处理数据功能。
一、CPU 的内核
从结构上讲 CPU 内核分为两部分:运算器和控制器。
(一) 运算器
1、 算术逻辑运算单元 ALU(Arithmetic and Logic Unit)
ALU 主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。在某些 CPU 中还有专门用于处理移位操作的移位器。
通常 ALU 由两个输入端和一个输出端。整数单元有时也称为 IEU(Integer Execution Unit)。我们通常所说的“CPU 是 XX 位的”就是指 ALU 所能处理的数据的位数。
2、 浮点运算单元 FPU(Floating Point Unit)
FPU 主要负责浮点运算和高精度整数运算。有些 FPU 还具有向量运算的功能,另外一些则有专门的向量处理单元。
3、 通用寄存器组
通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。
对于 x86 指令集只支持 8 个通用寄存器的缺点,Intel 最新 CPU 采用了一种叫做“寄存器重命名”的技术,这种技术使 x86CPU 的寄存器可以突破 8 个的限制,达到 32 个甚至更多。
4、 专用寄存器
专用寄存器通常是一些状态寄存器,不能通过程序改变,由 CPU 自己控制,表明某种状态。
(二) 控制器
运算器只能完成运算,而控制器用于控制着整个 CPU 的工作。
1、 指令控制器
指令控制器是控制器中相当重要的部分,它要完成取指令、分析指令等操作,然后交给执行单元(ALU 或 FPU)来执行,同时还要形成下一条指令的地址。
2、 时序控制器
时序控制器的作用是为每条指令按时间顺序提供控制信号。时序控制器包括时钟发生器和倍频定义单元,其中时钟发生器由石英晶体振荡器发出非常稳定的脉冲信号,就是 CPU 的主频;而倍频定义单元则定义了 CPU 主频是存储器频率(总线频率)的几倍。
3、 总线控制器
总线控制器主要用于控制 CPU 的内外部总线,包括地址总线、数据总线、控制总线等等。
4、中断控制器
中断控制器用于控制各种各样的中断请求,并根据优先级的高低对中断请求进行排队,逐个交给 CPU 处理。
二、CPU 的外核
1、解码器(Decode Unit)
这是 x86CPU 特有的设备,它的作用是把长度不定的 x86 指令转换为长度固定的指令,并交由内核处理。解码分为硬件解码和微解码,对于简单的 x86 指令只要硬件解码即可,速度较快,而遇到复杂的 x86 指令则需要进行微解码,并把它分成若干条简单指令,速度较慢且很复杂。好在这些复杂指令很少会用到。
2、一级缓存和二级缓存(Cache)
一级缓存和二级缓存是为了缓解较快的 CPU 与较慢的存储器之间的矛盾而产生的,以及缓存通常集成在 CPU 内核,而二级缓存则是以 OnDie 或 OnBoard 的方式以较快于存储器的速度运行。对于一些大数据交换量的工作,CPU 的 Cache 显得尤为重要。
三、指令系统
要讲 CPU,还要了解一下指令系统。指令系统指的是一个 CPU 所能够处理的全部指令的集合,是一个 CPU 的根本属性,因为指令系统决定了一个 CPU 能够运行什么样的程序。我们常说的 CPU 都是 X86 系列及兼容 CPU ,所谓 X86 指令集是美国 Intel 公司为其第一块 16 位 CPU(i8086)专门开发的,虽然随着 CPU 技术的不断发展,Intel 陆续研制出更新型的 i80386、i80486 直到今天的 Pentium4 系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源(如 Windows 系列),Intel 公司所生产的所有 CPU 仍然继续使用 X86 指令集。 另外除 Intel 公司之外,AMD 和 Cyrix 等厂家也相继生产出能使用 X86 指令集的 CPU,由于这些 CPU 能运行所有的为 Intel CPU 所开发的各种软件,所以电脑业内人士就将这些 CPU 列为 Intel 的 CPU 兼容产品。
四、CPU 主要技术浅析
1、流水线技术
流水线(pipeline)是 InteI 首次在 486 芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在 CPU 中由 5~6 个不同功能的电路单元组成一条指令处理流水线,然后将一条 X86 指令分成 5~6 步后再由这些电路单元分别执行,这样就能实现在一个 CPU 时钟周期完成一条指令,从而提高了 CPU 的运算速度。
2、超流水线和超标量技术
超流水线是指某些 CPU 内部的流水线超过通常的 5~6 步以上,例如 Intel Pentium 4 的流水线就长达 20 步。将流水线设计的步(级)数越多,其完成一条指令的速度越快,因此才能适应工作主频更高的 CPU。超标量(supe rscalar)是指在 CPU 中有一条以上的流水线,并且每时钟周期内可以完成一条以上的指令,这种设计就叫超标量技术。
3、乱序执行技术
乱序执行(out-of-orderexecution)是指 CPU 采用了允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。比方说程序某一段有 7 条指令,此时 CPU 将根据各单元电路的空闹状态和各指令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应电路执行。当然在各单元不按规定顺序执行完指令后还必须由相应电路再将运算结果重新按原来程序指定的指令顺序排列后才能返回程序。这种将各条指令不按顺序拆散后执行的运行方式就叫乱序执行(也有叫错序执行)技术。采用乱序执行技术的目的是为了使 CPU 内部电路满负荷运转并相应提高了 CP U 的运行程序的速度。
4、分技预溯和推测执行技术
分枝预测(branch prediction)和推测执行(speculatlon execution) 是 CPU 动态执行技术中的主要内容,动态执行是目前 CPU 主要采用的先进技术之一。采用分枝预测和动态执行的主要目的是为了提高 CPU 的运算速度。推测执行是依托于分枝预测基础上的,在分枝预测程序是否分枝后所进行的处理也就是推测执行.
5、指令特殊扩展技术
自最简单的计算机开始,指令序列便能取得运算对象,并对它们执行计算。对大多数计算机而言,这些指令同时只能执行一次计算。如需完成一些并行操作,就要连续执行多次计算。此类计算机采用的是“单指令单数据”(SISD)处理器。在介绍 CPU 性能中还经常提到“扩展指令”或“特殊扩展”一说,这都是指该 CPU 是否具有对 X86 指令集进行指令扩展而言。扩展指令中最早出现的是 InteI 公司的“MMX”,然后是 Pentium III 中的“SSE”,以及现在 Pentium 4 中的 SSE2 指令集。
五、CPU 的构架和封装方式
(一) CPU 的构架
CPU 架构是按 CPU 的安装插座类型和规格确定的。目前常用的 CPU 按其安装插座规范可分为 Socket x 和 Slot x 两大架构。
以 Intel 处理器为例,Socket 架构的 CPU 中分为 Socket 370、Socket 423 和 Socket 478 三种,分别对应 Intel PIII/Celeron 处理器、P4 Socket 423 处理器和 P4 Socket 478 处理器。Slot x 架构的 CPU 中可分为 Slot 1、Slot 2 两种,分别使用对应规格的 Slot 槽进行安装。其中 Slot 1 是早期 Intel PII、PIII 和 Celeron 处理器采取的构架方式,Slot 2 是尺寸较大的插槽,专门用于安装 PⅡ和 P Ⅲ序列中的 Xeon。Xeon 是一种专用于工作组服务器上的 CPU。
(二) CPU 的封装方式
所谓封装是指安装半导体集成电路芯片用的外壳,通过芯片上的接点用导线连接到封装外壳的引脚上,这些引脚又通过印刷电路板上的插槽与其他器件相连接。它起着安装、固定、密封、保护芯片及增强电热性能等方面的作用。
CPU 的封装方式取决于 CPU 安装形式,通常采用 Socket 插座安装的 CPU 使用 PGA(栅格阵列)的形式进行封装,而采用 Slot X 槽安装的 CPU 则全部采用 SEC(单边接插盒)的形式进行封装。
1. PGA(Pin Grid Arrax)引脚网格阵列封装
目前 CPU 的封装方式基本上是采用 PGA 封装,在芯片下方围着多层方阵形的插针,每个方阵形插针是沿芯片的四周,间隔一定距离进行排列的。它的引脚看上去呈针状,是用插件的方式和电路板相结合。安装时,将芯片插入专门的 PGA 插座。PGA 封装具有插拔操作更方便,可靠性高的优点,缺点是耗电量较大。PGA 也衍生出多种封装方式,最早的 PGA 封装适用于 Intel Pentium、Intel Pentium PRO 和 Cxrix/IBM 6×86 处理器; CPGA(Ceramic Pin Grid Arrax,陶瓷针形栅格阵列)封装,适用于 Intel Pentium MMX、AMD K6、AMD K6-2、AMD K6 Ⅲ、VIA Cxrix Ⅲ处理器;PPGA(Plastic Pin Grid Arrax,塑料针状矩阵)封装,适用于 Intel Celeron 处理器(Socket 370);FC-PGA(Flip Chip Pin Grid Arrax,反转芯片针脚栅格阵列)封装,适用于 Coppermine 系列 Pentium Ⅲ、Celeron Ⅱ和 Pentium4 处理器。
2. SEC(单边接插卡盒)封装
Slot X 架构的 CPU 不再用陶瓷封装,而是采用了一块带金属外壳的印刷电路板,该印刷电路板集成了处理器部件。SEC 卡的塑料封装外壳称为 SEC(Single Edgecontact Cartridge)单边接插卡盒。这种 SEC 卡设计是插到 Slot X(尺寸大约相当于一个 ISA 插槽那么大)插槽中。所有的 Slot X 主板都有一个由两个塑料支架组成的固定机构,一个 SEC 卡可以从两个塑料支架之间插入 Slot X 槽中。
其中,Intel Celeron 处理器(Slot 1)是采用(SEPP)单边处理器封装;Intel 的 PentiumⅡ是采用 SECC(Single Edge Contact Connector,单边接触连接)的封装;Intel 的 PentiumⅢ是采用 SECC2 封装。