CPU里都有几十亿个晶体管,万一坏掉几个还能用吗?

如题所述

CPU会不会坏呢?答案是会。CPU里几十亿晶体管坏掉几个,能不能继续使用?取决于坏的是哪里晶体管。


CPU为什么会坏?和大多数半导体设备一样,CPU的可靠性我们可以通过失效率来衡量,如下图:


蓝色的曲线称为早期失效率,表示CPU在开始使用时,失效率很高,但随着工作时间的增加,失效率迅速降低。早期失效期主要是制造或原材料带来的缺陷。红色的线称为随机失效率,它在CPU整个生命周期里是一个常数,是由质量缺陷、材料弱点、环境和使用不当等因素引起的。绿色的线称为损耗失效率,俗称老化失效。前期极低,后期开始错误急剧提高。紫色的线称为综合失效率,是早期失效率、随机失效率、损耗失效率综合的结果,它的曲线两头高、中间低,形状像个浴缸,所以称为浴缸曲线模型。CPU的生命周期呈现出开始故障率很高,如果没有问题,就可以稳定工作很久的时间,到最后开始老化失效,故障率会急剧升高。


CPU有三年质保,制造商不希望大规模的退货发生,所以所有的CPU出厂前都会进行老化这道工序:在封测期间将芯片放入高温、高压的环境下洗个澡,这样几个小时就相当于过了好几周。重新测试淘汰掉不好的,好的就进入浴缸曲线的底部稳定期,才能出货。在使用过程中,导致CPU失效的原因有很多,统一特点是高温、高电压导致加速失效。下图是失效与电压、温度关系。粉色曲线是高温曲线,黄色曲线是正常温度曲线,蓝色曲线是配备了散热系统的曲线。可见高温和高压会严重影响CPU的失效率,这就可以说明为什么有的CPU超频后不再享受质保了。


低压带来低温,似乎可以通过降压来延长CPU的寿命。但是事实并不是这样,过低的电压难以保证频率和数字信号的完整性,从而造成运算错误。


有哪些情况下少数晶体管坏了CPU还能继续工作?设置了冗余在一些高速缓存阵列中通常会有少量的冗余行和列。在测试阶段,如果发现有坏的行,就用备份的单元将整行都换掉,同时通过编程更改行解码的逻辑以映射损坏的存储单元。如果坏的行太多了,那么整个CPU就直接报废。这个过程是一次性的,变更后,用户是没有办法再更改映射关系。用户永远也不会知道有这些坏的晶体管,因为在CPU出厂前就已经被禁用了。


屏蔽坏的核芯降级销售在芯片的生产过程中只要有一点点灰尘或者其他什么意外,芯片就会被污染损坏,再加上生产工艺本身的固有缺陷,不可能生产出一批完全无瑕疵的半导体晶圆,这种情况可以将损坏的核芯屏蔽掉作为低规格的CPU出售。比如:在生产i7、i5的生产线上,总会得到一些次品,比如核显部分是坏掉的,屏蔽核显后就作为不带核显的版本出售,或者说6个核心里只有4个核心能正常工作等等,这些次品屏蔽一下做成i3,废物再利用,总比直接扔掉强。同样,这个过程也是一次性的事情。用户也不会知道购买的这块CPU禁用了某些核芯,因为CPU出厂前坏的核芯就已经被禁用了。


某些晶体管介于可用和要坏的边缘一个电源的浪涌、电磁干扰、辐射等等都可能让电脑中的某些部分发生错误,但我们却很少能看到出错,是因为某些电路和总线受纠错码(ECC)保护。某些晶体管介于可用和要坏的边缘(大多数时间都在正常工作,只是偶尔会发生故障)就会导致相关的总线偶尔出现故障,那么CPU可能会继续工作。这种故障会触发纠错码(ECC)校正事件并导致CPU性能下降,标志着该换个CPU了。如果该晶体管完全失效,那么CPU将无法全效运行(CPU也有很大可能性会瘫痪)。系统监视功能可能会注意到异常数量的纠正事件,并发出CPU故障并需要更换的信号。


I/O驱动器中驱动器中某些晶体管可能是冗余的I/O驱动器上的晶体管是整个芯片中最坚强的部分,丢失其中一个意味着在某个引脚上会发生大事,但可能并不会影响其他引脚工作。CPU可能会在失去一对I/O驱动器的情况幸存下来或性能不下降。但如果过度的压CPU会导致I/O驱动器开始出现故障,同时可能会给其他组件施加压力,并且很快CPU就不能再使用。


CPU很抗造,但并不代表它不会坏如果坏掉的晶体管位于未使用或禁用区域(比如:某些未使用的外围设备,或一个单片用于多个型号的CPU或备用而使某个区域被禁用)。除非故障导致时钟或电源线短路,或其他关键信号的短路。否则你可能永远不会注意到它。除此之外,绝大多数晶体管的故障都会在数量级上暴露出来,并导致处CPU行为失常(一旦出错就会越来越频繁的出错)。错误可能是罕见的锁定/崩溃/计算错误,或者可能完全无法退出重启或无法正常启动。以上个人浅见,欢迎批评指正。认同我的看法,请点个赞再走,感谢!喜欢我的,请关注我,再次感谢!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-20

CPU里都有几十亿个晶体管,万一坏掉几个还能用吗?

第2个回答  2020-11-30
如果坏掉了几个晶体管,CPU还是可以正常使用的,只坏掉几个晶体管是影响不了CPU的整体使用。
第3个回答  2020-11-30
能用。因为CPU在设计的时候就加入了很多冗余的晶体管,所以坏掉几个,并不会坏掉。
第4个回答  2020-11-29
坏掉其中的几个还能够继续使用。 CPU里面的晶体管如果其中几个坏掉,同样可以继续使用。
相似回答