为什么CPU不更大?[关闭]


21

CPU相对较小,工程师一直在努力使它们更小,并在同一表面上制造更多的晶体管。

为什么CPU不更大?如果一个约260mm 2的芯片可以容纳7.58亿个晶体管(AMD Phenom II x4 955)。然后,520mm 2应该能够容纳两倍数量的晶体管,并且从技术上来说,使其时钟速度或核心速度增加一倍。为什么不这样做?


4
我不知道所有的细节,但基本上,晶体管等在芯片上的距离越近,效率越高。因此,将面积扩大四倍会使芯片速度变慢。
ChrisF 2011年

1
另外,特别是考虑到当前的应用程序状态,现代的CPU花费大量时间无所事事。当我们(用户)想出我们想要做的事情时,他们会旋转拇指。
surfasb

1
@ChrisF您将晶粒缩小(由于容量减少而带来的速度增益)与晶体管数量减少的影响混淆了。问自己:双核上的单个内核运行速度是否比四核上的单个内核快?
artistoex 2011年

2
做-看一下英特尔的新LGA2011平台。
突破

3
我不同意封闭票。有明显的理由说明为什么制造最大的芯片没有意义,如最佳答案所示。因此,这不是一个自以为是的问题(例如“ Android是否比ios更好”)。我也对这个问题感兴趣!
David Miani

Answers:


18

一般来说,您是对的:从短期来看,增加并行化不仅可行,而且是唯一的方法。实际上,多核以及缓存,流水线和超线程正是您所建议的:通过增加芯片面积使用来提高速度。当然,缩小的几何形状不会与增加的模具面积冲突。但是,晶粒产量是一个很大的限制因素。

芯片产量与芯片尺寸成反比:大芯片更容易“捕获”晶圆错误。如果晶片错误击中管芯,则可以将其丢弃。模具产量显然会影响模具成本。因此,就成本与每个芯片的利润而言,存在一个最佳的芯片尺寸。

生产大得多的模具的唯一方法是集成容错和冗余结构。这就是英特尔在其Terra-Scale项目中试图做到的(更新:Dan指出,日常产品中已经在这样做)。


8
在现代的复杂CPU / GPU中,缺陷往往只是进入分档。中高端GPU通常具有完整的模具部分,而一个或两个则具有禁用的几个子组件,以通过较少的芯片设计获得更多的价格/功能点。CPU也是如此。AMD的三核芯片是具有禁用死区功能的四核芯片,而英特尔LGA2011芯片都是8个核心部件。完整的模具仅用作Xeon。4/6核心i7-2011s是8个核心模具,其中的零件已禁用。如果模具错误落在正确的位置,它们将被分类为更便宜的零件。对于更多模块化GPU,错误率设置为低档。
Dan Neely

@DanN谢谢,我已将此添加到我的答案中
artistoex

23

存在很多技术问题(路径长度过长,会降低效率,电干扰会导致噪声),但是主要原因是许多晶体管太热而无法充分冷却。这就是他们如此热衷于减小芯片尺寸的全部原因-它允许在相同的热量水平下提高性能。


我应该补充一点,我的意思是在标准台式机/笔记本电脑中。
Shinrai 2011年

1
路径长度不一定会增加,这是本地问题:在芯片上放置两个内核不会增加内核内部的路径长度,对吗?散热也将分布在更大的区域,因此这也不是什么大问题。
artistoex 2011年

