当拥有如此多的晶体管时,CPU如何稳定?


10

我们知道,在一个缩略图上CPU几乎有数十亿个晶体管,如果其中一个晶体管坏了怎么办?

CPU是否有任何自动恢复机制?


6
实际上,当今更大的晶体管包含数十亿个晶体管。
starblue 2011年

6
“稳定”可能不是正确的词,因为它更多地指向诸如亚稳等问题。对于该主题,更好的选择是“无缺陷”或“产量”之类的词。或者您可以询问制造过程的稳定性,而不是所产生的芯片。
克里斯·斯特拉顿

2
@ChrisStratton,我认为OP可能会问更多关于可靠性而不是产量的问题。
Photon

1
如果其中一个晶体管坏了,则将芯片丢掉。没有冗余(某些特定应用程序除外),也没有修复选项。
德米特里·格里戈里耶夫

Answers:


18

很简单,我们在出售它们之前将它们进行测试并把坏的扔掉。

有很多方法可以做到这一点-不同的人做不同的事情,通常结合使用以下各项:

  • 一些测试正在快速进行,以确保它们足够快。

  • 其他测试涉及一种模式,该模式将芯片中的部分或全部触发器转换为巨大的串行移位寄存器,我们将已知数据计时到那些链中,然后运行芯片一个时钟,然后扫描出新结果并检查它们是否匹配我们的预期结果-自动测试工具会生成最少的“扫描向量”集,以测试芯片上的每个随机门或晶体管-其他向量对ram模块进行特殊测试,

  • 其他人测试外部电线是否正确连接

  • 我们确保它不会消耗不健康的电流

测试时间会花费金钱,有时我们会先对明显的死芯片进行一些简单的测试,然后再将它们包装好以丢弃坏芯片,然后在完成包装后再进行更多测试


1
“很简单,我们在出售它们之前将它们进行测试并把坏的扔掉。” 如果这将是唯一的质量体系,那么使用10亿个晶体管器件,您可能会获得0.00000000001%的收益
Federico Russo

2
真的就是这么简单。诀窍在于事先进行大量的模拟和规则检查,以确保您的收益合格。CPU逻辑本身很少有冗余。有时您会在片上RAM中获得一些冗余。
pjc50 2011年

如果设计正确,那么您的个人失败将来自材料缺陷,污染,工艺错误等。尽管仅使用了几种晶圆尺寸,但较大的IC比其比例尺寸更昂贵,因为随着区域。在某些情况下,您的芯片可能具有比有时出售的功能单元更多的芯片,因此如果一个芯片坏了,它可能仍然可以销售,但这是有限的。有时,您可以以折扣价购买FPGA,这些FPGA经过测试只能在特定配置文件中使用,而不能在任意配置文件中使用。
克里斯·斯特拉顿

2
我想您忘了提及像AMD这样的制造商,它们出售具有不良内核的处理器,并将其锁定为不良内核的另一种型号。那是一种冗余,或者是聪明的营销。
akaltar '16

如果有人想知道灰色市场零件的供应方式,他们应该再也不会感到奇怪了。我曾在芯片厂系统的软件部门工作,这里描述的自动化测试是工厂时间和金钱成本的很大一部分。

12

进一步说明其他人所说的内容:先进行验证,然后进行芯片分类。

CPU中的晶体管往往会在较高的频率下显示出它们的问题,因此通常先制造一个CPU,然后将其作为几种不同的产品销售。便宜的CPU实际上是昂贵的CPU的损坏版本。另一种选择是禁用CPU的某些部分。例如,AMD用BArton内核制造了处理器。它还出售了带有Thorton内核的处理器。索顿并不是一个新的核心。相反,一半的L2缓存有缺陷并被禁用。这样,AMD在原本会浪费的CPU上进行了一些恢复。

AMD的3核心处理器也发生了同样的事情。它们最初是4个核心处理器,但是其中一个核心被确定为有缺陷的,因此已被禁用。


