512K到12M CPU二级缓存性能揭密测试

互联网 | 编辑: 2008-01-03 01:30:00转载 返回原文

处理器要想显著的提升性能,不外乎四种方法:改进微处理器架构、增加处理器核心数量、提升频率和增加二级缓存。而就目前的使用环境来说,有的时候增加处理器核心数量并不能很好的带来性能提升,而架构更新一般属于整代产品更新之际才能出现。因此在需要沿用数年相同架构的处

前言

处理器要想显著的提升性能,不外乎四种方法:改进微处理器架构、增加处理器核心数量、提升频率和增加二级缓存。而就目前的使用环境来说,有的时候增加处理器核心数量并不能很好的带来性能提升,而架构更新一般属于整代产品更新之际才能出现。因此在需要沿用数年相同架构的处理器来说,主频和二级缓存则成为了提升性能,拉开产品差距的主要手段。

我们都知道,处理器在执行指令时,会将执行结果暂时存放在名为“寄存器”的单元中,由于“寄存器”集成在处理器内部,与整数、浮点单元等构成处理器的重要元件,因此“寄存器”中的指令可以很快就被处理器所访问读取,但受到处理器内核的大小限制,寄存器的容量不可能做的很大,因此处理器所需要读取和处理的大量指令和数据还会在内存(RAM)当中,处理器为了完成指令操作,需要频繁地向内存发送接收指令、数据。但由于内存的处理速度远低于处理器内部的“寄存器”,所以处理器与系统之间的瓶颈在这里就产生了,处理器在处理指令时往往花费很多时间在等待内存做准备工作。为了解决这个问题,人们在处理器内集成了一个比内存快许多的“Cache”,这就是最早的“高速缓存”。

一级缓存和二级缓存对于处理器的性能影响可谓至关重要,一级缓存与二级缓存一般情况下被称为高速缓存,处理器在运行时首先从一级缓存读取数据,然后从二级缓存读取数据,最后才会从内存和虚拟内存读取数据,因此高速缓存的容量和速度直接影响到处理器的工作性能。一级缓存历来都是内置在处理器内部并于处理器同速运行,可以有效的提高处理器的运行效率。一级缓存越大,处理器的运行效率自然也就越高。但凡事都有利也有弊,正是因为一级缓存是内置在处理器内部,受到工艺和晶体管数量的约束,也就造成了一级缓存的容量不可能做的很大。另外一点还在于一级缓存要增加容量必要会牵扯到对处理器内核方面的改动,相对于增加二级缓存来说难度更大。

二级缓存虽然在速度上无法与一级缓存相比,不过依靠容量上的优势,还是会对处理器运行效率产生很大的影响。从以前的处理器来看,二级缓存大致分为两种:内部和外部。内部二级缓存是集成在处理器内部,运行速度与处理器频率相同,现在的酷睿2处理器依旧采用这种方式。外部二级缓存应用最广的时候是在Intel PII、PIII处理器的Slot1时代,其二级缓存就是集成在处理器外部,以处理器时钟频率一半的速度运行,比较来说,集成在处理器外部的二级缓存在执行效率方面较低。

一级高速缓存是与处理器完全同步运行的存储器,也就是我们常说的一级缓存,如果处理器需要的数据和指令已经在高速缓存中了,那么处理器不必等待,直接就可以从一级缓存中取得数据,如果数据不在一级缓存中,处理器再从二级缓存中提取数据,大大提高了系统的工作效率。但处理器的缓存也不是越大越好。首先是高速缓存的成本问题,高速缓存都是采用速度快、而价格昂贵的静态RAM(SRAM),价格成本原高于我们使用的内存成本。此外由于每个SRAM内存单元都是由4~6个晶体管构成,增加缓存会带来CPU集成晶体管数量的激增,好比目前的QX9650处理器,其自身晶体管数量为8.2亿,而其中一半以上的晶体管数量都出自二级缓存,并且随着一级、二级缓存的增加,发热量也将随之增大,会给研发和量产带来不小的困难。最后一点就是在整个处理器的架构设计上,如果架构设计存在问题,如缓存分配、使用、管理机制任何一个环节出现问题,都会造成缓存使用率不高、无法提升性能的情况出现。

