一道数学题,让芯片巨头亏了5亿美金!

  发布时间:2025-12-07 20:25:33   作者:玩站小弟   我要评论
​1993年,CPU 巨头Intel推出了Pentium处理器。新的品牌顺利地摆脱了AMD等公司对286,386,486等数字系列的品牌“抄袭”,树立了全新的领先者的形象。​再加上90年代初斥巨资成功 。

​1993年 ,道数CPU 巨头Intel推出了Pentium处理器 。学题 

新的让芯品牌顺利地摆脱了AMD等公司对286,386,片巨486等数字系列的头亏品牌“抄袭”  ,树立了全新的亿美领先者的形象。

再加上90年代初斥巨资成功推进的道数Intel Inside计划, Intel 成功地从一家主要向电脑制造商供货的学题公司,转变成一家直接面向消费者的让芯品牌。

不知道哪位天才把Pentium翻译成霸气的服务器租用片巨“奔腾”,真是头亏惊艳全场的神来之笔。

新产品,亿美新品牌,道数Intel 可谓意气风发,学题准备一统天下。让芯 

但谁也没想到的是,这个被寄予厚望的CPU内部居然隐藏着一个Bug ! 

Bug被发现的过程也颇为传奇 ,我们得从数学上的高防服务器一个概念说起。

早在希腊时代,欧几里得就已经证明质数有无穷多个 ,并且数字越大,质数分布得越稀疏。

神奇的是 ,尽管分布得很稀疏 ,但只要出现一个质数,就可以在附近找到另外一个 , 例如41 和 43 、101 和 103 、10007 和 10009,他们之间相差都是2。亿华云

数学家给这些相差为2的连续质数起了一个名称 :孪生质数。

1919年 ,挪威数学家 Viggo Brun证明了一件有趣的事情 ,就算有无穷多的孪生质数,它们倒数的和会收敛于一个常数 ,这个常数被称为“布朗常数”。

但是让数学家头疼的是 :他们不知道这个布朗常数是不是无理数 。建站模板 

随着计算机的出现 ,有些人就想到一个招数:用计算机强大的算力,暴力求解。

美国 Lynchburg College 的数学教授Thomas Nicely就是其中的一员,他的实验室恰巧装备了新的奔腾计算机。

严谨的Nicely为了防止算错,用了两种算法做双保险 ,如果答案不同 ,模板下载肯定是某个地方出了问题。

Nicely满怀希望地开始了计算  ,可是结果让他失望  :两种算法的结果真的不一样 !

深入研究以后,Nicely发现 :824 633 702 441和824 633  702 443这两个孪生质数,它们的倒数的小数点后的第10位被算错了!

Nicely换了一台老旧的486电脑来计算  ,答案算对了。源码下载 

他再用奔腾电脑来重新计算,错误重现。

到底是自己的程序写错了 ?还是电脑的问题 ?

Nicely开始做排除法,排除自己代码的错误,Borland编译器的错误 ,芯片组的错误,花了整整4个月的时间 ,终于找到了Bug的起源地:奔腾CPU 。 

1994年10月24号 ,Nicely打电话给Intel的技术支持部门,告知他们这个问题 ,Intel说几天内就会有回复,但是从此杳无音信 。 

原因很简单,Intel早在1994年6月就知道了这个问题 :浮点除法运算(FDIV)出错 。

奔腾CPU的FDIV引入了一种全新的、快速的实现方法 ,使用了一个2048项的硬件查找表  ,但是由于意外 ,有5个值没有被正确地设置,他们本应该是2 ,但是却设置成了0 。

这个Bug只有在高精度计算的时候才会被触发,普通用户很难碰到,Byte杂志估计 ,出错的概率是90亿分之一。 

既然影响不大 ,Intel的选择是:隐瞒,悄悄修复,不公布任何细节。 

毕竟已经售出几百万片CPU了 ,大规模召回损失太大。 

又不是不能用 !

收不到回音的Nicely很不爽,10月30号,他开始给一些IT著名人士和杂志发邮件,包括Byte杂志  ,PC Week ,InfoWorld ,PC Magazine 。

这件事情很快在网络上发酵,一大批牛人开始了问题定位的接力赛:

第一棒选手是上面提到的Nicely 。

第二棒则是挪威的Terje Mathis,他很快确认了Nicely的问题,并且写了一个简单的汇编测试程序,发到了comp.sys.intel新闻组中(没错,那时候别说社交网络了 ,就连BBS还不流行)

第三棒是德国的Andreas Kaiser ,他找到了24个数字 ,它们的倒数在奔腾CPU只能得到单精度的结果 。

第四棒是一位设计FPU(floating-point-unit)的专业人士 ,加州Vitesse半导体设计师Tim Coe 。 

他根据24个数字的线索 ,推测出奔腾CPU采用了基数为 4 的 SRT 算法,每个时钟周期可以生成两位的商,使得速度比原来快两倍。

事实也确实如此,内部专业人士的确厉害 。

到了第五棒  ,一个超级大牛出现了 ,MATLAB之父 :Cleve Moler

