美国密歇根大学研究人员开发出一款新软件,它能寻找芯片的漏洞,并提出最佳的修复方法。这项技术对如AMD和英特尔这样的芯片制造商来说无疑是一大喜讯,因为随着晶体管的缩小和芯片设计的复杂化,硬件的缺陷越来越普遍。
缩短芯片进入市场的时间、降低成本,也使最终进入市场的芯片可靠性更高。
由伊戈尔-马尔科夫教授和他的同事开发的这种软件,可对返回芯片制造商的首轮原型芯 片的漏洞修复问题进行处理。一个新的原型芯片设计完成后,并不会立即面对消费者。工程师们需要在芯片上运行操作系统和各种软件,检测其是否正常工作。这个 过程可能需要花去一两个小时,也可能是一个星期,这主要取决于芯片上有多少瑕疵。
虽然工程师有时能确定一个漏洞,这个漏洞可能是线路安排过密或是晶体管放错了位置等 任何问题,但他们也往往不太清楚怎样才是最好的修复方法。很多时候,工程师在一轮测试中发现并修复了一个漏洞,但在下一回合的测试中发现前次的修复方法无 意中已经带来了新的漏洞。而一个原型芯片的制作要花去数月的时间,通常是非常昂贵的,光改变外罩设计来重新安排晶体管的排放格局以及芯片上的导线,成本就 高达数百万美元。
研究人员解释说,目前一个原型芯片回到芯片制造商那里时,工程师将其钩到电子探头 上,电子探头将电信号传送到芯片并记录其输出。不同的信号到达芯片的不同部位,经过数以千计的信号测试后,工程师通常可以定位一个漏洞所在。然后,他们会 提出一系列可能的解决方案。有时,他们可能只需简单地移除芯片顶层两根导线之间的连接。这用实验室现有的设备就可以做到,这样芯片就可以很快地进行再测 试。但有时,修复可能需要在芯片内较低层进行,如形成逻辑门的晶体管就在这个部位,对这些晶体管的调整和再测试工作就没那么容易了。
密歇根大学的研究人员编写的软件会自动标定测试芯片的电输入,并分析其输出来找出发 生问题的地方。理想的情况下,工程师会想要知道芯片上每一个晶体管的输出。但消费类芯片很快将拥有超过1亿个晶体管,这使得这种精确的测试方法太费时。因 此,密歇根大学的算法只测试芯片大部分区域的电输入。对应于输出错误,就能知道将测试注意力集中在哪个区域,这样就缩窄了寻找范围来更快地找到可能的漏 洞。该软件也用类似的方式来确定修复漏洞的方法,通过在一系列模拟器中的运行来找到一个设计更改,从而提供最快和最具成本效益的解决方案。
这项技术的最大优势之一是软件有时可以提供出乎意料的解决办法。对一名工程师来说, 修复漏洞合乎逻辑的方法就是给电路重新布线。但软件可以提示工程师,也许只需反转几根导线就能得到相同的结果,而这样的解决方法不是显而易见的。在个案研 究中,研究人员发现该软件可以自动修复芯片上70%%左右的重要漏洞,而且可将找到一个特定漏洞的时间从几个星期缩短到几天。
美国卡内基梅隆大学电气和计算机工程教授罗伯-卢滕巴称,硅片调试一直以来是个有待 解决的问题,而且在这方面也几乎没有科学文献。英特尔公司也许有一些尖端的调试技术,但是他们从不提及。目前人们知道的方法一般都是使用手工调试,自动化 程度并不高。而手工调试会留下较大的误差空间。包括微处理器在内,差不多所有的芯片都存在漏洞。在英特尔公司的网站上就列举了商业笔记本电脑大约130个 已知的硬件漏洞。虽然大多数漏洞可以通过下载软件来进行修复,但还有大约20个漏洞无法用软件方法修复,这就使电脑存在遭受病毒攻击的危险。
英特尔公司也对此项技术保持高度关注,因为他们一直以来都在寻求更好的方法来改进芯 片制造工艺。该公司的研究人员称,英特尔目前正在使用类似的技术,但与密歇根大学的技术在形式上有所不同。英特尔的研究人员充分肯定了密歇根大学的技术取 得了一定的进展,这对于解决芯片漏洞来说将是一个非常好的开始。