对于缓存的理论介绍我们在网上就可以搜索出大量的信息,所以至此,我们也不再对其进行更多的理论介绍,因为对于广大用户来说,实际的使用效果才是关键。理论上的东西再美好也不是用户们所关注的。下面就让我们一起来探寻一下不同缓存下,处理器的性能表现。

测试平台及说明

英特尔自从全面转入酷睿2架构之后,二级缓存成为了衡量处理器性能的重要标尺,从采用512KB的赛扬420处理器到采用12MB二级缓存的QX9650,各个不同档次的处理器虽然在处理器核心的数量上不同之外,在缓存的容量上也是具有很大的差异,这也使得不同档次的处理器在性能上有了明显的差距。本文就将以测试作为重点,在相同的架构下,以理论基准、图形、办公和游戏几项不同类型的测试来诠释不同容量缓存所带来的性能影响。

测试软件: PCMark05、CINEBENCH9.5、CPU Mark99、Super PI 1.5、Fritz Chess Benchmark、POV-RAY 3.7、7-ZIP 4.48、WINRAR 3.62、LAME、Windows Media Encoder9、3DMark05、Quake4、Half Life2、英雄连、帝国时代3、极品飞车10生死卡本谷。

在测试中,我们首先会进入BIOS中对处理器、内存频率、时序等方面进行手动设定。并且将主板中的各种智能加速技术关闭。并且将“酷睿2”的SpeedStep和C1E功能关闭以保证处理器始终在全速主频下运行。

由于本次测试的重点是考察二级缓存对处理器带来的影响,所以本次测试我们找来了Intel Core2 QX9650、Intel Core2 Q6600、Intel Core2 Duo E6700、Intel Core2 Duo E4400、Intel Core2 Duo E2180、Intel Conroe-L 420共计六款处理器。在测试中,我们首先将Intel Core2 QX9650、Intel Core2 Duo E6700、Intel Core2 Duo E4400、Intel Core2 Duo E2140四款处理器只打开一个核心运行,加上本来就是单核心的 Conroe-L 420处理器,这样就可以完全模拟出单核心下从512KB、1MB、2MB、4MB到6MB的五种不同缓存处理器,这也是由酷睿2架构处理器的共享二级缓存这个特性所决定的,一个核心同样可以调用全部的二级缓存。问题的难点在于8MB和12MB二级缓存的四核心处理器Q6600与QX9650上,因为只打开一个核心的话,四核心处理器是无法调用另外两个核心共享的二级缓存的,所以与单核心下的E6700、QX9650没有区别,因此在对于8MB和12MB二级缓存的测试方面,我们只能不关闭核心,且尽量的寻找可以选择单核心的测试软件来进行测试,同时介于四核心处理器中两个二级缓存的数据交换要依靠总线频率,因此8MB和12MB的测试成绩仅作为参考而已!

实现了缓存和核心数量的统一之后,就是主频了,既然是检验缓存对性能的影响,自然要将频率对测试成绩的影响降到最低,介于 Conroe-L 420处理器无法调节倍频,所以我们将所有处理器的频率设定为333*8=2.66G,这个频率对于酷睿2处理器来说还是轻而易举就能达到的。

测试处理器CPU-Z截图一

主频统一为2.66G,其中从512KB到6MB的二级缓存中采用单核心测试。

测试处理器CPU-Z截图二

主频统一为3.2G,仅仅测试512KB到6MB五种不同二级缓存的性能。具体测试方法和采用该测试的原因在本文《更高的主频会更好的发挥二级缓存性能吗?》的章节中会有所交代。

理论基准测试——PCMark05

在 PCMark05的处理器子系统测试中,不同缓存之间的性能差距并不大,而8MB和12MB的得分则因为多核心优势处于领先。

