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

以前修理一些电子产品的时候,偶尔会碰到某个指示灯或者继电器没有输出了,开始以为是灯或者继电器或者驱动三极管烧了,更换了还是一样,怀疑是线路断线或者漏电,把线路划断了,重新飞线过去,依然没有动作,后来测量 CPU 的对应输出管脚,居然没有电压,而产品其他功能运行找正常,也就是说 CPU 的其他功能都正常,只是某个管脚坏了,估计是里边的驱动三极管坏掉了。

CPU 虽然复杂,但是里边的电路原理并不会特别

普通电路里边有什么元件,不外是电阻,电容,电感,还有二极管,三极管等晶体管。这些电路最早是使用模拟形式的,主要是处理连续变化的模拟量的电路,它把模拟量信号进行放大(缩小),对信号进行一定的运算处理,还有震荡和反馈,调制电路,滤波,解调电路等等。应该说,早期的电路都是模拟电路,特别只有电阻,电容和电感的年代。

晶体管技术发展后,另外一种电路专门用来处理数字信号的,就是数字电路,它主要是研究输入输出逻辑关系的,它分为时序逻辑和组合逻辑两种,是一种量化的电路。因为任何一个模拟量都可以经过量化来处理,而量化后的数据更容易处理,而且传输非常稳定,逻辑可以做得非常复杂,所以数字电路飞快发展,逐步把很多逻辑功能集成到一个芯片里边,芯片集成的晶体管越来越多,出现了各种触发器,逻辑门电路,移位寄存器等,最终就出来微处理器这样一个东西,也就是我们常说的 CPU 了,它是可以通过软件的方式来修改数字逻辑的,但是硬件的基础,还是很多数字电路组合体,而且今天的 CPU 还带 D/A 和 A/D 接口之类的,也就是说里边包含了一些模拟相关电路。

可以设想一下,传统的电路上,如果某个电阻老化了,或者某个三极管坏了,电路一定是会出现一定的问题的,这个问题影响大小,和这个出问题的元件的重要性有很大关系了。比如只是放大回路上的一个电阻阻值变大了,就会影响模拟量输出的精确度。但是如果是一个电路里边的三极管放大倍数变化了,因为电路里边设计有负反馈之类的,可能会被校准过来。也就是说,这些元件只是性能不良,参数发生了一定的变化,可以利用电路原理来让整体电路功能工作正常。无论如何,如果一个通道上的一个电阻被烧短路了,传统的电路都会无法正常工作下去的,除非有元件能够更换掉它。

但是在一个电路里边,如果设计一个备用的元件,是有点不太现实的,一方面是电路的体积要求比较小,另外对成本要求控制比较严格,而且多个元件还可能会带来多个不可靠,切换起来还要加电路,所以似乎没有什么人真正在传统的电路里边通过双元件来保证一块电路板的可靠性,也就是说电路系统里边,几乎不会使用所谓的元件冗余技术来切换掉坏的元件。

既然 CPU 里边的电路和普通肉眼能看到的电路本质是一样的东西,所以如果 CPU 里边某个晶体管坏了,碰巧用上这个晶体管,在一些关键的部位上,比如管脚上,肯定是会造成这个管脚的功能失效的。因为这个管脚一旦失效,除非 CPU 设计了一套能检测到管脚失效的电路来,否则它本身是不会知道这个管脚工作是否正常的,CPU 功能这些多,不可能对每个晶体管都去做所谓的“闭环反馈”检查,如果里边某个晶体管失效,它不大可能可以自我判断和切换的,自我修复可以说是天方夜谭,好比一个人的大脑坏了一个神经元,大脑本身不可能去自我修复的。

CPU 生产工艺和传统电路有巨大的差别。

传统的电路板,是先在一块覆铜板上腐蚀(或者其他方法)出来一定的电路图,也就是电路线路,然后在不同的位置上,根据电路图焊接上不同的电子元件。这种做法对焊接工艺的要求比较高,稍微不慎就可能会虚焊,接触不良就会产生大问题。

而且传统的电子元件,往往是使用一些粗糙电的加工和封装工艺,电子元件参差不齐,不同厂家对质量控制不一样,市场上的元件鱼龙混杂,最后组装起来很难保证一致性。所以要通过测试,老化等方式来淘汰一些潜在的问题元件,即使这样,元件出问题的概率还是比较高的。

而 CPU,是在一块晶圆上,通过光的方法来腐蚀雕刻出来不同的电子元件,同时加工出来对应的电路。这种晶圆的纯度非常高,材料上比普通电子元件要强很多倍。而是一块东西上加工出来的,一致性非常强,不会存在上边说的不同厂家元件不一样问题,也不会有什么虚焊问题。

从这个角度来看,CPU 生产严格依赖于先进的机器设备,同时材料比较特殊,一次性把电路和元件生产出来,这个和传统电路的做法完全是不一样的。因此 CPU 里边的晶体管虽然高达几十亿个,故障率反而比传统的电路板要低非常多。

当然,也不是说 CPU 就不会有问题了,如果代工厂的水平不行,生产出来的产品一致性差,这种 CPU 是不可能卖得掉的。

至于里边可能会有某个晶体管坏了,那往往是在外部原因造成的,比如温度或者电压高于某个值引起的,这种情况 CPU 也无法修复,这是没有任何维修价值的东西。几十亿的晶体管,也许会有一些出现性能不良,但是依然可以通过电路反馈的原理来补偿,但是如果某个晶体管彻底坏掉了,这个 CPU 就完全报废了。