2024年1月5日发(作者:)

CPU的性能

CPU的性能指标十分重要,下面简单介绍一些CPU主要的性能指标,使读者能够对CPU有更深入的了解。

1.主频、外频和倍频

主频(CPU Clock Speed)也叫做时钟频率,表示在CPU内数字脉冲信号震荡的速度。主频越高,CPU在一个时钟周期里所能完成的指令数也就越多,CPU的运算速度也就越快。

CPU主频的高低与CPU的外频和倍频有关,其计算公式为主频=外频×倍频。

外频是CPU与主板之间同步运行的速度,而且目前绝大部分电脑系统中外频也是内存与主板之间同步运行的速度,在这种方式下,可以理解为CPU的外频直接影响内存的访问速度,外频速度高,CPU就可以同时接受更多的来自外围设备的数据,从而使整个系统的速度进一步提高。

倍频就是CPU的运行频率与整个系统外频之间的倍数,在相同的外频下,倍频越高,CPU的频率也越高。实际上,在相同外频的前提下,高倍频的CPU本身意义并不大,单纯的一味追求高倍频而得到高主频的CPU就会出现明显的“瓶颈”(CPU从系统中得到的数据的极限速度不能够满足CPU运算的速度)效应,可想而知,这样无疑是一种浪费。从有关计算可以得知,CPU的外频在5~8倍的时候,其性能能够得到比较充分的发挥,如果超出这个数值,都不是很完善。偏低还好说,不过是CpU本身运算速度慢而已,高了以后就会出现显著的“瓶颈”效应,系统与CPU之间进行数据交换的速度跟不上CPU的运算速度,从而浪费CPU的计算能力。

2.制造工艺

早期的CPU大多采用0.5pm的制作工艺,后来随着CPU频率的提高,0.25pm制造工艺被普遍采用。在1999年底,Intel公司推出了采用0.18um制作工艺的PentiumⅢ处理器,即Coppermine(铜矿)处理器。更精细的工艺使得原有晶体管门电路更大限度地缩小了,能耗越来越低,CPU也就更省电。

3.扩展总线速度

扩展总线速度(Expansion—Bus Speed),是指微机系统的局部总线,如:ISA、PCI或AGP总线。平时用户打开电脑机箱时,总可以看见一些插槽般的东西,这些东西又叫做扩展槽,上面可以插显卡、声卡、网卡之类的功能模块,而扩展总线就是CPU用以联系这些设备的桥梁。

4.前端总线

前端总线是AMD在推出K7 CPU时提出的概念,一直以来很多人都误认为这个名词不过是外频的一个别称。实际上,平时所说的外频是指CPU与主板的连接速度,这个概念是建立在数字脉冲信号震荡速度的基础之上;而前端总线速度指的是数据传输的速度。例如100MHz外频特指数字脉冲信号在每秒钟震荡1000万次,而100MHz前端总线则指的是每秒钟CPU可接受的数据传输量是lOOMHz×64bit÷8bit/Byte=800MB。就处理器速度而言,前端总线比外频更具代表性。

5.内存总线速度

内存总线速度(Memory—Bus Speed)也就是系统总路线速度,一般等同于CPU的外

频。CPU处理的数据都由主存储器提供,而主存储器也就是平常所说的内存。一般我们放在外存(磁盘或者各种存储介质)上面的资料都要通过内存,然后再进入CPU进行处理,所以与内存之间的通道,也就是内存总线的速度对整个系统的性能就显得尤为重要。由于内存和CPU之间的运行速度或多或少会有差异,因此便出现了二级缓存来协调两者之间的差异。内存总线速度是指CPU二级高速缓存和内存之间的通信速度。

6.缓 存

缓存又称为高速缓存,就是指可以进行高速数据交换的存储器。CPU的缓存分为两种,即L1 Cache(一级缓存)和L2 Cache(二级缓存)。由于高速缓存的容量和结构对CPU的性能影响较大,因此CPU生产厂商纷纷力争加大高速缓存的容量。不过高速缓存均由静态RAM组成,结构较复杂,因此以前的CPU内部只集成了Ll Cache,而把L2 Cache放置在主板上。后来Intel推出了双独立总线结构,将L2 Cache也集成到了CPU内部,但只能以CPU速度一半的频率工作。现在,Intel公司与AMD公司已经成功地将L2 Cache集成在CPU内部并以同CPU相同速度的频率工作,称为全速二级高速缓存。

7.工作电压