2
制作具有可以通过熔断保险丝禁用的功能的芯片设计并不少见。简单的芯片成品率经济学,如果我们可以通过较慢地运行芯片或禁用在测试中失败的功能来挽救全部或部分芯片,则可以收回该部分芯片的部分成本,而不必扔掉整个芯片。您也可以返回intel 386 SX和DX作为示例。几乎每个CPU都经过速度分级。速度较慢的零件是速度较快的零件。
old_timer '16

2
不,不是386SX / 386DX。这些芯片具有完全不同的总线接口。您不只是禁用386DX的一部分来获得386SX。您所说的对于486DX / 486SX是正确的,后者禁用了FPU。
Michael Karcher

6

您的问题的答案是“否”。当前没有针对硬件故障的自动恢复方法。

制造商对其工艺进行工程设计,以使其晶片获得最大的产量(美元)。通过缩小晶体管,它们可以在较小的面积内容纳更多的功能。可以认为这是每个晶片有更多芯片(具有相同功能)。随着芯片尺寸的缩小,您可以从晶圆中获得更多的芯片,但是随着芯片尺寸的缩小,它们中的更多芯片就会变质。制造商接受这一点,并不断推动技术极限以缩小芯片。告诉他们它们位于信封边缘的是坏芯片。

如果一家公司可以将特征尺寸缩小到旧特征尺寸的70%,那么他们可以获得的晶片数量大约是晶片的2倍。如果旧工艺的产率为95%(例如,晶片上100片中有95片优质芯片),而新工艺的产率为75%(200片晶片中有150片优质芯片),则他们赚了钱新过程。


5
对于某些类型的芯片(例如NAND闪存),制造商通常会超越零缺陷芯片的标准范围,但是大多数故障将具有可预见的特征,并且使用该芯片的设备有望在他们周围工作。
supercat

3

在小型节点上,除非您有内存(例如SRAM),否则每个“晶体管”都是2个门。如果不起作用,则说明您的驱动程序很慢。对于SRAM,如果不通过,则只需“吹”该行。如果晶体管上的两个FETS都失败了,那您将拥有一块非常昂贵的沙子,但我个人从未发生过这种情况。现代的FinFET很小,由于光刻的性质和可能性,存在很多生产问题(主要是麻烦)。您会发现,在新工艺中首先要​​使用的是FPGA,因为您可以“吹”坏单元并更改布线图。我无法给您这些数字,但是您可以通过x86世界如何进行装箱来猜测,事情很少能顺利进行。

这是XOR单元布局的说明: 异或

左/右绿色条为鳍,红色为多边形。蓝色是1级有色金属。

商用CPU没有自动恢复机制,但学术界和特殊应用CPU却在浮动。我已经制作了一些使用异步体系结构的专用组件,以解决由于栅极氧化物损坏而造成的时钟问题,尽管栅极氧化物作为热载流子被破坏了,但您只能得到一个非常慢的晶体管。


3

显然时代已经改变。这个问题有五年历史的答案中有许多不再反映最新的技术水平,因此有些还不准确。

只要IC不过热,硅片上的晶体管和其他设备在制造后就相当稳定。

现在,在现代IC制造过程中已采取以下措施来最大程度地减少缺陷:

  • IC在设计验证和确认以及单个样本测试方面都经过了广泛的测试。本文介绍了奔腾4的一些测试过程。
  • IC的整体设计现在太复杂而无法完全验证
  • IC具有可编程的微代码,如果在制造后发现缺陷,则允许进行有限程度的重新编程
  • 现代IC包含冗余的硅层,可以纠正制造过程中发现的缺陷
  • 许多CPU具有冗余的硬件模块,无论这些模块是CPU内核,高速缓存还是其他IP;如果不是所有单元都起作用,则可以禁用其中一些单元并将其“组合”为成本较低的部件。一个示例是PS4多核IC包含一个冗余核,该被禁用以实现更高的良率。
  • 一些CPU可以执行,但不能达到最高速度;这些可以低速,低成本CPU的形式出售
  • 许多CPU和RAM在数据传输的各个阶段使用错误校正编码(ECC)存储器或执行消息验证错误校正以确保完整性
  • 有时,处理器将以导致系统崩溃的方式发生故障,但是如果重新引导,则不会阻止系统再次运行(CMOS闩锁)