理论基准测试——CPUMark99

CPUMark99是大名鼎鼎的ZDLabs实验室的一个测试软件,已经问世多年,这个测试软件使用了32位的测试指令,可以有效对CPU的32位性能做出一个快速评价,该测试软件对处理器的系统性能还是会有一个客观的得分体现的。

在测试中我们可以看到,不同二级缓存下的得分都非常接近,唯一例外的就是 Conroe-L 420处理器,在相同频率下,512KB的 Conroe-L 420处理器得分大幅度落后于其他处理器,看来就算是理论方面的性能测试,512KB也已经无法胜任了。而具有1MB二级缓存的酷睿2处理器与6MB甚至是12MB的处理器可以说是处于同一级别。

理论基准测试——Super Pi 1.5

Super PI也是很多用户拿来考察处理器性能的一款理论运算软件,其对二级缓存有一定的依赖,从测试中的表现我们就可以看出,随着相同主频下二级缓存的逐步加大,成绩也随着上升。6MB和12MB测试成绩由于采用的同为架构改进的QX9650处理器,因此在该测试中占据一定的优势。但二级缓存给性能带来的帮助也是比较明显的。

CINEBENCH9.5

在CINEBENCH9.5的测试中,6MB和12MB的QX9650依旧凭借更大的二级缓存和架构上的改进而获得了明显的领先。而 Conroe-L 420处理器的得分依旧垫底,且与其他同主频下的性能差距非常明显。可见 Conroe-L 420处理器的512KB二级缓存在理论性能测试等方面已经明显成为了瓶颈。

办公性能——网络办公性能

PCMark05中的网页测试,该测试对处理器在网络办公等方面的性能具有一定的指导作用。在测试中我们可以看到,同频率不同缓存之间处理器的性能差距基本相同,可见二级缓存对于网络办公等应用的影响并不明显,当然其中的 Conroe-L 420处理器依然是一个例外,512KB二级缓存的 Conroe-L 420处理器在测试成绩中明显落后。

办公性能——压缩解压缩性能测试

7-ZIP v4.48:字典大小为32MB。

在7-ZIP的压缩测试中,同为单一线程运行,不同二级缓存下的文件压缩性能有着比较明显的差别。而当处理器的二级缓存达到4MB之后,性能的增长则非常微弱,这说明在文件压缩等情况下,酷睿2架构处理器的二级缓存在4MB之后就已经不能再从增加缓存上获得明显的好处。Conroe-L 420处理器依旧以明显的劣势垫底。

在7-ZIP的压缩测试中,同为单一线程运行,不同二级缓存下的文件解压缩性能并没有什么区别。如果向获得更好的解压缩性能,多核心处理器、主频和磁盘性能更为关键。

在WINRAR的单线程测试中,二级缓存发挥了一定的作用,但该测试项目更加偏向于理论方面。

Fritz Chess Benchmark测试

Fritz Chess Benchmark是一款国际象棋测试软件,但它并不是独立存在的,而是《Fritz9》这款获得国际认可的国际象棋程序,而Fritz Chess Benchmark只是《Fritz9》其中的一个测试性能部分。它可以让我们的X86计算机也能完成IBM“深蓝”当初所做的事情,那就是计算国际象棋的步法预测和计算,虽然现在我们的个人电脑依然无法与10年前IBM的“深蓝”相提并论,并且无论是在处理器架构方面、节点方面还是AIX操作系统方面都有很大的差距,但是Fritz Chess Benchmark依然是目前在个人计算机方面最好的步法计算和预测软件,同时也可以让我们对等的看到目前我们所使用的个人计算机到底达到了一个什么样子的水平。同时该软件还给出了一个基准参数,就是在P3 1.0G处理器下,其可以每秒运算48万步。

Fritz Chess Benchmark测试中,除了已经屏蔽核心的处理器之外,在8MB和12MB缓存的测试中,我们将测试程序中的线程设定为1,这样四核心处理器将会平均进行运算,可以充分调用全部的二级缓存。