工作电压(Supply Voltage)即CPU正常工作所需的电压。早期的CPU(286、386、

486)由于制作工艺落后,因此工作电压较大,一般为5V(奔腾是3.5V、3.V、2.8V等)左右,导致CPU的发热量过大,电子迁移现象缩短了CPU的使用寿命。现在随着CPtJ制作工艺的提高,工作电压一般在1.5—2.0V之间,使CPU发热量问题得到很好的解决。

8.动态处理

动态处理是应用在高能奔腾处理器中的新技术,动态处理并不是简单执行一串指令,而是通过操作数据来提高处理器的工作效率。

(1)多路分流预测:通过几个分支对程序流向进行预测(预测精确度可达90%以上),当采用多路分流预测算法后,处理器便可参与指令流向的跳转。这是因为处理器在取指令时,还会在程序中寻找未来要执行的指令,该项技术可加速向处理器传送任务。

(2)数据流量分析:抛开原程序的顺序,分析并重排指令,优化执行顺序。处理器读取经过解码的软件指令,判断该指令能否处理或是否需与其他指令一道处理。然后,处理器再决定如何优化执行顺序以便高效地处理和执行指令。

(3)猜测执行:通过提前判读并执行有可能需要的程序指令的方式提高执行速度。当处理器执行指令时(每次5条),采用的是“猜测执行”的方法。这样可使PentiumII及以上的处理器超级处理能力得到充分的发挥,从而提升软件性能。被处理的软件指令是建立在猜测分支基础之上,因此结果也就作为“预测结果”保留起来。一旦其最终状态能被确定,指令便可返回到其正常顺序。

9.协处理器

