正在阅读:趣味评测:四核CPU内部运行情况大揭秘趣味评测:四核CPU内部运行情况大揭秘

2006-11-22 09:48 出处:PConline 作者:PConline评测室·孤独 责任编辑:谢成明
11.趣味测试一:四核运行时的分配问题回顶部

  前言:从去年年中开始,Intel与AMD就已经在双核起跑线上起步了。时隔18个月,摩尔定律再次起到作用,四核处理器如期出炉。我们在较早前已经推出了四核的常规评测报告《提前感受4核威力:4核CPU抢先详细测试》、四核的超频性能《残酷的真相!4核扣肉超频性能大曝光》 以及四核的功耗情况 《你的电脑多少瓦?最全面的CPU功耗测试》 。今天我们再来看看四核运行的效率情况。

  我们知道,目前发布的四核产品是采用了类似以前Pentium D所采用的方案,就是把Dual-die放在一起,两个酷睿2核心整合在一起而构成新的四核产品。我们在9月份对Intel四核产品评测时就已经提出,这种设计方案很有可能会被竞争对手攻击为“假四核”,不出意料日前AMD的服务站/工作站产品线全球业务拓展经理约翰·弗鲁赫就抨击“Intel只是把多个处理器黏在一个芯片上”,讽刺英特尔不是真的四核。

  这种真假言论与去年的真假双核如出一辙,其实笔者觉得无论是双核或者多核产品,业界并没有准确的定义,不同的设计可能会带来不同的运行效率及效能,这当中不应该涉及什么真假。能够满足消费市场的需要,在定价上又能合理的产品就是好产品。由于四核处理器的售价在8000元以上,所以普通用户暂时都没法亲自去试用,不知道四核运行的具体情况是如何的,本文从趣味的角度出发,来研究一下四核在运行单任务及繁重多任务时的情况。

测试平台

CPU

Intel Core 2 Quadro Kentsfield QX6700(LGA 775 / 266Mhz * 10 = 2.66G)

主板

QDI 965G

内存
Corsair DDR2 512MB*2(DDR 800@5-5-5-15)
硬盘
希捷 320G 16M SATAII
显卡

讯景 8800GTX(G80)

对比平台

CPU

Core 2 Duo E6300 (LGA 775 / 266Mhz * 10 = 2.66G)
Pentium Extreme Edition 840 (LGA 775 / 200Mhz * 16 = 3.2G)

软件平台

操作系统

WindowsXP Professional SP2 英文版+DirectX 9.0C

驱动程序

主板:Intel Chipset driver 8.1.1.1001
显卡:Forceware 91.47 WHQL

测试软件

TMPGENc 3.0 xPress
Super PI MOD-1.4 English
CineBench 2003

  测试说明:需要强调的是,本次评测偏向于理论性与趣味性,并不具有太大的现实指导意义。关于更偏重实际应用的测试,请查看较早前发布的常规报告《提前感受4核威力:4核CPU抢先详细测试》

趣味测试一:四核运行时的分配问题

  不少朋友比较关心四核处理器在工作时各个内核的工作情况以及不同的任务量时其工作效率是如何的,下面我们从运行1个Super PI程序开始,一直到同时运行8个Super PI程序,去具体观察四核运行的具体情况。


8个Super P程序同时运行

  1、运行一个Super PI程序

  我们首先运行Super PI程序,理论上运行单线程的程序是由一个核独立完成的。

  从上图中可以看出,和预测的一致,Windows显示只有一个核工作。应当指出的是,到目前为止,如果我们不指定程序使用哪一个内核来运行的话,我们还无法得知CPU内部在某一次的执行工作时会使用哪一个核来工作,关于这点Intel方面的技术人员也没有明确地回复。

运行一个Super PI

CPU占用率

测试成绩