在测试中虽然随着二级缓存容量的提高,让最终的测试成绩也稳步增长,但是增长幅度并不大。

POV-RAY v3.7渲染测试

POV-Ray(Persistence of Vision Raytracer)是一个使用光线跟踪绘制三维图像的开放源代码免费软件。它是基于DKBTrace来开发的,DKBTrace是由“David Kirk Buck”和“Aaron A. Collins”编写在Amiga上的。POV-ray早期也受到了“Polyray raytracer”作者“Alexander Enzmann”的帮助。

在POV-Ray的测试中,1MB、2MB、4MB三种二级缓存下的成绩相同,由此我们可以分析出,6MB性能的突出是因为QX9650在架构上的改进和增加的运算器所带来的,而Conroe-L 420处理器则因为512KB的过低二级缓存而导致性能不足。

视频音频编解码测试

该项测试我们采用了LAME 3.97和Windows Media Encoder9两款测试软件来分别进行WAV转MP3、AVI转WMV和WAV转WMA的视频、音频编码测试。测试中我们选择了一个容量为500MB的AVI文件作为视频原文件,一个125MB的WAV文件作为音频源文件。

在Windows Media Encoder9的测试中,由于系统会调用多线程,而要想让处理器充分调用8MB和12MB的二级缓存,我们不可以将处理器核心设定为单线程,所以我们取消了8MB和12MB的测试成绩。

在LAME的测试中,二级缓存的大小并没有为最终的测试结果带来什么明显的差距。

Windows Media Encoder9的音频编码测试中,从1MB到6MB各个不同二级缓存之间的性能完全相同。Conroe-L 420处理器依旧垫底。

在视频编码测试中,二级缓存开始发挥了作用,可惜作用并不明显。

可见在音视频编解码方面,二级缓存并不能给用户带来什么好处,当然Conroe-L 420处理器是个例外,过低的二级缓存使得其要明显落后。

3DMark05及处理器性能测试

在3DMark05的测试中,同主频下不同二级缓存的表现还是得到了一定的表现,尤其是Conroe-L 420处理器,在512KB到1MB的性能差距远大于1MB到2MB的性能差距。

在处理器渲染方面,二级缓存越大所获得的得分自然越高,但幅度并不明显。

游行性能测试一

我们都知道,在一般情况下,更大的二级缓存会非常明显的提高处理器和显卡在游戏中的性能表现,因为更大的二级缓存会大幅度提高处理器的浮点运算能力。最后,就让我们用游戏来考验一下不同二级缓存下同主频同架构处理器的不同表现。

《帝国时代3》的测试方法为先进行最大地图的4V4对战,科技设定为最大、地图全开、资源最大,并迅速用战斗单位将人口达到200上限,此后在地图中间8个文明1800多个战斗单位开始混战时存盘,以此为记录开始点,每次测试时都先读取存盘进度,当读取进度完成并且游戏开始记录帧数,时间为60秒。由于此时近2000个战斗单位的大型混战,如此巨大的AI计算,使得游戏对处理器的要求更加明显。

各个不同二级缓存在《帝国时代3》中的表现都得到了体现,前面我们已经介绍了游戏中的测试方法,该测试方法哪怕帧数提高1都是非常困难的。在处理器主频相同的情况下,此时二级缓存就成为了性能高低的重点,相比较来说,2MB到4MB之间具有一个较大的跨度。

《极品飞车10:生死卡本谷》的测试更加能突出二级缓存对性能的影响,当二级缓存提高的时候,游戏帧数也同样稳定提高,且提高幅度非常明显。其中性能提高比例最大的部分出现在512KB到1MB之间,此时二级缓存容量提高一倍,性能获得了25%的提高,而当二级缓存从1MB提高到2MB时,性能仅有17%的提高,后面的二级缓存虽然依然成倍数增加,但是性能的提高比例却越来越小。

看来Conroe-L 420处理器虽然价格便宜,但是在性能上也确实是低的可怜。