1
是的,有很多细微差别,但是我觉得没有必要这样做。(我也不一定要在更多核心的上下文
中指

关键是:多核处理器正是OP所建议的-通过增加芯片面积使用来提高速度。
artistoex

3
您如何看待超线程,即“更快的更大核心”?超线程都是基于逻辑的,与大小无关...意味着如果当前内核使用它,则它是否多余。IE:如果您的MMX单元和FPU在给定的内核上使用,您仍然可以执行基于整数的计算。
Supercereal

15

这里给出的几个答案是很好的答案。增加CPU大小存在技术问题,这将导致更多热量需要处理。但是,如果有足够的激励措施,所有这些措施都是可以克服的。

我想补充一点,我认为是一个核心问题:经济学。CPU被在晶片制成这样,拥有大批每个晶片的CPU。实际的制造成本是每个晶片的成本,因此,如果将CPU的面积增加一倍,则只能容纳一半的晶片,因此,每个CPU的价格将增加一倍。同样,并非所有晶圆都总是完美无缺,可能会出现错误。因此,将面积加倍会使任何特定CPU中出现故障的几率翻倍。

因此,从经济角度来看,它们总是使尺寸变小的原因是为了获得更好的性能/ mm ^ 2,这是价格/性能的决定因素。

TL; DR:除了上述提到的其他原因外,将CPU面积增加一倍还使成本增加了一倍以上。


这是主要原因。Hennessy和Pattersons的《计算机体系结构》教科书的第1章描述了制造过程以及驱动CPU模具尽可能小的考虑因素。
史蒂夫·布莱克韦尔

3

向处理器添加更多晶体管并不会自动使其更快。

路径长度增加==时钟速率降低。
添加更多的晶体管会增加路径长度。任何增加的使用都必须是有价值的,否则会导致成本,热量,能源增加,但性能会下降。

您当然可以随时添加更多核心。他们为什么不这样做呢?好吧,他们做到了。


我真的不在这里考虑这个话题(尽管在这里也是话题)。
Shinrai 2011年

是的,我同意。我只是认为最好在那儿回答。我删除了行。
2011年

2

您的一般假设是错误的。具有双倍大小裸片的CPU并不意味着它可以双倍速度运行。这只会增加更多空间来添加更多内核(请参阅某些具有32或64内核的Intel manycore芯片)或更大的缓存。但是当前大多数软件不能使用超过2个内核。

因此,增加的模具尺寸在不增加相同高度的情况下大幅提高了价格。这是CPU保持原状的(简化)原因之一。


事实并非如此-使用更多的晶体管,您可以减小传播深度,因此指令只需较少的时钟周期即可完成。您说对了,但这与时钟速度无关。
BlueRaja-Danny Pflughoeft

1

在电子产品中,SMALLER = FASTER 3GHz必须远远小于20MHz。互连越大,ESR越大,速度越慢。

将晶体管数量加倍不会使时钟速度加倍。


增加时钟速度只是提高速度的一种方法。将晶体管加倍是另一个。除此之外,缩小的互连不会与增加芯片面积产生冲突。
artistoex 2011年

3
@artistoex,但是简单地将晶体管加倍也不能使其更快。需要采用可以利用这些晶体管的方式进行设计。更多的晶体管(具有相同的mm)通常意味着时钟较低。
2011年


0

大型生物,无论是否人工,都像恐龙一样,较宽松。面积/体积之比对于它们的生存是不公平的:能量的过多限制-每种形式-内外都有。


0

将CPU视为连接的节点(晶体管)的网络。为了提供更多的功能,节点的数量以及它们之间的路径一定程度地增加,但是这种增加是线性的。因此,一代CPU可能有100万个节点,而下一代可能有150万个节点。随着电路的小型化,节点和路径的数量被压缩到更小的占地面积。当前的制造工艺低至30纳米。

假设每个节点需要五个单位,两个节点之间需要五个单位的距离。从头到尾,您可以在1 CM的空间中以直线方式创建22222个节点的总线。您可以在一个正方形CM中创建4.93亿个节点的矩阵。电路的设计包含了CPU的逻辑。将空间增加一倍并不能提高速度,只会使电路具有更多逻辑运算符。或者在多核CPU的情况下,允许电路并行处理更多工作。占用空间的增加实际上会降低时钟速度,因为电子将必须在电路中传播更长的距离。

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.