协处理器也叫做数学协处理器,主要负责浮点运算,因此386、286、8088等微机CPU的浮点运算性能都相当落后,自从486以后,CP[J一般都内置了协处理器,协处理器的功能也不再局限于增强浮点运算,含有内置协处理器的CPU,可以加快特定类型的数值计算,某些需要进行复杂计算的软件系统,如AutoCAD就需要协处理器支持。

10.MMX指令集

; MMX(Multi Media eXtension,多媒体扩展指令集)指令集是Intel公司于1996年推

出的一项多媒体指令增强技术。MMX指令集中包括有57条多媒体指令,通过这些指令可以一次处理多个数据,在处理结果超过实际处理能力时也能进行正常处理。

1 1.SSE指令集

SSE(Streaming SIMD Extensions,单指令多数据流扩展)指令集是Intel公司在

Pentium III处理器中率先推出的。SSE指令集包括了70条指令,其中包含提高3D图形运算效率的50条SIMD(单指令多数据技术)浮点运算指令、12条MMX整数运算增强指令、8条优化内存中连续数据块传输指令。理论上这些指令对目前流行的图像处理、浮点处理、3D运算、视频处理、音频处理等诸多多媒体应用起到全面强化的作用。SSE指令与3DNow!指令彼此互不兼容,但SSE包含了3DNow!技术的绝大部分功能,只是实现的方法不同。

12.3DNow!指令集

有AMD公司提出的3DNow!指令集应该说出现在SSE指令集之前,并被AMD广泛

应用于其K6—2、K6—3以及Athlon(K7)处理器上。3DNow!指令集技术其实就是2l条机器码的扩展指令集。与Intel公司的MMX技术侧重于整数运算有所不同,3DNow!指令集主要针对三维建模、坐标变换和效果渲染等三维应用场合,在软件的配合下,可以大幅度提高3D处理性能。

决定CPU性能技术指标

每个买CPU的消费者,第一时间要过问的就是它的性能,对于一个CPU来说,性能是否强大是它能否在市场上生存下去的第一要素,那么CPU的性能是由哪些因素决定的咧?下面就列出影响CPU性能的主要技术指标:

1、主频,也就是CPU的时钟频率,简单地说也就是CPU的工作频率。一般说来,一个时钟周期完成的指令数是固定的,所以主频越高,CPU的速度也就越快了。不过由于各种CPU的内部结构也不尽相同,所以并不能完全用主频来概括CPU的性能。至于外频就是系统总线的工作频率;而倍频则是指CPU外频与主频相差的倍数。用公式表示就是:主频=外频×倍频。

2、内存总线速度或者叫系统总线速度,一般等同于CPU的外频。内存总线的速度对整个系统性能来说很重要,由于内存速度的发展滞后于CPU的发展速度,为了缓解内存带来的瓶颈,所以出现了二级缓存,来协调两者之间的差异,而内存总线速度就是指CPU与二级(L2)高速缓存和内存之间的工作频率。

3、L1高速缓存,也就是我们经常说的一级高速缓存。在CPU里面内置了高速缓存可以提高CPU的运行效率。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。采用回写(Write Back)结构的高速缓存。它对读和写操作均有可提供缓存。而采用写通(Write-through)结构的高速缓存,仅对读操作有效。在486以上的计算机中基本采用了回写式高速缓存。在目前流行的处理器中,奔腾Ⅲ和Celeron处理器拥有32KB的L1高速缓存,奔腾4为8KB,而AMD的Duron和Athlon处理器的L1高速缓存高达128KB。

4、L2高速缓存,指CPU第二层的高速缓存,第一个采用L2高速缓存的是奔腾Pro处理器,它的L2高速缓存和CPU运行在相同频率下的,但成本昂贵,市场生命很短,所以其后奔腾 II的L2高速缓存运行在相当于CPU频率一半下的。接下来的Celeron处理器又使用了和CPU同速运行的L2高速缓存,现在流行的CPU,无论是AthlonXP和奔腾4,其L2高速缓存都是和CPU同速运行的。除了速度以外,L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量最大的是512KB,而服务器和工作站上用CPU的L2高速缓存更高达1MB-3MB。

5、流水线技术、超标量。流水线(pipeline)是 Intel首次在486芯片中开始使用的。流水线

的工作方式就象工业生产上的装配流水线。在CPU中由5~6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5~6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高了CPU的运算速度。超流水线是指某型 CPU内部的流水线超过通常的5~6步以上,例如奔腾 4的流水线就长达20步。将流水线设计的步(级)数越多,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。超标量是指在一个时钟周期内CPU可以执行一条以上的指令。这在486或者以前的CPU上是很难想象的,只有奔腾级以上CPU才具有这种超标量结构;这是因为现代的CPU越来越多的采用了RISC技术,所以才会有超标量的CPU。

6、协处理器或者叫数学协处理器。在486以前的CPU里面,是没有内置协处理器的。由于协处理器主要的功能就是负责浮点运算,因此386、286、8088等等微机CPU的浮点运算性能都相当落后,自从486以后,CPU一般都内置了协处理器,协处理器的功能也不再局限于增强浮点运算。现在CPU的浮点单元(协处理器)往往对多媒体指令进行了优化。比如Intel的MMX技术,MMX是“多媒体扩展指令集”的缩写。MMX是Intel公司在1996年为增强奔腾 CPU在音像、图形和通信应用方面而采取的新技术。为CPU新增加57条MMX指令,把处理多媒体的能力提高了60%左右。现在的CPU已经普遍内置了这些多媒体指令集,例如现在奔腾4内置了SSE2指令集,而AthlonXP则内置增强型的3DNow!指令集。

7、工作电压。工作电压指的也就是CPU正常工作所需的电压。早期CPU(386、486)由于工艺落后,它们的工作电压一般为5V(奔腾等是3.5V/3.3V/2.8V等),随着CPU的制造工艺与主频的提高,CPU的工作电压有逐步下降的趋势,Intel最新出品的Tualatin核心Celeron已经采用1.475V的工作电压了。低电压能解决耗电过大和发热过高的问题。这对于笔记本电脑尤其重要。

8、乱序执行和分枝预测,乱序执行是指CPU采用了允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。分枝是指程序运行时需要改变的节点。分枝有无条件分枝和有条件分枝,其中无条件分枝只需要CPU按指令顺序执行,而条件分枝则必须根据处理结果再决定程序运行方向是否改变,因此需要“分枝预测”技术处理的是条件分枝。

9、制造工艺,制造工艺虽然不会直接影响CPU的性能,但它可以可以极大地影响CPU的集成度和工作频率,制造工艺越精细,CPU可以达到的频率越高,集成的晶体管就可以更多。第一代奔腾 CPU的制造工艺是0.35微米, 最高达到266Mhz的频率,PII和赛扬是0.25微米,频率最高达到450Mhz。铜矿核心的奔腾Ⅲ制造工艺缩小到了0.18微米,最高频率达到1.13Ghz。Northwood核心的奔腾4CPU制造工艺达到0.13微米,目前制造工艺已经达到0.045 微米。

性能指标

·主频

主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度。CPU的主频=外频×倍频系数。很多人认为主频就决定着CPU的运行速度,这不仅是个片面的认识,而且对于服务器来讲,这个认识也出现了偏差。至今,没有一条确定的公式能够实现主频和实际的运算速度两者之间的量值关系,即使是两大处理器厂家Intel和AMD,在这点上也存在着很大的争议,我们从Intel的产品的发展趋势,可以看出Intel很注重加强自身主频的发展。像其他的处理器生产厂家,有人曾经拿过一块1G的全美达来做比较,它的运行效率相当于2G的Intel处理器。

所以,CPU的主频与CPU实际的运算能力是没有直接关系的,主频表示在CPU内数字脉冲信号震荡的速度。在Intel的处理器产品中,我们也可以看到这样的例子:1 GHz

Itanium芯片能够表现得差不多跟2.66 GHz Xeon/Opteron一样快,或是1.5 GHz Itanium 2大约跟4 GHz Xeon/Opteron一样快。CPU的运算速度还要看CPU的流水线的各方面的性能指标。

当然,主频和实际的运算速度是有关的,只能说主频是CPU性能表现的一个方面,而不能代表CPU的整体性能。

·外频

外频是CPU的基准频率,单位也是MHz。CPU的外频决定着整块主板的运行速度。说白了,在台式机中,我们所说的超频,都是超CPU的外频(当然一般情况下,CPU的倍频都是被锁住的)相信这点是很好理解的。但对于服务器CPU来讲,超频是绝对不允许的。前面说到CPU决定着主板的运行速度,两者是同步运行的,如果把服务器CPU超频了,改变了外频,会产生异步运行,(台式机很多主板都支持异步运行)这样会造成整个服务器系统的不稳定。

目前的绝大部分电脑系统中外频也是内存与主板之间的同步运行的速度,在这种方式下,可以理解为CPU的外频直接与内存相连通,实现两者间的同步运行状态。外频与前端总线(FSB)频率很容易被混为一谈,下面我们在前端总线的介绍中谈谈两者的区别。

·前端总线(FSB)频率

前端总线(FSB)频率(即总线频率)是直接影响CPU与内存直接数据交换速度。有一条公式可以计算,即数据带宽=(总线频率×数据位宽)/8,数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率。比方,现在的支持64位的至强Nocona,前端总线是800MHz,按照公式,它的数据传输最大带宽是6.4GB/秒。

外频与前端总线(FSB)频率的区别:前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一千万次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit÷8bit/Byte=800MB/s。

其实现在“HyperTransport”构架的出现,让这种实际意义上的前端总线(FSB)频率发生了变化。之前我们知道IA-32架构必须有三大重要的构件:内存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的芯片组 Intel 7501、Intel7505芯片组,为双至强处理器量身定做的,它们所包含的MCH为CPU提供了频率为533MHz的前端总线,配合DDR内存,前端总线带宽可达到4.3GB/秒。但随着处理器性能不断提高同时给系统架构带来了很多问题。而“HyperTransport”构架不但解决了问题,而且更有效地提高了总线带宽,比方AMD Opteron处理器,灵活的HyperTransport I/O总线体系结构让它整合了内存控制器,使处理器不通过系统总线传给芯片组而直接和内存交换数据。这样的话,前端总线(FSB)频率在AMD Opteron处理器就不知道从何谈起了。

·CPU的位和字长

位:在数字电路和电脑技术中采用二进制,代码只有“0”和“1”,其中无论是 “0”或是“1”在CPU中都是 一“位”。

字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以能处理字长为8位数据的CPU通常就叫8位的CPU。同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。字节和字长的区别:由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节。

·倍频系数

倍频系数是指CPU主频与外频之间的相对比例关系。在相同的外频下,倍频越高CPU的频率也越高。但实际上,在相同外频的前提下,高倍频的CPU本身意义并不大。这是因为CPU与系统之间数据传输速度是有限的,一味追求高倍频而得到高主频的CPU就会出现明显的“瓶颈”效应—CPU从系统中得到数据的极限速度不能够满足CPU运算的速度。一般除了工程样版的Intel的CPU都是锁了倍频的,而AMD之前都没有锁。

·缓存

缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。

L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32—256KB。

L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量通常有256KB-2MB,而服

务器和工作站上用CPU的L2高速缓存可以有256KB-3MB,有的4MB也不为过。

L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。

其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。接着就是P4EE和至强MP。Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。

但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon

MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。

静态RAM是靠双稳态触发器来记忆信息的;动态RAM是靠MOS电路中的栅极电容来记忆信息的。由于电容上的电荷会泄漏,需要定时给与补充,所以动态RAM需要设置刷新电路。但动态RAM比静态RAM集成度高、功耗低,从而成本也低,适于作大容量存储器。所以主内存通常采用动态RAM,而高速缓冲存储器(Cache)则使用静态RAM。另外,内存还应用于显卡、声卡及CMOS等设备中,用于充当设备缓存或保存固定的程序及数据。