游戏性能测试二

在《Quake4》的测试中,与前面的《极品飞车10:生死卡本谷》类似,当二级缓存从512KB提高到1MB时,性能有23%的提高。

《半条命2》中,超频到2.66G的Conroe-L 420处理器性能依然坐稳了倒数第一的“交椅”,与具有6MB二级缓存的同频率处理器相比,性能差距甚至达到了102%!

由于《英雄连》这款游戏对处理器频率和二级缓存都非常敏感,所以测试的结果也是更为直观。此时不要说具有6MB二级缓存的同主频处理器,就连2.66G的E6700也要领先近100%!

更高的主频会更好的发挥二级缓存性能吗?

我们都知道,处理器在缓存中找到需要的数据称为“命中”,只有当缓存中没有处理器所需的数据时(此时称为未命中),处理器才会对内存进行访问。鉴于目前的处理器大都具有一级缓存和二级缓存。打个比方,比如在一颗拥有二级缓存的处理器中,处理器读取一级缓存的命中率为80%,这说明处理器在一级缓存中能够找到的所需要的数据占所需数据总量的80%,另外剩下的20%处理器将会从二级缓存中去寻找,剩下的这20%数据是不可能从二级缓存中全部找到的,也会出现“未命中”,所以我们在此假定二级缓存的“命中率”也同样为80%,找到剩余20%所需数据中的80%,那么还有总数据量的4%没有被命中,此时处理器就不得不从内存中去调用这剩下的4%。

介于从处理器内部到一级缓存、二级缓存最后到内存的所需时间会越来越慢,所以缓存的命中率和主频在理论上也会影响到缓存的性能表现,但实际使用中,纯理论的情况会出现吗?下面就让我们通过测试来检验一下。

注:在测试中,我们将所有处理器的主频一起提升到3.2G,其他设定不变。

在《Quake4》的测试中,主频共同提升到3.2G之后,512KB与1MB的性能差距从原有的23%下降到了20%。2MB与4MB的性能差距则有微弱的提升,从原有的8%提高到了9%。512KB与6MB的性能差距则没有变化,主频从2.66G提高到3.2G之后,两者的性能差距依旧保持在相同的59%上。

在《半条命2》的测试中,512KB与1MB的性能差距从原有的23%提高到了25%。2MB与4MB的性能差距则有提升,从原有的25%提高到了28%。512KB与6MB的性能差距提升相对明显,性能差距从2.66G主频下的102%提高到了3.2G下的120%,有18%的提高。

在《英雄连》的测试中,提升频率之后的512KB二级缓存和1MB二级缓存的性能差距为40%,略高于在2.66G主频下的37%。而2MB与4MB的性能差距则从原有的14%提高到了16%。512KB与6MB的性能差距从原有的123%提高到了131%,可见在《英雄连》这种对处理器非常敏感的游戏中,主频越高,越能更好的发挥出大二级缓存的优势。

通过上面的测试我们可以大致了解到,随着主频的提高,在大多数情况下,不同容量的二级缓存在性能上确实会有更大的性能差距。但是与主频的提升并不成正比,在原有的基数比例下,当主频同步提升20%的情况下,游戏中大致会出现8%左右的缓存性能增长,最高时也仅仅达到18%(《半条命2》中)。

一部分人都会有主频越高,缓存“命中”率越大的认识,因为主频的提高,自然会提高高速缓存与主缓存的存取时间,也有的读者会拿{Cache“命中”率=(平均存取时间-主存存取时间)/(高速缓存存取时间-主存存取时间)}这个公式来换算,但是这样的计算结果显然是没有任何实际意义。因为当今缓存的“命中”率中都会采取极为高效、科学的算法来提高缓存的效率。在这种学术问题上永远都会存在争议,在这个问题上我们也没有必要较真儿,作为消费者和玩家的我们只需要知道,主频的提高确实会提高缓存性能就可以了。

测试处理器CPU-Z截图二