25%
19.062

  OK,现在我们马上运行两个Super PI程序,看看运行的情况有什么变化。

  2、运行两个Super PI程序

  我们推测四核处理器运行两个单线程任务时,应该是由两个核去分别完成。令我们疑惑的是,究竟是由哪两个核去工作呢?我们知道,目前Intel发布的这颗四核处理器是由两个共享4M的Core双核处理器“合并”而成的,如果两个内核分别是由两个Core提供的话,那么两个内核就分别拥有4M的L2去运行,如果两个内核是由同一个Core双核提供的话,那么理论上两个内核都只能有2M的L2去运行了。

  从上图中的结果来看,尽管CPU占用率上一直显示为50%(即两个内核),但是Windows任务管理器上的图示显示四个核心都在不同时期中有工作。在进行多次这样的测试后,结果都是类似,并不会出现两个内核完全独立完成的情况。而对于究竟是哪两个内核去执行命令,这个还无法从图上作出判断,毕竟Windows上的任务显示并不一定就对应着处理器内部的核心。

运行两个Super PI

CPU占用率

测试成绩

50%
20.484
20.516

  而在成绩方面,两个Super PI的运行结果都约是20.5秒,比起单独运行一个Super PI的19秒慢了1.5秒左右,相差约7%。

  3、运行三个Super PI程序

  运行三个应用程序的话,我们估计成绩与运行两个程序的差不多,因为四核处理器理论上当然是要4个单线程应用程序同时运行才会达到满负荷的状态。

  当运行三个程序的时候,四核的工作情况还比较明朗,某一个核心处于低占用率水平,而另外三个则接近满负荷的状态,Windows显示出来的总的CPU占用率为75%,也就是三个核心。

运行三个Super PI

CPU占用率

测试成绩

75%
21.562
21.219
20.797

  测试出来的成绩与双任务的成绩非常接近,相差约1秒左右。

  4、运行四个Super PI程序

  运行四个程序的话,系统肯定是满负荷状态的了,理论上测试成绩应该还是能与单任务按近的。

  上图中可以看到CPU占用率是100%的,此时我们估计四个核心应该是各自运算四个对应的程序。

运行四个Super PI

CPU占用率

测试成绩

100%
24.359
24.422
24.531
24.265

  实际测试成绩上,四核的成绩约为24.3秒,比起三任务时的约21.3秒相距3秒,幅度有点儿大,看来四核在满负荷时,与理论值还是有一定的偏差的。当然这个与L2的机制是有着一定的关系的。

  5、运行五个Super PI程序

此时CPU是处于超负荷的状态,在同时运行五个Super PI程序的时候,是四个程序先运行完,再运行第五个程序,还是五个程序同时运行呢?

  我们先来看看测试结果:

运行五个Super PI

CPU占用率

测试成绩

100%
31.375
31.484
32.000
31.031
31.547

  可以看到,五个Super PI的成绩非常接近,可以认为它们是同步进行的,并不是四个核心单独运行一个Super PI,再共同去完成另一个Super PI的方式。另外,从运行的时间来看,已经从4个Super PI的24秒级别到了5个Super PI的31秒级别。这里有一个比较有趣的算法,那就是如果说运行4个Super PI时是刚好满负荷的话(也就是运行一个Super PI要24秒),那么运行5个Super PI的话,多出来的Super PI由四个核心去完成的时间就应该是24/4=6秒,也就是说最终的时间应该是24+6=30秒。与实际测试得出来的31至32秒比较吻合。

  6、运行六至八个Super PI程序

  如果按照上述的公式去推测,那么运行6个Super PI时,耗掉的时间应该是(31/4+31=)38秒,7个Super PI则是44秒,8个Super PI应该就是50秒。我们来一起看看结果。

CPU占用率

测试成绩