Moler总结了之前的数据 ,找到了Bug的规律  。

可见犯了错误以后 ,想捂是捂不住的 ,你越想捂 ,这世界上越有人要把你扒个底朝天 。

但是到目前为止 ,Intel奔腾这个硬件Bug还主要在科技圈中转悠 ,破圈还需要等待一个重要时刻。

1994年11月24号,JPL(喷气推进实验室  ,钱学森是重要创始人)有两名工程师得知了这个Bug,建议实验室停购奔腾电脑。

CNN的记者史蒂夫·杨听说了JPL的事情 ,嗅觉灵敏的他立刻联系Moler,进行采访,当天晚上JPL的新闻和Moler的采访就在电视台播放,纽约时报  、波士顿环球报等大肆报道,文章铺天盖地而来 。

奔腾CPU这个本来很难出现的Bug一下子成为街头巷尾的热议话题。

在媒体的重压之下,Intel终于承认了浮点计算的漏洞,但依然嘴硬,它声称并不严重,并且只给那些能证明自己受到影响的用户更换CPU 。

这种想蒙混过关的处理态度引发众怒  ,动摇了消费者对Intel CPU的信心 。

其他厂商也顺时而动 ,IBM暂停销售装有Intel CPU的个人电脑,导致Intel股票大幅下跌。

1994年12月 ,撑不住的Intel终于宣布 :召回所有有缺陷的处理器 。

这也是历史上第一次全面召回计算机芯片。 

Intel为此付出的代价是:4.75亿美元 ,名誉的损失更是难以估量 。

故事到此并没有结束  。

照理说硬件出了问题,无法修改 ,只能替换。

但是不要忘了我们刚提到的那一群天才,MATLAB之父Cleve Moler ,Tim Coe ,阿贡国家实验室的 Peter Tang 以及来英特尔的几位工程师,他们通力合作  ,在12月5号居然开发出了一个非常巧妙的软件修复办法 。

细节这里就不赘述了 ,大概是 :在特定情况下 ,将被除数和除数都乘以15/16,就可以进入安全状态 。

这个修复办法被发到新闻组中,让所有人免费使用。

精明的Cleve Moler让公司发布了一个可以检测和纠正除法错误的MATLAB版本,并且立刻发了一个新闻稿《MathWorks修复了Intel奔腾浮点数Bug》 。

就在奔腾的Bug闹得沸沸扬扬 ,全国皆知的时候 ,新闻稿出现在了美国各大媒体的传真机上。

Cleve Moler成功地实施了一次完美营销 ,这一年 ,他的公司MathWorks只是一家不到250人的小公司,随后便走上了快车道,成为这一领域的巨头。

参考资料

https://dl.acm.org/doi/pdf/10.1145/3386331《A History of MATLAB》

https://buzzorange.com/techorange/2019/11/08/intel-pentium-bug/

https://faculty.lynchburg.edu/~nicely/pentbug/pentbug.html

https://en.wikipedia.org/wiki/Pentium

https://en.wikipedia.org/wiki/Pentium_FDIV_bug

https://en.wikipedia.org/wiki/Intel#Intel_Inside

  • Tag:

相关文章

  • 零信任时代的网络安全:mTLS的重要性

    让我们深入探讨一下SSL、TLS和mTLS等一系列重要的通信安全协议。尽管从整体系统设计的角度来看,这个主题可能并不是至关重要,但仍然值得我们深入了解。1. SSL协议SSL,即安全套接字层Secur
    2025-12-07
  • win10禁用设备安装更新教程

    win10禁用设备的安装可以帮助用户禁用设备的很多安装更新,功能十分的强大方便,今天小编就给大家带来了详细的更新教程,需要的来看看吧。win10禁用设备安装更新教程1.按【Windows+r】输入【g
    2025-12-07
  • win10护眼色怎么设置

    很多用户们表示长时间使用win10电脑,因为连续看着屏幕一天后导致眼睛疲劳,想要去设置win10显示的护眼色,但是又不知道怎么去设置,快来看看详细的设置教程吧~win10护眼色怎么设置:1、首先在键盘
    2025-12-07
  • win10一段时间不用网络就掉线连不上怎么办两种解

    很多的用户们在使用电脑的时候,不管是笔记本还是台式机,在一段时间不用以后,电脑网络就会自动掉线,然后再连接无线网络的时候,也连接不上,这个问题需要我们怎么去解决呢,快来看看详细的解决教程吧~win10
    2025-12-07
  • 奇安信发布Q-GPT安全机器人和大模型卫士

    8月25日,奇安信集团在京发布了Q-GPT奇安信大模型)安全机器人和大模型卫士。Q-GPT安全机器人是基于奇安信大模型的“虚拟安全专家”,可以全天候工作,一台机器人等于60多位安全专家,可产生约200
    2025-12-07
  • win10是32位系统吗怎么看

    我们在使用win10操作系统的时候,有的小伙伴在想win10的系统是多少位的。那么据小编所知win10操作系统有32位和64位两种。位数的查看方式可以在电脑的属性中进行查看。详细步骤就来看下小编是怎么
    2025-12-07

最新评论