趣味测试一:四核运行时的分配问题
不少朋友比较关心四核处理器在工作时各个内核的工作情况以及不同的任务量时其工作效率是如何的,下面我们从运行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,很吻合地是两倍的关系。
URl收藏 http://www.qqread.com/hardware/cpu/testing/2006/11/v281209.html进入讨论组讨论。相关专题
- 2G轻取3.8G Conroe平台对阵老款P4处理器 (575次浏览)
- 穷人法拉利 AMD最新AM2闪龙处理器快速测试 (538次浏览)
- 超能还是低能 M0版奔腾E2140抢先试玩 (370次浏览)
- 领先双核400% 英特尔八核怪兽V8系统评测 (338次浏览)
- 终极双核焦点战 E6850 6400+对比测试 (222次浏览)
- E2140/4000+对杀399元 入门双核该选谁 (215次浏览)
- 多花200值不值 英特尔E4500/E2210评测 (149次浏览)
- 三缺一不遗憾 AMD准蜘蛛平台性能评测 (148次浏览)
- AMD低功耗双核X2首测 功耗超频表现理想 (111次浏览)
- 差距有多大 E2140超频100%挑战QX9770 (107次浏览)









