在芯片使用过程,如果芯片里面某一个晶体管先失效了,只要不是出在重要部分的晶体管,一般都不影响使用。
1、芯片设计过程中,考虑了可用性问题,设计了冗余
芯片设计公司在设计之初对你提出的这个问题,也是有考虑的。在整个芯片设计过程中,会按照总体架构将芯片分成不同的功能组成,比如:计算单元(我们常说的核心)、寄存器、缓存、连接电路、控制电路等等。而这些组成部分在设计之初都会有冗余设计,比如:现在的CPU都是多核心,每个核心都提供算力,同时它们互相之间也是冗余的,寄存器、缓存等等也一样。同时,控制电路也可以做识别和屏蔽。比如,在这些大功能组件如果某个组件失效,控制电路就屏蔽掉这些组件。不再将数据调入这些组件,转而调入其他正常的组件。这样大组件失效是会影响一部分性能的,但这发生率很低,因为更细层面依然有冗余。
我们再把每个组件放大了看,每个组件里面的晶体管设计也是有冗余的。比如存储块,它是由很多微小的块组成。每个块也是有很多晶体管组成。和上面同样的原理,如果某一个晶体管出现问题,芯片也会将问题的晶体管屏蔽,转而用冗余可以用的晶体管工作。不会影响用户使用,性能几乎没啥影响。
2、芯片制造过程中,如果出现晶体管损坏,也是通过屏蔽来继续使用
芯片制造技术中,数十亿个晶体管坏掉一个,甚至坏掉多个都是会发生的。这也就是行内说的良品率问题。良品率太低,就会导致芯片的成本很高。但事实上,在芯片制造过程中就是利用了前面设计的控制电路的屏蔽功能,可以屏蔽掉坏芯片内坏掉的部分,让好的部分可以继续发光发热,降低芯片成本。
比如:英特尔的电脑CPU,大家都知道同一系列里也有I7、I5、I3,三个档次。这三个档次从市场角度看是为了让用户可以按照自己的需求来选择性能档次。但从该技术角度看,也有助于提高芯片制造过程的良品率。因为当芯片代工厂生产芯片时,如果所有晶体管正常,我们就可以归类的I7。如果有部分内核中有晶体管损坏,那厂商就可以通过屏蔽掉某1-2个内核,让他归类到I5、I3。这样可以大大提高芯片良品率,降低总体芯片成本。
3、如果损坏的是重要位置的晶体管,那这个芯片就报废了
无论是在芯片的制造过程中,还是在芯片的使用过程中,如果芯片的重要晶体管出现损坏,那芯片就无法通过屏蔽坏件来保持芯片继续工作。那这个芯片就算报废了。重要位置一般是哪些位置呢?其实,整个芯片是非常复杂的。设计一个芯片就好像在规划一座超级大城市。里面有房子、街道、高速公路、交通控制系统、加工厂等等。这里,房子坏了,可以废弃掉那座房子。街道坏了,就废掉整个街区。但如果告诉公路坏了,数据无法流通,就基本玩完了。还有,交通控制系统出了问题,那整座城市也就完蛋了。这个比喻里的高速公路、交通控制系统就是重要位置。
其实如今的芯片的制造技术已经非常强大,这种报废的几率还是很小的。而作为使用端来说,如果不是物理暴力损坏,基本不太可能出现这个问题。
总结
芯片有庞大的数十亿晶体管。如果某一个晶体管出问题,对芯片计算的影响是很小的。因为芯片在设计之初就有大大小小的冗余设计。当然,如果这个问题晶体管是损坏在芯片的重要位置,那这个芯片就彻底报废了,但这种情况在制造过程中概率比较小,在使用过程中非暴力一般很难发生。
我是数智风,用经验回答问题,欢迎关注评论。