深入了解CPU的工作原理 |
|||||
|
|||||
|
|||||
|
|||||
Central Processing Unit(CPU):*处理器,PC的大脑,是计算机中处理数据的地方,同时也是性能和价格的决定因素。
在过去的一年中,CPU的速度已从600 MHz飙升至1 GHz。到今年年底,CPU的速度有望突破1.5 GHz大关。CPU的速度竞赛仍在继续,但是有一点要注意:你的CPU的性能绝不仅仅是由MHz或者GHz前面的数字来决定的――那只是商家用来吹嘘的卖点。随着芯片运算速度的加快以及在应用中对性能需求的增加,你比以往任何时候更需要了解在你的CPU中到底发生着什么事情。
以下是你所应该知道的: ?CPU的三项基本功能:读数据、处理数据以及把数据写到存储器中。 ?CPU的原始频率是由兆赫兹的数量决定的,但是其它的因素,例如设计方法,也同样的影响着芯片的性能。 ?你为你的PC选择什么样的CPU取决于你将愿意花多少钱,以及你打算用PC来干什么。
一、物理结构
在你了解你的CPU如何工作以前,你应该知道它是由什么制成的。CPU是由数百万在显微镜下才能看得见的晶体管,经过化学的和照相平板印刷的过程,蚀刻到一块磨光了的只有你拇指甲盖大小的硅片上而形成的。 那些微小的晶体管用来存储表示0、1的电荷,而0、1则构成了计算机所能使用的二进制语言。成组的晶体管连在一起存储数据;它们还对数据进行逻辑的和数学的计算,并且借助于一个石英的晶体钟,像同步的游泳者一样协调一致地发挥作用。简言之,它们能够处理数据。
二、CPU的组成
CPU处理存储在内存单元上的信息。那些信息可以是数据,也可以是指令。数据是一个二进制表达式,例如表示字母、数字和颜色。而指令则告诉CPU如何处理这些数据,例如对它们进行加、减或者移动等操作。 CPU对数据进行三种基本操作:读取数据、对数据进行处理、然后通常还要把把数据写回到存储器上。对于最简单的构成,CPU只需要四个部分来实现它对数据的操作:指令、指令指示器、一些寄存器以及算术逻辑单元。 指令指示器告诉CPU它所需要的指令放在内存中的哪个位置。 寄存器是CPU内部的临时存储单元。它保存等待被处理的数据,或者是已经处理过的数据(比如说,把两个数相加后的结果)。 算术逻辑单元,或简称为ALU,是CPU的运算器,执行指令所指示的数学和逻辑运算。 CPU还包括一些协助基本单元完成工作的附加单元: 取指器负责从RAM或者CPU上的存储区取出指令。 解码器从取指器中取出指令,把它翻译成CPU所能理解的语言。同时它也决定了完成该指令需要哪些步骤。 控制器的工作是管理和控制CPU的所有操作。它告诉ALU什么时候开始计算,取指器什么时候取一个0-1值,以及解码器什么时候把该值翻译成一条指令。
三、跟踪指令的处理过程
以下是CPU的工作过程:指令指示器指向内存中存放指令的地方。取指器在那里取出指令,并把它交给解码器。解码器解释指令,并决定为完成该指令需要哪些步骤。(一条指令可以由许多按规定顺序完成的步骤组成。) 然后,ALU执行指令所要求的操作:它对数据进行加、减运算,或者其它的一些处理。在CPU解释并执行完一条指令后,控制器会告诉取指器在内存中取出下一条指令。这个过程一直持续着――一条指令接一条指令,以令人眼花的速度运行――直到最后,产生你在屏幕上所见的结果。一个程序,例如文字处理,就是由一系列的指令和数据构成的。 为了使一切都按时发生,各组成部分还需要一个时钟发生器。时钟发生器是用来调节CPU的每一个动作的。像节拍器一样,它发出调整CPU步伐的脉冲。这些脉冲是以每秒数百万次,或者兆赫兹来计算的,后者,你也许还记得,是CPU原始频率的计量单位。时钟发生器每秒钟发出的脉冲越多,CPU的运行速度就越快。在相同的条件下,700 MHz的CPU比600 MHz的CPU运行得快,但是,对于几个CPU的并行以及其它的形式来说,这些数字的意义并不那么重大。
四、CPU的增强功能
CPU只需要几个基本的部分就可以完成其工作,但是一直以来,为了提高其整体性能,生产厂家不断地修改了它的基本设计。最终的目的是一致的:为了使它更快地处理数据。 在寻找提高处理速度的方法时,芯片制造商们发现CPU在向RAM读取数据或指令时,其本身没有在进行什么工作。为了减少CPU的空闲期,他们在CPU的内部放置了一块称为cache的存储区。数据和指令可以暂存在CPU中,这样就减少了访问RAM的次数。 出于扩展cache的想法,系统制造商们把高速的(价格昂贵的)RAM――也被称为第二级cache,或者L2 cache――放在CPU的第一级cache和RAM系统之间。越靠近CPU,就意味着访问RAM的次数越少。 第二级cache对于提高CPU的性能是如此有益,以致于不久许多处理器就把它集成到CPU的内部,为存放数据和指令提供了更多的空间。
五、更多的ALUs以及新增的FPU
为了提高运算性能,芯片制造商在CPU内部增设了另外一个算术逻辑单元。理论上,可以一次完成以前两倍的工作。使用多个ALU,就像厨房里有两个人,而不是一个人在张罗,这意味着工作可以完成得更快。 除了使用多个ALU,Intel还在CPU内部集成了浮点运算单元(FPU)。FPU能够处理非常大的数和非常小的数(具有许多十进制位)。在FPU处理这些运算时候,ALU可以空闲出来,做一些其它的事情,因而进一步增强了CPU的性能。 AMD和Intel都曾经通过对指令进行流水线操作,或者并行操作来加速指令的执行过程。一条指令的执行需要许多独立的步骤――例如取指和解码。本来CPU只能执行完一条指令以后才能开始下一条指令的执行。但是现在,离散的电路可以执行各个独立的步骤。 一旦一条指令从第一步执行到第二步,那么运行其第一步的晶体管就可以空出来,执行下一条指令,因而加快了执行速度。这就像爬*一样:一旦你的脚离开了一层台阶,你后面的人就可以跟上来。 为了提高CPU的性能,还增加了分支预测,即猜测程序可能会跳到哪一步;推测执行,即提前执行程序可能执行的步骤;还有随机运行,即不按程序的原有顺序来执行程序的指令。 所有这些改进都大大提高了CPU的运算速度,例如今年的二月份,已经达到了1 GHz的水平,但是性能的标准也变得不再可靠起来。计算机世界的测试表明最近几次速度的提升已经带来了负效益,特别是在使用那些非常依赖于硬盘的速度以及RAM的容量和速度的办公室应用软件的时候。
六、PC机里的CPU
有两大巨头主导着PC机的CPU市场:Intel和AMD,其中Intel在商用电脑和家用电脑的市场上占据了80%的份额。这两家公司都有适应于高档机、中档机和低档机的各种类型的CPU。也有其它公司生产的CPU,例如Motorola的PowerPC 750,该款CPU是为Apple的Macintosh而设计的。 无论是AMD的 Athlon ,还是 Intel的 Pentium III,在运行Microsoft的窗口操作系统时,其性能都是首屈一指的。这两款CPU在设计和性能上大致相当,两者都包含有能加速3D游戏和计算机辅助软件运行的增强功能。 AMD和Intel的高档CPU可供大量的PC机使用,其使用范围从中等价格的家用机(600-850 MHz)一直到最昂贵的工程系统和高档的多媒体系统(大约866 MHz以上)。而最新款的CPU的价格可以在整个系统价格的$200 到 $1000 之间。 在高档机中,具有1-GHz的CPU频率的PC机,价格在$2700 到$3300 之间,同时还取决于它的其它配件。而在中档机中,拥有Intel或者AMD的600-850 MHz CPU的PC机,其价格从900美元高达1600多美元. 某些经济实惠的CPU(价格在$150以下的)与Athlons和PIIIs相比,其时钟速度要慢一些,cache的容量也更小,或速度更慢,并且增强功能也较少。例如AMD的K6-III、K6-2 以及Intel的Celeron,可作为价格低于$1000的PC机的配置. 便携式电脑上通常不能运行最快的CPU。因为桌面型的设计比膝上型的更易于散热,这就意味着后者只能使用速度较慢且功能还不是那么强大的CPU。而且处理器的速度越快,消耗的电能就越多,也就很容易耗光电池的能量。所以目前,所使用的最快的便携式电脑的频率大约为700 MHz。
七、前景展望
CPU的制造商们总是不断地寻求改进的方法来提高CPU的性能。最近,他们的制作工艺已经从0.25微米达到了0.18微米的新水平,这使得晶体管之间的间隔更小,并且与同样设计的结构相比,其运行速度更快,发热量更小。另外,用于晶体管间互连的铝线也已经被铜线所代替,而后者具有更佳的导电性能。 但是这些改进并不意味着会停止对更高的CPU时钟频率的追逐。Intel已经推出新一代的Pentium4处理器,其频率高达1.5 GHz,并将在今年年底上市。AMD也承诺将紧追不舍。(编译 蒋志华) |
相关文章
- 代码管理工具 --- git的学习笔记二《git的工作原理》
- 国内“谁”能实现chatgpt,短期穷出的类ChatGPT简评(算法侧角度为主),以及对MOSS、ChatYuan给出简评,一文带你深入了解宏观技术路线。
- Javascript 拖拽雏形中的一些问题——逐行分析代码,让你轻松了解拖拽的原理
- 从简单到复杂:深入了解 JavaScript 中的 this 绑定规则
- 一个优秀的Java程序员必须了解GC的工作原理
- 深入Java集合学习系列:HashSet的实现原理
- 从0开始写一个基于注解的轻量级分布式RPC框架(1)RPC原理和准备工作
- WGCLOUD的原理和使用分享 - 实时监测服务器CPU温度
- 深入了解css的行高Line Height属性(图文并茂)
- 扩展修订 | 深入浅出学习透析Nginx服务器的基本原理和配置指南「负载均衡篇」