英特尔处理器在游戏方面历来就是二级缓存非常的敏感,其实这与一级缓存的设计是分不开的。英特尔的处理器采用的是“数据代码指令追踪缓存”设计,基于这种架构设计的的一级缓存不存储实际的数据,而仅仅存储这些数据在二级缓存中的指令代码,如此一来,所有数据都将被存储到二级缓存中,而一级数据所需要存储的仅仅是数据在二级缓存中的起始地址而已。由于一级数据缓存不再存储实际数据,因此该设计能够在很大程度上降处理器对一级缓存容量的要求,进而降低处理器的生产难度和成本,这也就可以解释了为什么酷睿2处理器的一级缓存仅仅为32KB+32KB。此时我们也就可以知道这种设计的弊端,那就是处理器对于二级缓存的容量会有很大的依赖,也因此使得英特尔处理器对于二级缓存非常的敏感。

AMD处理器的一级缓存设计采用的是传统的“实数据读写缓存”设计,基于该设计的一级缓存主要用于存储CPU最先读取的数据,而其余的预读取数据则分别存储在二级缓存和系统内存当中。这种设计的有点在于更加直接快速的读取数据,缺点在于对一级缓存的容量有更高的要求,同时增加了处理器的制造难度和成本(因为一级缓存集成在处理器内核的内部,二级缓存则独立存在于处理器内核的外部,并且一级缓存的成本要高于二级缓存)。以AMD Athlon 64处理器为例,由于其已经具备了64KB一级指令缓存和64KB一级数据缓存,只要处理器的二级缓存容量大于等于128KB就能够存储足够的数据和指令,正是因为这个设计,让AMD的处理器对于二级缓存并不如英特尔处理器那样敏感。

通过前面的测试我们对于二级缓存对英特尔酷睿2处理器性能的影响有了一个清楚的认识,在网络办公、音视频编解码处理等方面,当二级缓存达到一定的容量时,提高二级缓存容量并不会给处理器带来什么明显的性能提升。而在3D游戏这种对处理器浮点运算能力要求很高的应用中,二级缓存的增加无疑会更好的提高性能。当然在这里我们还有一点是不能否认的,那就是更高的二级缓存对于多核心处理器来说还是具有无法替代的助力,但介于不同核心数量之间的处理器缺乏对比的公正性,所以在本文中笔者并没有对其进行更加深入的测试,如果有必要的话,我们会考虑在今后专门对此进行剖析。

面对现在英特尔酷睿2处理器全面风暴的肆虐,我们到底该如何选择呢。如果仅仅是组建办公用机,那么笔者在这里推荐E2140、E2160等处理器,目前在中关村市场中,一颗散包的E2140售价在480元左右(散包410元),虽然Conroe-L 420处理器的价格才280元(220元),但是在测试中Conroe-L 420处理器的性能已经告诉我们,就算是在对二级缓存容量并不敏感的办公等应用上,Conroe-L 420处理器也由于二级缓存过低,而导致其明显落后于E2140,而大家都在2.66G主频单线程下时,E2140的性能却不输于E6700甚至是QX9650,而在游戏性能方面,E2140处理器在同主频下更是保持着对Conroe-L 420处理器20%~35%的性能领先优势。在性能上的优势已经给了选择E2140处理器的理由,同时我们不要忘记的是,E2140处理器同为双核心处理器,远非Conroe-L 420单核心处理器相比,所以就性价比来说,E2140处理器更加值得选择。

更高追求性价比的玩家可以将目光放在E4400和E4500处理器上,目前在中关村市场中,散包的E4500无疑更加值得选择。盒包E4400和E4500处理器的售价分别为880元和920元,散包的E4400和E4500更是仅售790元和800元,这两款处理器的默认主频就完全可以表现出很高的性能来,高倍频则让其超频更加轻松,原生的2MB二级缓存也使得处理器的发热量得到了更好的控制。与E6XXX系列处理器相比, 缺少的VT虚拟化技术也是一般用户不会应用到的,但这却可以让用户少花费数百元。

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