在计算机的一生中,CPU坏的概率极小。正常使用的情况下,就算其他主要的电脑配件都坏了,CPU都不会坏。
CPU出现损坏的情况,多数都是外界原因。最主要的就是长期在超频下工作,且散热性差,引起电子热迁移导致的损坏。
现在的个人电脑的更新换代基本不是由于CPU损坏才换的,主要是因为软件不断的升级、越来越大,造作系统的垃圾越来越多导致卡顿,让你无法忍受,才换电脑的。
CPU在出厂之前,是经过非常严格的测试的,甚至在设计之初,就要考虑测试的问题。可以从pre-silicon、post-silicon和硅的物理性质等方面来解释这个问题。
1、CPU被做成产品之前被检出缺陷
这一个阶段也就是芯片tape out之后,应用到系统或者产品之前。
事实上,在现在的芯片设计中,在设计之初就已经为芯片的制造,测试,以及良率做考虑了。保证这一步能检测出芯片的缺陷,主要是DFT+ATE来保证。当然也有一些公司会做DFD和DFM。
DFT = Design For Test
DFD = Design For Debug
DFM = Design for Manufacture
DFT指的是在芯片的设计阶段即插入各种用于提高芯片可测试性(包括可控制性和可观测性)的硬件电路,通过这部分逻辑,生成测试向量,使测试大规模芯片变得容易的同时,尽量减少时间以节约成本。
DFT--可测性设计,按流程划分,依然属于设计阶段(pre-silicon),只不过是为测试服务的。
而ATE(Auto Test Equipment )则是在流片之后,也就是post-silicon阶段。
ATE测试就是为了检查制造缺陷过程中的缺陷。芯片测试分两个阶段,一个是CP(Chip Probing)测试,也就是晶圆(Wafer)测试。另外一个是FT(Final Test)测试,也就是把芯片封装好再进行的测试。
CP测试的目的就是在封装前就把坏的芯片筛选出来,以节省封装的成本。同时可以更直接的知道Wafer 的良率。CP测试可检查fab厂制造的工艺水平。现在对于一般的wafer成熟工艺,很多公司多把CP给省了,以减少CP测试成本。具体做不做CP测试,就是封装成本和CP测试成本综合考量的结果。
一片晶圆越靠近边缘,die(一个小方格,也就是一个未封装的芯片)出问题的概率越大。测出坏的芯片根据不同坏的情况不同,也会分bin,最终用作不同的用途。
所以在芯片被做成成品之前,每一片芯片都是经过量产测试才发货给客户的。
2、做成成品出厂以后,在使用过程中坏掉了
就单个晶体管来看,在正常使用过程中,真的那么容易坏掉吗?其实不然。
硅由于物理性质稳定,禁带宽度高(1.12ev),而且用作芯片的硅是单晶硅,也很难发生化学反应,在非外力因素下,晶体管出问题的概率几乎为零。
即使如此,芯片在出场前,还要经过一项测试,叫“老化测试”,是在高/低温的炉里经过 135/25/-45摄氏度不同温度以及时间的测试,以保证其稳定性和可靠性。
根据芯片的使用寿命根据浴盆曲线(Bathtub Curve),分为三个阶段,第一阶段是初期失效:一个高的失效率。由制造,设计等原因造成。第二阶段是本征失效:非常低的失效率,由器件的本征失效机制产生。第三个阶段:击穿失效,一个高的失效率。而在计算机正常使用的时候,是处在第二阶段,失效的概率非常小。
但是,耐不住有上百亿个晶体管啊...... 所以,还是有坏的概率的。
就算是某个晶体管坏了,芯片设计中会引入容错性设计,容错性设计又可以从软件和硬件两个方面来实施。
比如多核CPU可以通过软件屏蔽掉某个坏的核心,ATE测试后根据不同缺陷分bin的芯片,也会用在不同的产品上,毕竟流片是十分昂贵的。比如Intel的i3,i5,i7等。当然,也不是所有的i3都是i5、i7检测出来的坏片。
再比如存储器中一般存在冗余的信号线和单元,通过检查发现有问题的单元,从而用冗余的模块替换有缺陷的模块,保证存储的正常使用。
比如下面橙色的为冗余的memory,红色的是坏的memory,我们便可以通过算法把红色memory的地址映射到橙色备用的一个memory上。
芯片测试是极其重要的一环,有缺陷的芯片能发现的越早越好。如果把坏的芯片发给客户,不仅损失巨大,对公司的声誉也会造成负面的影响。
在芯片领域有个十倍定律,从设计-->制造-->封装测试-->系统级应用,每晚发现一个环节,芯片公司付出的成本将增加十倍!!!
高质量的测试是由DFT,ATE,diagnosis,EDA等多方面协作完成的,尤其在超大规模集成电路时代,测试变得越来越难,越来越重要,其开销在整个芯片流程中也占有很大的比重。芯片作为工业皇冠上的明珠,所有电子系统的大脑,是万万不能出问题的!
芯片就业培训课程推荐:
团购了!畅销就业培训课《芯片验证从入门到精通》