摘要:Nicely 教授其实不是第一个发现浮点除 bug 的人,几个月前英特尔内部测试就发现了该 bug,它估计出错的概率非常低,大约为 1/90 亿,认为问题微不足道,虽然如此它仍然悄悄修改了电路以修复问题。
1993 年英特尔发布了奔腾高性能处理器。
一年之后 Nicely 教授在研究孪生素数时发现他的奔腾计算机在执行浮点除时会产生错误结果。
1/824633702441 在三台奔腾计算机上的结果都是错误的,但旧计算机却能给出正确的答案。
Nicely 教授其实不是第一个发现浮点除 bug 的人,几个月前英特尔内部测试就发现了该 bug,它估计出错的概率非常低,大约为 1/90 亿,认为问题微不足道,虽然如此它仍然悄悄修改了电路以修复问题。
Nicely 教授在发现问题之后致电了英特尔技术支持,但对方不予理睬。
于是他向计算机杂志和业内知名人士发送了该 bug 的电邮,其中一位收件人是《Undocumented DOS》作者 Andrew Schulman,他转发给了一家 DOS 软件公司的联合创始人 Richard Smith,Smith 随后将其发布在了 Compuserve 论坛上。
Electronic Engineering Times 杂志的一位记者看到帖子后在杂志上撰写了有关奔腾 bug 的报道。
英特尔解释说,bug 存在于被称为 PLA(Programmable Logic Array)的组件上,它充当了除法运算的查找表。它已经修复了 bug 将会为客户替换有问题的处理器。
问题本应该就此了结了,然而英特尔对想要更换处理器的客户施加了限制,要求客户说服工程师他们需要如此高的精度才能替换,此举激怒了客户,再次引发了广泛的负面报道。
当年 12 月 12 日 IBM 宣布停售奔腾计算机,英特尔随后屈服,宣布召回所有有缺陷的芯片,这次召回花费了英特尔 4.75 亿美元。
英特尔道歉信:
参考资料:
https://www.solidot.org/story?sid=80180
来源:小杨科技每日一讲