现代处理器是否在其逻辑单元中具有冗余以补偿生产故障?

电器工程 微处理器 生产
2022-01-28 02:12:43

现代处理器由数十亿个晶体管组成,新的生产技术通常会在良率方面出现问题,至少在最初几个月是这样,但我猜即使在几年之后,也会时不时出现故障芯片。

我知道在大块(例如缓存)中,有可能只是禁用它的一部分并减少可用内存量(因此您至少可以以较低的价格出售芯片而不是扔掉它)。但是逻辑单元有类似的东西吗?我知道有多个 ALU 用于调度,但是如果出现生产故障,这是否只是禁用其中一个?或者是否还有额外的备用 ALU?因为对我来说,很难相信晶圆厂只会处理逻辑部分中存在故障晶体管的每个芯片,而禁用完整的 ALU 会大大降低可实现的处理能力。

4个回答

不在逻辑中。

但是,如果有大内存 (SRAM),则通常使用具有“冗余”的内存。它们具有特殊的逻辑,可以通过编程来替换一个区域,通常是多个行或列。

在测试期间检测到故障区域,然后对冗余存储器进行编程以替换故障位置。

然而,这种“替换”必须使用 OTP(一次性可编程)位或其他一些保存其值的存储器来设置。因此,这些存储器仅用于具有这种“永久存储器”特征的芯片,或者必须添加这种编程特征,而这会产生所有成本。

对于简单的 MCU 或典型的单核处理器,情况肯定不是这样。拥有备用块的成本不值得,而且这些处理器不使用尖端的雕刻工艺,也不需要巨大的硅面积,因此产量足够好。

然而,这是针对一些多核处理器完成的,它们的硅面积相当大,并且使用更精细的雕刻工艺,这会导致更高的缺陷率。在这些处理器上,当它们有缺陷时,可以禁用整个内核(它们是相当大的逻辑块,包含比 ALU 更多的内容)。然后处理器作为低端型号出售。

资料来源:https ://skeptics.stackexchange.com/questions/15704/are-low-spec-computer-parts-just-faulty-high-spec-computer-parts

正如其他人所说,很难在内核中看到冗余的 ALU 逻辑。

设计核心是为了优化吞吐量。冗余 ALU 的任何附加逻辑都会影响性能,并且增加的面积会减慢整个内核的速度。随着技术的发展,硅变得更小,内核速度更快,但基本上使用了相同的知识产权。当有空间可用于冗余内核以提高产量时,为什么还要使用冗余 ALU?

2011 年,英特尔为至少 32 个内核(其中 16 个活动内核和 16 个备用内核)申请了专利。该专利指出,故障核心将具有更高的温度,从而允许切换备用核心。本质上,根据需要进行动态核心分配。

您可以根据任务要求分配高功率和低功率内核。或者关闭由更高温度水平检测到的坏核心。以棋盘方式操作核心以减少热量。

英特尔专利:增强多核处理器的可靠性

我当然不能肯定地回答你的问题。禁用小于 1 个核心的单元没有多大意义,因为它变成了可以启用或不启用的非常细粒度的“功能集”,并且所有可能功能的笛卡尔积将产生无数可能的 CPU 模型。CPU型号已经很多,再多做10-100倍肯定没用!

另一方面是数十亿晶体管(大部分)用于制造缓存,对于有缺陷的晶体管,制造商肯定会销售禁用部分片上缓存的 CPU(例如,参见 AMD Thorton 与 AMD Barton)。

但我可以告诉你一个我从一个我信任的人那里听到的轶事。很久以前,我是一个好奇的超频者。在我的日子里,预算可超频 CPU 是 AMD Athlon Thoroughbred:

速龙纯种马

在安装定制冷却解决方案时,安装散热器时必须非常小心,因为它直接压在芯片上。如果你施加不均匀的压力,如果你先在一个角落施力,模具就会因为在角落容易开裂而臭名昭著。

这个人做了同样的事情,一个角落的很大一部分消失了,但 CPU 却奇迹般地工作正常,尽管内存性能大大降低。该角落仅包含 L2 缓存,因此随着该部分的消失,缓存协议以某种方式解决了现在非常有缺陷的芯片。它可能会报告该部分中所有查询的缓存未命中,因此 CPU 仅减少到其 L1 缓存(或仅 L2 的一部分),因此在大多数测试中它要慢得多,但在紧密循环中具有几乎相同的性能。

以同样的思路,如果 ALU 有缺陷并且能够以某种方式返回它拒绝工作的信号,则 CPU可能能够退回到其他 ALU。CPU 制造商是否正在这样做是未知的(我对此表示怀疑),但缓存示例(来自 15 年前)表明它绝对是可行的。