处理器正式规范中的编程错误比特定晶体管的故障更有可能发生。

尽管普通的CPU不具备自动恢复功能,但也有一些针对CPU自我复位的工作,以应对宇宙射线。宇宙射线可以在CPU或RAM中沉积足够的能量以引起位翻转。

正如评论中指出的那样,长期以来,关键任务系统一直依靠多个CPU进行验证。该航天飞机,早在1976年,作为一个例子,使用五台电脑,其中四个都运行同一程序和所有飞控决策“投票”,以确保安全。


ECC和错误检测已经使用了相当长的时间(对于内存和通信,算术和类似的逻辑功能,一些高端系统已经进行了多年错误检测)。类似地,在硬件/执行时间成本合理的系统中,冗余执行(空间或时间)已用于检测错误相当长时间。
保罗·克莱顿

@ PaulA.Clayton如果您要发布有关Itanium及其后来的Xeon RAS功能的文章,我当然很乐意为此投票。
Oleksandr R.

2

大多数现代处理器晶体管都是FET。这些优点是在开始过载时获得了源/漏电阻。这是允许通过并联许多来制造高功率MOSFET的一个因素。负载自动分配。这可能是有助于分发问题的一个因素。但是我认为这确实比这简单。

与大多数电子零件一样,如果您在规范范围内驱动它们,它们将持续相当长的一段时间。制造微处理器时,有两个成本因素。只是硅片上的空间以及由于复杂性而产生的实际产量。并非所有芯片在制造后都能工作。但是,一旦完成并粘贴验证,您就会知道晶体管是好的。如果按照规格驱动,则它们将保持良好状态。


2

您是否曾经想过为什么有时以不同的速度出售相同的芯片?并且您是否注意到有时出售相同的GPU芯片架构,但内部单元数量不同?

无法在芯片级修复硬件缺陷,但是随着时间的流逝,设计人员已经学会了应对提高良率的问题。没有预见性,成品率仅取决于制造质量。但是,如果您很聪明,则可以恢复一些不良芯片。

例如,假设您有一个18核芯片设计,它或多或少地独立工作。在测试过程中,您可以对完美的芯片进行分类并将其作为A18型号发布。大多数发生故障的芯片只有一个错误,因此只要禁用了有故障的内核,它们就可以正常工作。您以较低的价格将它们作为A17型号出售,而具有两个不良核心的那些将以更低的价格作为A16型号出售。

这同样适用于芯片的速度等级。完美制造的芯片将能够以超出设计规格的速度运行,但是有问题的芯片可能无法运行。这些以较低的速度规格出售。

该方法将显着提高总产量,因此非常普遍。例如,PlayStation 3的硬件中有8个SPE单元,但始终会禁用其中一个以解决良率问题。


1

CPU是否有任何自动恢复机制?

如上所述。但是,它们的缓存,尤其是L2和L3,可以在其中具有额外的RAM。在工厂对零件进行测试时,可以移除坏的RAM块,并使用额外的RAM块。


1

通常不,您会通过芯片屏幕覆盖坏的晶体管,并且此后您会期望损失的百分比相对较小。芯片业务已经存在了数十年,他们掌握了许多管理技巧(是的,有时其中的技巧之一就是放出不良零件并免费更换它们,或者让客户不满意)。

对于辐射硬化的环境(空间),您可能需要三票表决,实际上每个“位”都有三位票数才能产生一个。只需三分之二的投票即可确定该位设置。因此,其他三分之一的晶体管可能会变坏,最终总剂量会变大。但最主要的问题是单个事件的不适。这些芯片和系统是为从上到下,硅,硬件,软件等这些环境而设计的。它们使用的是久经考验的真正技术,而不是最前沿的技术,因此晶体管的数量和尺寸是几年前的。

预计COTS会经常出现打ic和失败。


-1

这似乎是一个奇迹,但是有许多机制可用来减少晶体管故障的数量。但是,根据晶体管所经历的故障类型以及故障发生的位置,有时在某些条件下,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.