我们知道,CPU 是电脑的心脏,是整个系统的核心,它往往也代表着电脑的档次,如昔日的 286、386、486,到今天的Pentium、Pentium II、Pentium III、Pentium 4、K6、K7 等。回顾 CPU 发展的历史长河,从雏形到今天,制造技术已有极大提高,主要表现在集成电子元件越来越多。开始时集成几千个晶体管,现在有几百万、几千万个晶体管,这么多晶体管,你一定会问,它们是如何实现电脑功能、处理电脑数据的?如果你对这个话题感兴趣,让我带你揭开CPU 工作的神秘面纱。在了解CPU 工作之前,先简单谈谈CPU 是如何生产出来的。其实CPU 是用特别纯净的硅材料制造出来的,一个 CPU 芯片包含上百万个精巧的晶体管,人们在一块如同指甲盖大小的硅片上,用化学方法蚀刻或光刻出晶体管。一、CPU原始工作模式——由简单的 0、1 开始想必大家也清楚,CPU 正是由晶体管组合而成,了解晶体管的运作,对了解CPU 的工作有莫大帮助。简单而言,晶体管就是微型的电子开关,它们是构建 CPU 的基石。你可以把一个晶体管想象成一个电灯开关,它们有个操作位,分别代表两种状态:ON(开)和 OFF(关)。这一开一关就相当于晶体管的连通与断开,而这两种状态正好与二进制中的基础状态0 和1 是对应的。但只是 0 和 1 状态的晶体管原理并不简单,它们的发展经过了多年的辛苦研究。在晶体管之前,计算机依靠速度缓慢、低效率的真空电子管和机械开关来处理信息。后来,科研人员把两个晶体管放置到一个硅晶体中,这样便创作出第一个集成电路,后来才有了中央处理器。看到这里,你一定想知道,晶体管是如何利用 0 和 1 这两种电子信号来执行指令和处理数据的呢?所有电子设备都有自己的电路和开关,电子在电路中流动或断开,完全由开关来控制,如果将开关设置为 OFF,电子停止流动,如果再将其设置为 ON,电子又会继续流动。晶体管这种 ON 与OFF 的切换只由电子信号控制,我们可以将晶体管称之为二进制设备。晶体管的ON 状态用 1 来表示,而 OFF 状态则用 0 来表示,这样就可以组成最简单的二进制数。众多晶体管产生的多个 1 与 0 的特殊次序和模式能代表不同情况,将其定义为字母、数字、颜色和图形。举个例子,十进位中的 1 在二进位模式时也是1,2 在二进位模式时将是 10,3 将是11,4 将是100,5 将是101,6 将是110 等,依此类推,这就组成了计算机工作采用的二进制语言和数据。人多力量大,成组的晶体管联合起来可存储数值,也能进行逻辑运算和数字运算。加上石英时钟的控制,晶体管组就像一部复杂的机器那样同步地执行它们的功能。
二、CPU的基本工作过程——就像产品加工那样简单由晶体管组成的 CPU 是处理数据和执行程序的核心,其英文全称为:Central Processing Unit,也就是中央处理器。虽然由多至几千万的晶体管组成,但其工作原理并不是想象中那么深奥,只要归纳起来稍加分析就会一目了然。首先,CPU的内部结构可以分为控制单元,逻辑运算单元和存储单元(包括内部总线及缓冲器)三大部分,各施其职。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料( 程 序 指 令 ),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用) 。在这个过程中,我们注意到从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作的结束。这个过程看起来相当长,其实只是一瞬间发生的事情。换另外一种表达方式,也可以这样理解:CPU 只执行三种基本的操作,分别是读出数据、处理数据和往内存写数据。它的标称速度一般用 Hz 来表示,但CPU 其他方面,比如芯片设计,对于 CPU 性能也起着非常重要的作用。
三、怎样提高CPU的工作效率既然 CPU 的主要工作是执行指令和处理数据,那么工作效率将成为 CPU 的最主要内容,因此,各CPU 厂商也尽力使CPU 处理数据速度更快。根据 CPU 的内部运算结构,一些制造厂商在 CPU 内增加了另一个算术逻辑单元(ALU) ,或另外再设置一个处理非常大和非常小数据的浮点运算单元(FPU —— Floating Point Unit),这样就大大加快了数据运算的速度。而在执行效率方面,一 些 厂 商 通过流水线方式或以几乎并行工作的方式执行指令以提高指令的执行速度。刚才我们提到,指令的执行需要许多独立的操作,诸如取指令和译码等。最初CPU在执行下一条指令之前必须全部执行完上一条指令,而现在则由分布式的电路各自执行操作。也 就 是 说 ,当 这 部 分 的电路完成了一件工作后,第二份工作立即占据了该电路,这 样 就 大大增加了执行方面的效率。另外,为了让指令与指令之间的连接更加准确,现在的CPU通常会采用多种预测方式来控制指令更高效率地执行。在这一点上,英特尔和AMD在怎样使 Pentium 4和 Athlon XP芯片运行得更快上产生了微小的分歧。英特尔在通道中使用了更多的阶段(即使用了更长、运算步骤更多的流水线),每一阶段执行较以前少的工作,这样这种芯片的时钟可以更快。尽管Athlon的芯片核心频率更慢,但它的运算管道更短,所以速度反而更快,因为较短的通道可以减少错误预测分支的代价。Pentium 4目前是英特尔推出的最强大的32位处理器,它代表了一种处理器的新思考方式。Pentium 4的重点是时钟的速度,它的核心结构是按照能运行在10GHz的标准设计的,尽管在处理器几乎达到极限速度之前,我们或许将不断看到显著不同的新CPU结构的出现。将Pentium III核心通道中大约10个内部步骤扩展到新芯片中的大约20步,开发者能加速时钟频率,同时在任意时间内能够高速执行更多的指令。这 意 味 着 早期的 Pentium 4实际运行速度比 Pentium III 还慢,这是因为 Pentium III 的通道在时脉周期内更为有效。可是 Pentium 4的时钟速度越来越快,而Pentium III 的时钟速度不再增加,最终Pentium 4在各个方面超过Pentium III。为什么同频率的Athlon XP比Pentium 4更快?Athlon XP的管线长度为15段,而Pentium 4的管线长度为20段,也就是说,在其他条件一定的情况下,Athlon XP完成一个指令要15步,而Pentium 4需要20步,所以完成相同的任务,Pentium 4 所需的时间更长。那为什么Athlon同样比管线长度只有10段的 Pentium III快呢?这就不仅是因为Athlon比Pentium III更晚推出,设计更优秀,而且还因为Athlon拥有128KB一级缓存,而Pentium III只有32KB一级缓存,这也是非常影响速度的部分。