运行六个Super PI
100%
38.250
36.062
38.297
38.875
38.219
38.578
运行七个Super PI
100%
44.594
43.547
41.844
44.219
42.406
44.768
43.422
运行八个Super PI
100%
50.562
48.609
43.703
51.078
43.187
50.719
47.906
51.047

  从结果可以看到,实际测试的成绩与理论推断的结果很吻合,这个理论的多任务式测试完全可以反映出多核的“比例”式的工作模式。当然,这只是在这种纯理论环境中的结论,在实际复杂的程序,先后不一的程序中要表达出如此理论的结果是不容易的。

  小结:下面我们来对每次运行的结果取平均值,纵向查看一下四核在运行1至8个Super PI时的耗时情况。

CPU占用率

测试成绩

运行1个Super PI
25%
19.1
运行2个Super PI
50%
20.5
运行3个Super PI
75%
21.2
运行4个Super PI
100%
24.4
运行5个Super PI
100%
31.5
运行6个Super PI
100%
38.0
运行7个Super PI
100%
43.5
运行8个Super PI
100%
48.4

  从上表中可以大约得出这样的结论,从运行一个Super PI到4个,增加的幅度是比较小的,这完全符合多核的工作原理。而当到了超负荷的5个到8个Super PI时,表现出来的结果也是按照上述的公式,基本上是按照比例来增加的。例如运行4个需要的平均时间是24.4,而运行8个需要的平均时间是48.4,很吻合地是两倍的关系。

42.趣味测试二:双核与四核运行效率对比回顶部

趣味测试二:双核与四核运行效率对比

  从双核到四核,两者的关系看似简单,实际上还是有点复杂的。因为四核里面是由两个双核组成,每个双核是共享4M的L2的,所以在运行多任务的时候对于每个核心的工作状态我们还无法精确地了解到,所以我们只能从应用的实际结果去推测。

  我们把X6800降频至266*10=2.66GHz的水平,也就是与本次评测的四核的频率完全一致,通过这样我们就可以对比双核与四核在同频率下时的区别了。

双核成绩
Intel Core 2 Duo E6700(266×10=2.66G)

四核成绩
Core 2 Quadro Kentsfield QX6700(266×10=2.66G)

提升幅度

运行1个Super PI
19.1
19.1
0%
运行2个Super PI
22.3
20.5
8.8%
运行3个Super PI
32.8
21.2
55%
运行4个Super PI
44.9
24.4
84%
运行8个Super PI
88.6
48.4
83%

  从理论上去看,在两者均未达到满载的时候,成绩应该相差不大。而双方都同时达到满载时,四核的成绩应该比双核好上一倍。从上述测试的结果来看,实际的成绩与理论的成绩还是吻合的。例如在运行8个Super PI时,四核比双核提升的幅度为83%,这个理论成绩与Intel公布的结果是一致的。

  我们再来看看另两个程序的运行情况,我们选择了TMPGENc压缩软件与CineBench软件来进行考察。


CineBench针对多线程进行了优化

双核成绩
Intel Core 2 Duo E6700(266×10=2.66G)

四核成绩
Core 2 Quadro Kentsfield QX6700(266×10=2.66G)

提升幅度

TMPGENc
248
248
0%
CineBench
30.6
17.7
73%

  在TMPGENc压缩考察上,虽然已经针对多线程作出了优化,但是四核与双核相比还是没有提升;而理论性非常强的CineBench上则可以明显看出四核的威力,提升幅度达到了70%以上。

53.趣味测试三:“超线程四核”与“物理四核”对比回顶部

趣味测试三:“超线程四核”与“物理四核”运行效率对比

  我们知道,在去年年中最早发布的首批双核处理器,有一个比较特殊的产品,它就是Intel Pentium Extreme Edition 840了。它具备两个物理核心,两个核心都支持超线程,所以在系统中我们同样可以看到此颗处理器是具有四个并行处理能力的。

  我们来看看从运行1个Super PI到运行4个Super PI时的CPU占用率情况。


运行1个Super PI时的情况

  只运行1个Super PI时的情况与物理四核的不太相同,系统显示一共有三个核心都有反应,不过主要运行还是由一个物理核心去完成的。我们可以看到第二与第四个“核心”其实都只是突发性状态,并没有真正起到运行的作用。


