- 积分
- 7
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2011-3-13
- 精华
|
马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
CPU是怎样工作的?
--- 中央处理单元(CPU)是PC机的大脑,计算机系统处理数据的能力主要取决于CPU。尽管在1999年,CPU的工作速度就从600MHz跳到了1GHz,但是这一进程仍然在继续,科研人员和厂商还在不断努力提高CPU的速度。到2000年年底,可望达到1.5GHz以上。然而需要注意的是,CPU的性能不仅仅是由多少MHz或GHz所决定的,搞清楚CPU内部对于真正了解其性能也非常重要。
---- CPU执行3种基本的操作:读出数据、处理数据和往内存写数据。它的标称速度一般用Hz来表示,但是CPU的其他方面,比如芯片的设计,对于CPU的性能也起着非常重要的作用。因此,在您的计算机中安装什么样的CPU芯片,取决于您的预算是多少钱,您需要用计算机做什么事情。
---- 在了解CPU是怎样工作之前,先简单谈谈CPU是如何生产出来的。CPU是在特别纯净的硅材料上制造的。一个CPU芯片包含上百万个精巧的晶体管。人们在一块如同指甲盖一样大小的硅片上,用化学的方法蚀刻或光刻制成出晶体管。
---- 在这些微小的晶体管中存储对应于0和1的电荷,而0和1 组成了计算机工作采用的二进制语言和数据。成组的晶体管联合起来可以存储数值,也可以进行逻辑运算和数字运算。加上石英时钟的控制,晶体管组像一部复杂的机器那样同步地执行它们的功能。换句话说,CPU是一种处理数据的数字设备。
CPU的组成
---- CPU的工作就是处理存储在存储器中的信息。一般信息是按字节存储的,也就是以8位二进制数或8比特为1个单元存储,这些信息可以是数据或指令。数据是用二进制表示的字符、数字或颜色等等。而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。
---- 在最简单的情况下,CPU执行数据操作仅需要4个元素指令、一个指令指针、一些寄存器和算术逻辑单元。
---- 指令指针(instruction pointer)告诉CPU下面要执行的指令在内存(一般是RAM)中的存储位置。内存中的每个存储单元都有编号,称为地址。
---- 寄存器是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据(比如2个数据的和)。CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。
---- 算术逻辑单元(Arithmetic Logic Unit,ALU)在CPU中起计算器的作用,执行指令中规定的算术运算和其他各种运算。
---- CPU还包含一些协助基本部件完成数据处理的其他部件。
---- 指令读取器(instruction fetch)负责从内存或CPU中的存储区域中读取指令,其中指令译码器(instruction decoder)从指令读取器中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作。控制单元(control unit)的作用是管理和协调芯片里的各项操作。它告诉ALU什么时候计算,告诉指令读取器什么时候获取数值,告诉指令译码器什么时候翻译指令等等。
---- 为了保证每个操作准时发生,CPU需要一个时钟。时钟控制着CPU所执行的每一个动作。时钟就像一个节拍器,它不停地发出脉冲,决定CPU的步调。目前,脉冲周期一般达到了每秒百万MHz,这就是我们所熟悉的CPU的标称速度,也称为主频。主频数越高,表明CPU的工作速度越快。在其他条件相同的情况下,一个主频为700MHz的CPU的工作速度应该比600MHz的CPU要快。但是,由于基本CPU设计的差异和与之相配套的附件不同,使得这一数值的重要性打了折扣。
---- 一条指令可以包含按明确顺序执行的许多操作。CPU的工作就是执行指令,它的工作过程是:指令指针给指令读取器指示存放指令的内存地址,指令读取器从内存读取指令并送给指令译码器,而指令译码器分析指令并决定完成指令需要多少步骤。如果有数据需要处理,ALU将按指令要求工作,做加法、减法或其他数据运算。
---- 在CPU解释和执行指令之后,控制单元告诉指令读取器从内存中读取下一条指令。这个过程不断重复,以令人眼花缭乱的步骤执行一条又一条指令,产生您在显示器上所看到的结果。事实上,包括文字处理程序在内的各种程序都是由一系列的指令和数据组成的。
---- CPU完成工作只需要很少的基本部件,但多年来CPU厂商一直在改进设计,以提高其整体性能。各种提高CPU性能的目的只有一个:使CPU处理数据的速度更快。
---- 为了寻找提高处理速度的方法,芯片制造厂商注意到,在从系统的内存读取指令和数据的时候,CPU并没有处理数据。为了充分利用这段时间,他们在CPU内部开辟了一个存储空间,就是我们所知道的缓存(Catch)。这样指令和数据可以暂时存放在CPU内部,减少了它们在CPU和内存间的传输次数。
---- 通过进一步的发展,CPU增加缓存也不能满足应用的需求了。作为缓存思路的延伸,系统制造商在CPU的高速缓存和系统内存之间增加了昂贵的高速内存,称为二级高速缓存(Level 2 Cache,又称L2 Cache)。指令与数据和CPU位置上的更加接近意味着更少的内存访问。由于二级缓存对提高CPU的性能效果非常明显,很快许多芯片制造商将它集成到了CPU中,从而为指令和数据开辟了更大的快速暂存空间。
其他改进
---- 为了改善CPU的性能,制造厂商在CPU内添加了另一个算术逻辑单元。理论上讲,这意味着同时可以做2倍的工作。使用多个ALU就像几个人干一个人的工作,任务完成得就更快。
---- 除了采用多ALU之外,有些厂商还在CPU中集成了浮点运算单元(Floating Point Unit,FPU)。FPU负责运算非常大和非常小的数据。当FPU进行这些数据的运算时,ALU同时可以做其他事情,这大大提高了CPU的性能。
---- 一些厂商还通过流水线方式或以几乎并行工作的方式执行指令的方法提高指令的执行速度。指令的执行需要许多独立的操作,诸如取指令和译码等。最初CPU在执行下一条指令之前必须全部执行完上一条指令,而现在则由分布式的电路各自执行操作。
---- 一旦一条指令从执行第一步的电路移交给执行第二步的电路之后,执行第一步的电路便可以执行下条指令的第一步,从而提高了处理速度。这就像爬台阶一样,前面人的脚一旦离开台阶,后面的人就可以占用它。
---- 其他增强性能的方法包括:分支预测(branch prediction)技术能推测下一步程序最可能跳到哪个分支;投机执行(speculative execution)技术能先期执行预测的程序分支;乱序执行(out-of-order competion)技术则具有不按程序原来的顺序执行指令序列的能力。
---- 所有这些改进迅速地提高了时钟的速度,比如1999年年底已经达到了1GHz。但是,时钟速度并不是影响整机性能的惟一因素。美国PC World的测试显示,最近几次CPU在速度方面的提高所产生的效益逐渐减少,特别是在办公室应用领域,因为计算机的性能同时主要依赖于硬盘的速度和容量,以及系统内存的访问速度。 |
|