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

来源:太平洋电脑网 作者: 2007-12-03 出处:pcdog.com

操作系统  超线程  多线程  压缩软件  硬盘  
上一页 1 2 3 4 5 下一页 

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

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

四核CPU趣味评测:内部运行情况大揭秘(图一)


8个Super P程序同时运行

  1、运行一个Super PI程序

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

四核CPU趣味评测:内部运行情况大揭秘(图二)

  从上图中可以看出,和预测的一致,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趣味评测:内部运行情况大揭秘(图三)

  从上图中的结果来看,尽管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个单线程应用程序同时运行才会达到满负荷的状态。

四核CPU趣味评测:内部运行情况大揭秘(图四)

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

运行三个Super PI

CPU占用率

测试成绩

75%
21.562
21.219
20.797

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

  4、运行四个Super PI程序

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

四核CPU趣味评测:内部运行情况大揭秘(图五)

  上图中可以看到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程序的时候,是四个程序先运行完,再运行第五个程序,还是五个程序同时运行呢?

四核CPU趣味评测:内部运行情况大揭秘(图六)

  我们先来看看测试结果:

运行五个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,很吻合地是两倍的关系。



上一页 1 2 3 4 5 下一页 
上一篇:性价比超越酷睿 AM2平民皓龙CPU暴跌200元
下一篇:征战主流市场 AMD 65nm双核CPU详细评测