运行2个Super PI时的情况

  运行2个Super PI时的情况就更为复杂了,理论上应该是由两个核心去完成的。实际上系统显示第一、第二个“核心”为主要的工作核心。如果系统显示的是准确的,那么第一、二个核心应该就是物理核心了,但这个又与上面运行一个核心时的情况不一样,所以我们不能以此确定Windows显示的核心情况。


运行3个Super PI时的情况


运行4个Super PI时的情况

  运行3到4个Super PI时与物理4核的情况比较类似,这里就不去详细讨论了。

64.测试总结回顶部

  下面我们来一起看看成绩。

双核成绩
Intel Core 2 Duo E6700(266×10=2.66G)

四核成绩
Core 2 Quadro Kentsfield QX6700(266×10=2.66G)

提升幅度

运行1个Super PI
19.1
19.1
0%
运行2个Super PI
22.3
20.5
8.8%
运行3个Super PI
32.8
21.2
55%
运行4个Super PI
44.9
24.4
84%
运行8个Super PI
88.6
48.4
83%

双核(关闭超线程)
Pentium EE 840

双核(开启超线程)
Pentium EE 840

提升幅度

运行1个Super PI
40.2
40.5
-0.7%
运行2个Super PI
41.7
44.3
-6%
运行3个Super PI
61
49.2
23%
运行4个Super PI
82.5
59.3
39%
运行8个Super PI
165
116
42%

  我们来对比各自的提升幅度,可以看出,物理四核相对于物理双核提升的幅度最大值为80%左右,超线程四核相对于物理双核提升的最大幅度为40%左右,两者的提升幅度相差约为一倍。另外值得注意的是超线程4核在没有达到最大负载的时候,其成绩反而会有所影响,而物理4核则没有这个问题。

  我们再来看看媒体压缩与CineBench渲染的情况。

双核成绩
Intel Core 2 Duo E6700(266×10=2.66G)

四核成绩
Core 2 Quadro Kentsfield QX6700(266×10=2.66G)

提升幅度

TMPGENc
248
248
0%
CineBench
30.6
17.7
73%

双核(关闭超线程)
Pentium EE 840

双核(开启超线程)
Pentium EE 840

提升幅度

TMPGENc
462
434
6%
CineBench
49.5
42.8
16%

  在媒体压缩上,超线程技术有微小的贡献,而在CineBench渲染上,超线程与物理核心的区别就非常的大,前者提升的幅度仅为16%,后者达到了73%。

四、测试结论

  根据以上的测试,针对我们的三个测试点,我们可以得出以下的一些表面的结论。

  对于四核处理器,在没有满负荷的状态下时,具体是由哪一个核心运行来运行程序应该是不具有确定性的,除非我们指定是由哪一个核心来运行指定的程序,否则在Windows系统里面显示的情况是无序性的,Intel官方暂时也没有给出具体的答案。

  在运行效率方面,对于理论性的多线程来说,四核的运行效果与理论预测非常吻合,其并行处理能力确实可以达到官方公布的理想状态。但是值得注意的是,我们这种针对理论而设计出来的多线程并不具有太大的现实指导意义,对于现实意义中的用户使用环境的测试,我们在较早前发布的评测报告中已经讨论过了,具体可以点击《提前感受4核威力:4核CPU抢先详细测试》进行查看。

  而对于超线程4核与物理4核的区别,我们得出的结论是超线程能在最大40%范围内提升多线程并行处理能力,但是在非满负荷状态下超线种会产生微小的负作用;而物理4核则没有出现此问题,其提升的幅度也明显比超线程要大很多,可以达到理论值的80%左右。

  总的来说,四核处理器硬件上提供了相当可观的并行处理能力,但是这一切都要依赖软件来发挥。如果今后软件商将多线程优化作为一个重大课题来研究的话,那么多核时代将会加速到来,反之则会延误或者削弱多核的普及进程。

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
热门排行

DIY论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品