中央处理器是如何工作的
一个完整的微机系统包括硬件系统和软件系统。计算机硬件是指组成计算机的各种物理设备。它们由各种真实的器件组成,是计算机工作的物质基础。计算机硬件系统最重要的部分是中央处理器(CPU)。
(一)CPU的基本概念和组成
CPU(中央处理器)是计算机系统的核心,主要包括运算器和控制器。如果把电脑比作一个人,那么CPU就是心脏,其重要作用由此可见一斑。CPU的内部结构可以分为三部分:控制单元、逻辑单元和存储单元。如果这三个部分相互协调,我们就可以分析、判断、计算和控制计算机各部分的协调工作。
计算机的所有动作都由中央处理器控制。运算器主要完成各种算术运算(如加、减、乘、除)和逻辑运算(如逻辑加、逻辑乘、逻辑反);控制器没有运算功能,只是读取各种指令,分析并做出相应的控制。通常CPU中有几个寄存器,可以直接参与运算,存储运算的中间结果。
我们常说的CPU就是X86系列和兼容的CPU。所谓X86指令集,是美国Intel公司为其第一个16位CP U(i8086)专门开发的,美国IBM公司在1981年推出的世界上第一台PC中的CPU— i8088(i8086简化版)使用了X86指令。同时,计算机中为提高浮点数据处理能力而加入的X8 7芯片系列数学协处理器使用X87指令,X87指令集和X87指令集将统称为X86指令集。虽然随着CPU技术的不断发展,Intel相继开发了更新的i80386和i80486,甚至今天的Pentium III系列,但是为了保证计算机能够继续运行过去开发的各种应用程序来保护和继承丰富的软件资源,Intel公司生产的所有CPU仍然继续使用X86指令集。除了Intel,AMD、Cyrix等厂商也生产了可以使用X86指令集的CPU。因为这些CPU可以运行为Inte l CPU开发的各种软件,计算机行业的人把这些CPU列为Inte l的CPU兼容产品。由于Intel X8 6系列及其兼容CPU都使用X8 6指令集,所以形成了今天庞大的X86系列及兼容CPU阵容。
(二)中央处理器的主要技术参数
CPU的质量直接决定了一个计算机系统的档次,CPU的主要技术特性可以反映CPU的一般性能。
CPU能同时处理的二进制数据的位数是其最重要的质量标志之一。人们通常指的是16位计算机和32位计算机,也就是说这种微机中的C PU可以同时处理16位和32位二进制数据。早期的代表IBM PC/XT、IBM PC/AT和286计算机为16位计算机,386和486计算机为32位计算机,586计算机为64位高端微型计算机。
CPU按其处理信息的字长可分为八位微处理器、十六位微处理器、三十二位微处理器和六十四位微处理器。
位:在数字电路和计算机技术中,采用二进制编码,编码只有“0”和“1”,其中“0”和“1”都是CPU中的一位。
字节和字长:在计算机技术中,单位时间内(同一时刻)CPU一次能处理的二进制数的位数称为字长。因此,能够处理字长为8位的数据的CPU通常称为8位CPU。同样,32位CPU在单位时间内可以处理32位二进制数据。因为常用的英文字符可以用8位二进制表示,所以8位通常称为一个字节。字节的长度不是固定的,字长的长度对于不同的CPU是不一样的。一个8位的C PU一次只能处理一个yu段,而一个32位的CPU一次可以处理4个yu段。类似地,64位CPU一次可以处理8个字节。
2.CPU外部频率
CPU外部频率,即常用特性表中所列的CPU总线频率,是主板为CPU提供的参考时钟频率,CPU的工作主频按照倍频系数乘以外部频率。奔腾时代,CPU的外接频率一般是60/60/66MHz。从奔腾II 350开始,CPU的外接频率提高到100 MHz。一般情况下,CPU总线频率和内存总线频率是一样的,所以当CPU外接频率提高时,和内存的交换速度也相应提高,对提高电脑整体运行速度影响很大。
3.FSB频率
前端总线又称CPU总线,是CPU与内存、L2缓存(仅指Socket 7主板)之间交换数据的工作时钟,因为前端总线的频率与目前各种主板上内存总线的频率相同。因为数据传输的最大带宽取决于数据位的宽度和传输频率,即数据带宽=(总线频率(数据宽度)/8。比如Intel的Pⅱ333使用的是6 6MHz的前端总线,所以它与内存的数据交换带宽是528MB/s =(66×64)/8,而它的Pⅱ350使用的是100MHz的前端总线,所以它的峰值数据交换带宽是800 MB/s = (100× 64)/。可以看出,前端总线速度会影响计算机运行时CPU与内存(L2缓存)之间的数据交换速度,实际上影响了计算机的整体运行速度。所以目前Intel开始将其Pⅲ前端总线频率从100MHz过渡到133MHz。AMD的新K7使用的是20 0MHz的前端总线频率,但有数据显示,K7 CPU核与内存的数据交换时钟仍然是100MHz,主频也翻倍在100 MHz。
4.CPU主频
CPU的主频,也叫工作频率,是CPU核心(整数和浮点运算器)电路的实际工作频率。486 DX2 CPU之前。CPU的主频等于外频。从486DX2开始,基本上所有CPU主频都等于“外部频率乘以倍频系数”。CPU的主要技术特点。主频是CPU内核运行时的时钟频率,直接影响CPU的运行速度。
我们知道只有Penti um可以在一个时钟周期内执行两条操作指令。如果主频为100MHz的奔腾可以在1秒内执行2亿条指令,那么主频为200MHz的奔腾每秒可以执行4亿条指令,所以CPU频率越高,计算机运行速度越快。
需要注意的是,Cyrix的CPU-主频指数是通过使用PR性能评级参数来衡量的,这意味着此时的CPU性能相当于英特尔的主频CPU。带PR参数的CPU实际运行时钟频率与标称主频不一致。比如M ⅱ-300的实际工作频率是233MHz(66×3.5),但是PR参数的主频是300MH z,也就是说M ⅱ-300相当于Intel的P ⅱ-300。但实际上只有M ⅱ-300的Business Win ston指数(整数性能)能与P ⅱ-300相当。
5.L1和L2缓存的容量和速度
L1和L2缓存的容量和工作速度对提高计算机速度起着关键作用,尤其是L2缓存对提高运行更多2 D图形处理的商业软件的速度起着显著作用。
L2缓存是在486时代设立的,目的是为了弥补L1缓存的不足,最大限度地减少主存对CPU操作造成的延迟。
CPU的L2缓存分为内部和外部两种。CPU芯片内的L2缓存运行速度与主频相同,而以P ⅱ模式安装在CPU芯片外的L2缓存运行频率一般是主频的一半,因此效率低于芯片内的L2缓存,这也是赛扬只有128KB片内缓存,但性能却几乎超过同主频的P ⅱ(有512KB片外L2缓存,主频一半)的重要原因。
(三)中央处理器主要技术术语分析
1,管道技术
流水线最早是由InteI在486芯片中使用的。装配线就像工业生产中的装配线一样工作。在CPU中,一条指令处理流水线由5~6个功能不同的电路单元组成,然后将一条X86指令分成5~6步,分别由这些电路单元执行,这样一条指令就可以在一个CPU时钟周期内完成,从而提高了CPU的运行速度。由于486CP U只有一条流水线,通过流水线中的取指令、译码、地址生成、指令执行、数据回写五个电路单元同时执行已经分成五步的指令,所以实现了486CP U的设计者所期望的每个时钟周期完成一条指令的目的(在我看来,CPU实际上应该从第五个时钟周期就达到每个周期完成一条指令的处理速度)。在奔腾时代,设计者在CPU中设置了两条具有独立电路单元的流水线,使得CPU在工作时可以通过这两条流水线同时执行两条指令,所以理论上可以实现每个时钟周期完成两条指令的目的。
2.超级流水线和超标量技术
超级流水线是指某些CPU内部的流水线超过了通常的5~6步,比如奔腾pro的流水线就长达14步。流水线设计的步骤(阶段)越多,完成一条指令的速度就越快,因此可以适应工作频率更高的CPU。Supe rscalar是指CPU中有不止一条流水线,每个时钟周期可以完成不止一条指令。这种设计被称为超标量技术。
3、乱序执行技术
乱序执行(Out-of-orderexecution)是指CPU采用的技术,允许多个指令不按程序指定的顺序开发,并发送到相应的电路单元进行处理。例如,程序的某个部分有七条指令。这时,CPU会分析每个单元电路的空闲状态和每条指令是否可以提前执行的具体情况,立即将可以提前执行的指令发送到相应的电路执行。当然,每个单元没有按照指定的顺序执行指令后,对应的电路必须按照原程序指定的指令顺序重新排列运算结果,才能返回程序。这种不按顺序反汇编指令的操作方式叫做乱序执行(也叫乱序执行)。采用乱序执行技术的目的是使CP U内部电路满负荷运行,相应提高CPU运行程序的速度。
4.基于技术的预跟踪和推测执行技术
分支预测和推测执行是CPU动态执行技术的主要内容,动态执行是目前CPU主要采用的先进技术之一。采用分支预测和动态执行的主要目的是提高CPU的运行速度。推测执行基于分支预测,分支预测程序分支后的处理也是推测执行。
5、指令特殊扩展技术
从最简单的计算机,指令序列可以得到操作数,并执行计算。对于大多数计算机来说,这些指令一次只能执行一次计算。如果需要完成一些并行操作,就要连续进行几次计算。这种计算机使用SISD(单指令单数据)处理器。在介绍CPU性能时,我们经常会提到“扩展指令”或“特殊扩展”,指的是CPU是否有对X86指令集的指令扩展。第一个扩展指令是InteI自己的“MMX”,接下来是AMD的“3D Now!”最后是近期奔腾III中的“上证”。
MMX和上交所:MMX是英文“多媒体指令集”的缩写。* * *共有57条指令,这是Intel首次对1985以来已经定型的X86指令集进行扩展。MMX主要用于增强CPU对多媒体信息的处理,提高CPU处理3D图形、视频和音频信息的能力。但是因为只优化了整数运算,所以浮点运算能力没有加强。因此,随着3D图形越来越受欢迎,3D网页在互联网上的应用越来越多,MMX已经绰绰有余。MMX指令可以对整数进行SIMD运算,如-40,0,1,469或32766等。SSE指令增加了浮点数的SIMD运算能力,如-40.2337,1.4355或874638+02等等。使用MMX和SSE,一条指令可以对两个以上的数据流执行计算。就前面的例子而言,不再需要每秒执行529,000条指令,只需要264,600条指令。因为同一个指令可以同时作用于左右声道。显示时,不需要每秒70,778,880条命令,只需要23,592,960条命令,因为红、绿、蓝通道可以由同一条命令控制。
SSE: SSE是英文“Internet Streaming SIMD扩展”的缩写。它是英特尔公司在奔腾III中的首次应用。其实最初传闻MMX2后来叫KNI(Katmai NewInstruction),Katmai现在其实就是奔腾III。SSE***有70条指令,不仅包括原来的MMX还有现在的3D!指令集中的所有功能,并特别强化了SIMD浮点处理能力,此外,还专门针对当前互联网的日益发展,强化了CPU处理3D网页和其他音视频信息技术的能力。CPU有了专门的扩展指令集后,必须得到应用程序的支持,才能发挥作用。所以最先进的Penthm III 450和Pentium II 450在没有扩展指令支持的情况下运行同一个应用程序时,两者在速度上并没有太大的差别。
SSE不仅保留了原有的MMX指令,还增加了70条指令,不仅加快了浮点运算速度,还提高了内存使用效率,让内存速度显得更快。游戏性能的提升非常显著。Intel表示,SSE对以下领域的影响尤为明显:3D几何运算和动画处理;图形处理(如Photoshop);视频编辑/压缩/解压缩(如MPEG和DVD);语音识别;以及声音压缩和合成。
3D现在!AMD开发的多媒体扩展指令集有27条指令。针对MMX指令集没有加强浮点处理能力的弱点,重点提升AMD K6系列CPU对3D图形的处理能力。但由于指令有限,该指令集主要用于3D游戏,但不支持其他商业图形应用。
(四)CPU生产流程和产品架构
1,CPU生产流程
在表示CPU性能的参数中往往会有一个“制程工艺”,包括“0.35um”或者“0.25um”等等。一般来说,“制程技术”中的数据越小,说明CPU生产技术越先进。目前CPU的生产主要采用CMOS工艺。CMOS是英文“互补金属氧化物半导体”的缩写。用这种技术生产CPU时,各种电路和元器件都经过“光刀”处理,铝金属沉积在硅材料上,再用“光刀”刻成导线,把所有元器件连接起来。目前光刻的精度一般以微米(um)表示,精度越高,生产工艺越先进。因为精度越高,在相同体积的硅材料上可以生产的元器件越多,连线越细,生产出来的CPU工作频率就可以越高。正因为如此,在只能使用0.65微米工艺时生产的第一代奔腾CPU工作频率只有60/60/66MHz,而当后续生产工艺逐渐发展到0.35微米和0.25微米时,工作能力为266MHz的奔腾MMX和主频为500MHz的奔腾二代CPU也相应生产出来。由于目前科技的限制,目前的CPU生产工艺只能达到0.25微米,所以Intel、AMD、Cyrix等公司都在向0.18um和铜线(用硅材料上沉积的金属铜代替原来的铝)努力。估计只要生产工艺达到0.18um,生产主频l000MHz的CPU会很常见。
AMD公司与摩托罗拉公司达成了一项为期7年的技术合作协议,以便在下个世纪继续与英特尔公司争夺开发微处理器的权利。摩托罗拉将向AMD授权最新的铜互连技术。AMD计划在2000年内制造出K7的主频高达1000MHz(1GHz)的微处理器。CPU将向更快的64位结构发展。CPU的制造工艺会更加精细,会从现在的0.25微米过渡到0.18微米。到2000年,大部分CPU厂商将采用0.18微米工艺。2001之后,很多厂商会转向0.13微米铜制造技术。制造技术的提高意味着更小的尺寸和更高的集成度。铜工艺的优势非常明显。主要表现在以下几个方面:铜的导电性比现在广泛使用的铝好,铜的电阻和发热量小,从而保证了处理器在更大范围内的可靠性;采用0.13微米以下的芯片制造技术和铜工艺,将有效提高芯片的工作频率;可以减小现有管芯的体积。与传统的铝工艺相比,铜工艺将有效提高芯片速度,减小芯片面积。从发展来看,铜技术最终会取代铝技术。
各个厂家生产的每一个CPU都有一个名字(品牌名),一个代码(开发代码),一个logo(特殊图案)。其中,在tel早期的产品都是以i80x86命名的,也就是之前的286、386、486等。英特尔在开发第五代产品586时,由于商标注册麻烦,改为奔腾,同时为其注册了中文商标名“奔腾”。于是,后来的奔腾Pr o(奔腾II(奔腾II),奔腾III(奔腾III),赛扬(赛扬)应运而生。目前名称还不能体现同类型CPU的规格,待Intel正式推出前端总线为133MHz的P III后会有所改善。以后只看名字就能了解这款CPU的大致技术特点。
此外,制造商对每种CPU都有另一种开发代码,包括名称相同但技术规格不同的产品。比如Intel用0.3 5和0.25工艺生产的Pⅱ,代号分别是Klamath和Destrutes。同时,Itel每个名称的CIPU都有一个特殊的商标图案作为标志。AMD和Cyrix跟Intel差不多,他们的每个CPU也都有名字、代号和logo,但是都没有正式的中文名字。
2.中央处理器的内部结构
目前我们使用的CPU内部结构其实可以分为单总线和双总线两种结构。因为CPU的内部结构特点决定了CPU的包装形式和安装规格,这里就做一些简单的介绍。
在Intel开发奔腾Pro之前,各种486及以上的CPU,比如经典的奔腾,都是由主处理器、数学协处理器、控制器、各种寄存器、L1缓存组成。至今仍有大量CPU继续以这种内部结构模式生产,如AMD的K6-2、Cyrix的Mⅱ、IDT-C6等。从P6(Pen-Tium PrO的开发代号)开始,为了进一步提高CPU与L2缓存的数据交换速度,英特尔通过将原本设置在电脑主板上的缓存控制电路和L2缓存(二级缓存)制作在同一硅材料上,集成到CPU芯片中。这样,CPU核与缓存之间的数据交换就不需要通过外部总线,而是直接通过CPU内部的缓存总线。由于CPU内核与内存、CPU与cache之间的数据交换通道是分离的,因此形成了第一个P6双总线架构模式(见图1)。从奔腾Pro的实际应用效果来看,这一技术措施是非常成功的,是CPU开发技术的重大进步。由于P6双总线结构的优势,所有带有L2 C C ache和cache控制器的CPU都由传统的单总线模式转变为双总线模式,如英特尔的Pⅱ、新赛扬和Pⅲ。AMD K6-ⅲ和K7等。
3.CPU的体系结构和封装
CPU架构是根据CPU安装插座的类型和规格决定的。目前常用的CPU按其安装插座规格可分为Socket x和Slotx两种架构。
其中Socket x CPU分为So cket 7和Socket370。321脚插座7和370脚插座370分别用于安装。Socket7和Socket 370插座外观非常相似,大小相同,但是Socket 370插座比Socket 7多了一圈插脚插口。在Slot x架构的CPU中,分为S lot 1、Slot 2、Slot A三种,使用相应规格的Slot插槽安装。1槽和A槽都是242线槽,但是机械和电气标准不同,所以互不兼容。插槽2是一个比较大的插槽,专门用来装Pⅱ和Pⅲ序列的至强。至强是一种专用于工作组服务器的CPU。
封装是CPU生产的最后一道工序。封装是用特定的材料将CPU芯片或CPU模块固化在里面,防止损坏的一种保护措施。一般CPU只有包装好才能交付给用户。
CPU的封装方式取决于CPU的安装形式和设备集成设计。一般Socket插座安装的CPU只能用PGA(网格阵列)封装,而Slot x slot安装的CPU全部用SEC(单面插盒)封装。目前PGA封装的CPU主要有Intel的赛扬,AMD的K6-2和K6-ⅲ,Cyrix的Mⅱ。赛扬以前都是SEC封装,现在都是PGA封装了(见图4)。SEC封装的CPU有Intel的Pⅱ、Pⅲ和AM D的K7。其中Intel的插槽架构CPU实际上是由三个单面插盒封装而成:SEPP、SECC、SEC2。
虽然赛扬和K6-ⅲ在上述CPU中分别集成了128KB和256KB的L2缓存和缓存控制器,但它们是将CPU内核、L2缓存和缓存控制器一次性制造在同一块硅材料上,所以体积小,可以用PGA封装。但是赛扬采用PGA封装的主要原因是为了降低生产成本,而K6-ⅲ采用PGA封装的主要原因是Intel已经对插槽1、插槽2、插槽370的插座申请了专利,所以一个MD只能采用Socket 7架构,采用PGA封装来生产K6-ⅲ。
目前插槽架构CPU的制造方式有两种。一种是将单独制造的CPU核心芯片、高速缓存控制器芯片和L2缓存芯片安装在一块PCB(电路板)上,然后安装单面插箱和风扇,完成CPU的最终制造。用这种结构和方法制造的CPU包括Intel的Pⅱ、Pⅲ和AMD的K7。二是在电路板上安装一个完整的CPU芯片(包括CPU核、高速Cach e控制器芯片和L2Cache芯片),此时电路板只起到安装插槽接口的作用。最后还安装了单面插箱和风扇,组成一个完整的CPU。这种结构和方法制造的CPU只是英特尔公司赛扬的一部分。