CPU 核心:越多越好吗?

CPU 核心:越多越好吗?

我目前在公司使用双核处理器,在家使用四核处理器。我注意到两台电脑在启动应用程序/浏览网页方面表现相当不错。

我能看到的区别是,我的双核是 2.8GHz,而我的四核是 2.4GHz。

是双核处理器速度快比较好,还是四核处理器速度一般比较好?

答案1

笔记:这个答案写于 8 年前。从那时起,并行编程就变得更加重要。这可能是由于固有的时钟速度限制和快速接近的晶体管尺寸限制。


您的主要问题是软件不是为多核编写的。

看看 Jeff Atwood 的精彩文章选择双核或四核

对于大多数软件来说,在两个核心之后,收益会迅速减少。在四核台式机和收益递减我质疑当今的软件如何真正有效地利用四个 CPU 核心,更不用说几年后我们将看到的不可避免的八个和十六个 CPU 核心了。

你在这里得到了答案(重点摘自 Jeff 的文章),

然而,这里面也有一些惊喜,比如 Excel 2007 和《失落的星球》中的“并发操作”设置。软件工程最终可能会发展到时钟速度不如并行性重要的地步。或者,如果我们不能在更快的时钟速度和更多的 CPU 内核之间做出选择,那么它最终可能会变得无关紧要。但与此同时,大多数情况下,时钟速度是赢家。CPU 核心越多并不一定越好。一般用户最好使用他们能负担得起的最快的双核 CPU。


问题前端总线(这个词总是让我感到有趣)。
随着 Nehalem 的出现,情况发生了变化...正如 ArsTechnica 去年所说的那样。

摩尔定律让处理器设计师们为晶体管数量之多而感到尴尬,这一点在英特尔的 45nm Nehalem 处理器中体现得最为明显。Nehalem 处理器将于今年晚些时候推出 4 核和 8 核版本,它将大量硬件集成到单个处理器插槽中。(早期数据显示,四核 Nehalem 处理器的晶体管数量为 7.81 亿个;8 核型号的数据尚未公布。)但试图用英特尔平台现有的前端总线架构来满足所有这些硬件的需求是愚蠢的。因此,同样重要的是,Nehalem 也敲响了英特尔过时的前端总线架构的丧钟。

英特尔新推出的QuickPath 互连(QPI) 代表的可能是影响 Nehalem 设计的最大单一因素。借助 QuickPath 和 Nehalem 的集成内存控制器,Nehalem 处理器将能够获得前所未有的总带宽,尤其是在双插槽和四插槽实现中。

AMD 早先将内存控制器移入处理器,并使用了 Hypertransport。

答案2

根据我的经验,从单核到双核的性能优势非常明显。突然间,一个高 CPU 程序不会锁定您的机器或使其变得无法使用。巨大的差异。

但两到四个呢?对于 99% 的人来说,这没什么区别。您必须同时运行许多程序,或者使用能够利用 2 个以上内核的程序(而实际上这样的程序并不多)。某些媒体编码器浮现在我的脑海中。

在这方面,英特尔酷睿 2 和 AMD Phenoms 之间也存在差异。AMD 使用 Hypertransport,这是一种点对点协议,因此每个核心都有专用带宽。英特尔酷睿 2(但不是Core i7 和其他基于 Niehalem 的 CPU 使用前端总线,即共享带宽,因此有更多核心竞争相同的带宽。

在某些情况下,这可能会使相同时钟频率的四核处理器(略微)变慢。在我看来,双核处理器仍然物有所值。话虽如此,我有一个四核处理器。

答案3

我喜欢Donald Knuth 总结道

在我看来,硬件设计师们似乎已经江郎才尽了,他们试图把摩尔定律未来消亡的责任推给软件编写者,给我们提供只在几个关键基准上运行速度更快的机器!如果整个多线程理念最终失败,我一点也不会感到惊讶,甚至比“Itanium”方法更糟糕,后者本应非常棒——直到后来人们发现他们所期望的编译器基本上是不可能编写的。

让我这样说吧:在过去的 50 年里,我编写了超过一千个程序,其中许多程序都相当庞大。我想不出其中有五个程序可以通过并行或多线程得到显著增强。当然,例如,多个处理器对 TeX 没有任何帮助。

对于某些应用程序来说,利用多核非常容易。但其他一些应用程序绝不受益于他们,而其他人可能如果开发人员对它们进行优化(这非常困难),那么它们将受益。

答案4

对于日常使用和未针对多核进行优化的程序,快速的双核将击败较慢的四核。

随着时间的推移,多线程应用程序逐渐成为常态,四核处理器将会领先。

从性价比角度来看,双核处理器仍然占据领先地位。

相关内容