我要买一台笔记本电脑供儿子上学使用,因此它不必是游戏机。我以前从头开始组装PC,但是已经有一段时间了。
我注意到,许多可用的入门级计算机都配备了双核或单核CPU。我知道,在其他所有条件相同的情况下,双核CPU可能会表现更好。但是,如果单核具有更大的二级缓存(例如,单核为3 MB,双核为1 MB)怎么办?我知道这也会严重影响性能。
我了解其他系统组件,例如内存速度和图形硬件,也会影响系统性能。我的问题是,如果我必须在额外的CPU内核还是更多的缓存之间进行选择,我应该选择什么?
我要买一台笔记本电脑供儿子上学使用,因此它不必是游戏机。我以前从头开始组装PC,但是已经有一段时间了。
我注意到,许多可用的入门级计算机都配备了双核或单核CPU。我知道,在其他所有条件相同的情况下,双核CPU可能会表现更好。但是,如果单核具有更大的二级缓存(例如,单核为3 MB,双核为1 MB)怎么办?我知道这也会严重影响性能。
我了解其他系统组件,例如内存速度和图形硬件,也会影响系统性能。我的问题是,如果我必须在额外的CPU内核还是更多的缓存之间进行选择,我应该选择什么?
Answers:
较低的CPU高速缓存将导致较高的高速缓存未命中率,这将大大降低性能。话虽这么说,另一个完整的内核将允许计算机同时运行至少两个线程,因此当您不得不选择一个线程时,这是一个折衷。
从上图可以看出,当高速缓存大小超过1 MB时,高速缓存未命中的可能性已经非常低,并且随着高速缓存大小的增加,回报率逐渐降低。
另一方面,当应用程序利用多个内核时,额外的CPU内核可以显示速度的急剧提高。
对于大多数实际应用程序,额外的执行核心将比额外的缓存提供更好的性能。衡量计算机的性能时,缓存大小和核心数都至关重要。但是,当您开始处理数量相对较少的核心时,额外的核心通常会显着提高性能。
...
正确的选择(双核与额外的缓存容量)取决于将在笔记本电脑上运行的目标应用程序。
理论上,双核处理器将比单核处理器减少一半的执行时间。但是,实际上,由于编写并行应用程序的挑战,很少能实现2倍的加速。阿姆达尔定律(链接)显示,即使应用程序将90%的执行完全并行化(对于大型应用程序而言这是一项艰巨的任务),其提速仍是1.82倍而不是2倍。仅对于未以可扩展方式实现的应用程序,第二个内核的速度将降低。
较大的L2缓存容量将减少缓存中的未命中率,如@Breakthrough的答案所示。但是,答案从该图得出了错误的结论,即超过1MB的缓存容量只会带来微不足道的改善。收益递减的点取决于应用程序的应用程序(特别是工作集大小链接)。大多数应用程序的工作集大小可能会超过1MB,因此,更大的缓存将通过避免长时间等待的DRAM访问来帮助提高性能(处理器的运行速度比主存储器快3个数量级)。
最后,虽然我的回答听起来像是倾向于在第二个处理器上使用更大的缓存,但我想指出的是,大多数现代CS课程都侧重于向学生介绍并行编程。因此,即使显然不是在性能方面更好的选择,多核处理器也更有意义。
比较AMD和Intel很难。2GHz双核AMD与2GHz双核Intel是不同的。
这是它们的基准。
http://www.cpubenchmark.net/cpu_lookup.php?cpu=Intel+Celeron+925+%40+2.30GHz
http://www.cpubenchmark.net/cpu_lookup.php?cpu=AMD+C-50
现在来判断一个大数字是好是坏。