为什么选择多核处理器?


16

为什么芯片包含越来越多的内核?为什么不制造更大的单核处理器?容易制造吗?是否允许程序使用单独的内核进行多线程处理?


原因主要是营销。大多数用户不会从多核中受益,但是它被炒得更好。对于服务器或高级用户来说,这最有意义。
harrymc 2010年

当然有炒作,但也有好处。如今,大多数用户可以从多核(即通常为双核)中受益,因为大多数用户正在使用具有多个执行线程的操作系统。但是对于仍然使用Windows 95或更早版本的用户,我同意多核可能完全浪费时间。
非理性的约翰

在harrymc上说:“原因主要是市场营销。大多数用户不会从多核中受益,但是它被大肆宣传了。对于服务器或高级用户来说,这大多有意义。” ---那些贪婪的蛇油推销员...
丹尼尔

Answers:


25

迈向多核的趋势是一种工程方法,可帮助CPU设计人员避免因频率缩放比例不断提高而带来的功耗问题。随着CPU速度上升到3-4 GHz范围,更快地需要的电能开始变得令人望而却步。造成这种情况的技术原因很复杂,但是随着频率的上升,诸如热量损失和泄漏电流(仅通过电路而没有做任何有用的事情的功率)之类的因素都会更快地增加。虽然可以构建6 GHz通用x86 CPU,但事实证明,高效地这样做并不经济。这就是为什么开始转向多核的原因,也是为什么我们将看到这种趋势至少一直持续到并行化问题变得不可克服的原因。

作为一个实际示例,E5640 Xeon(4核@ 2.66 GHz)的功率包络为95瓦,而L5630(4核@ 2.13 GHz)仅需要40瓦。与大多数功能兼容的CPU相比,这多了137%的电能,而CPU的多了24%。X5677具有更多功能,可将速度提高到3.46 GHz,但处理能力仅提高60%,而电力却提高225%。

现在将X5560(2.8 GHz,4核,95瓦)与较新的X5660(2.8 GHz,6核,95瓦)进行比较,并且插座中有50%的额外计算能力(可能是假设Amdahl法则对我们很友好)现在),而无需任何额外的电源。与2400 \ 8400系列相比,AMD的6100系列CPU的总体性能得到了类似的提高,同时使功耗保持不变。

对于单线程任务,这是一个问题,但是如果您的要求是向分布式处理群集或虚拟化群集提供大量的汇总CPU功能,那么这是一种合理的方法。这意味着,对于当今大多数服务器环境而言,与尝试构建更快\更好的单核CPU相比,在每个CPU中扩大内核数是一种更好的方法。

这种趋势将持续一段时间,但是仍然存在挑战,并且不断扩展内核数量并不容易(保持内存带宽足够高,并且随着内核数量的增加,管理缓存变得更加困难)。这意味着当前每插槽内核数量的爆炸性增长将不得不在几代之内放缓,我们将看到其他方法。


3
我无法告诉您我曾尝试向多少人解释过多少次,他们仍然认为5年前的3.6GHz CPU比采用最新技术的2.8GHz CPU快。真是气死我了 我讨厌兆赫兹神话。
churnd 2010年

由于电信号的光速也没有物理上的限制吗?
mouche

1
@churnd-但是要考虑到它们在某种程度上是正确的。因为我们绝不能将速度和功率混为一谈(3.6 GHz无疑比2.8 GHz快;它不是更强大)。对于需要极高速度但还不精通线程/并行编程技术的程序员,这可能会产生重大影响。
Rook

3
@ldigas这些程序员关心的是单核指令的执行速度,而不是核时钟速度。即使时钟速度较低,现代CPU的单核指令执行率也更高。
David Schwartz 2014年

5

使它们变得有用的速度变得越来越困难。

问题是,您需要一次处理一堆指令,当前的x86 cpu一次要处理80条或更多指令,这似乎是极限,因为P4遇到了麻烦,哎呀。 ,Pentium Pro在1995年完成了40条指令。典型的指令流是无法预测的(您必须猜测分支,内存访问等)才能一次执行多条指令(486行了5条,Pentium行了10条,几乎没有) 。

因此,尽管您可以使它们更宽(执行每个指令的功能单元更多),更长(更深的管道来隐藏延迟),但这似乎并没有多大用处。而且我们似乎也与时钟速度相撞。而且我们的记忆力仍然不足。因此,将其拆分为许多cpu似乎是一个胜利。另外,他们可以共享缓存。

这还有很多,但是归结为传统程序无法在我们可以想象如何设计和构建的任何硬件上明显更快地运行。

现在,如果可预测性不是问题,例如许多科学问题和图形(它们通常归结为将这组数字乘以该组数字),就不是这种情况了,因此英特尔IA64的普及( Itanium)和GPU,它们只会变得越来越快,但是它们并不能帮助您更好地运行Word。


4

单个处理器的计算能力和时钟频率在几年前达到了顶峰,要创建比当前处理器更强大和/或更快速的处理器并不容易。因此主要的CPU制造商(英特尔,AMD)改变了策略,转向了多核。为了充分利用多任务功能,这当然需要应用程序开发人员做更多的工作:在单个任务上运行的程序不会从多核CPU中获得任何好处(尽管系统获得了总的好处是,如果单个进程将单个CPU占用率提高到100%,它不会锁定)。

关于物理体系结构(多核处理器而不是多个单核处理器)...您应该咨询英特尔。但是我很确定,这与具有单个CPU插槽的主板比具有多个CPU的主板更容易设计和制造有关。


2
我希望,与莫尔定律相比,我们将更多地了解阿姆达尔定律。
埃文·安德森

1

为了提高时钟速度,芯片上的硅晶体管需要能够更快地切换。这些更高的速度需要更高的输入电压和半导体制造工艺,从而导致更大的泄漏,这两者都会增加功耗和热量输出。最终,您将无法进一步提高时钟速率,而又不需要过多的功率或使用奇异的冷却解决方案。

为了说明这个问题,我将比较两种现代AMD处理器。AMD FX-9590能够开箱即用地获得高达5 GHz的时钟速度,但可在高达1.912 V的核心电压下运行,这对于32nm芯片而言是极高的,并散发了220瓦的疯狂热量。基于同一芯片的FX-8350的最大工作频率为4.2 GHz,最大工作电压为1.4 V,耗散125瓦。

结果,工程师没有试图进一步增加时钟,而是设法使芯片以其他方式更快地完成更多工作,包括将它们设计为同时运行多个进程(因此称为多核处理器)。


0

摩尔定律。基本上,处理器的速度无法提高(5年前达到3 GHz的频率,再也没有超越它了),因此,通过增加内核数量,它们将变得更加强大。


恕我直言,摩尔定律更像是一种描述,而不是预言……可以肯定的是,它仍然存在,但仍然没有保证明天不会破。当物理不再允许工程师时,您只是不能找工程师告诉他“您应该能够做到这一点,因为摩尔定律说可以做到”。
vlad-ardelean
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.