在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    一道數(shù)學題,讓芯片巨頭虧了5億美金

    一道數(shù)學題,讓芯片巨頭虧了5億美金

    1993年,CPU 巨頭Intel推出了Pentium處理器。

    新的品牌順利地擺脫了AMD等公司對286,386,486等數(shù)字系列的品牌“抄襲”,樹立了全新的領(lǐng)先者的形象。

    再加上90年代初斥巨資成功推進的Intel Inside計劃, Intel 成功地從一家主要向電腦制造商供貨的公司,轉(zhuǎn)變成一家直接面向消費者的品牌。

    不知道哪位天才把Pentium翻譯成霸氣的“奔騰”,真是驚艷全場的神來之筆。

    新產(chǎn)品,新品牌,Intel 可謂意氣風發(fā),準備一統(tǒng)天下。

    但誰也沒想到的是,這個被寄予厚望的CPU內(nèi)部居然隱藏著一個Bug!

    1

    Bug被發(fā)現(xiàn)的過程也頗為傳奇,我們得從數(shù)學上的一個概念說起。

    早在希臘時代,歐幾里得就已經(jīng)證明質(zhì)數(shù)有無窮多個,并且數(shù)字越大,質(zhì)數(shù)分布得越稀疏。

    神奇的是,盡管分布得很稀疏,但只要出現(xiàn)一個質(zhì)數(shù),就可以在附近找到另外一個, 例如41 和 43、101 和 103、10007 和 10009,他們之間相差都是2。

    數(shù)學家給這些相差為2的連續(xù)質(zhì)數(shù)起了一個名稱:孿生質(zhì)數(shù)。

    1919年,挪威數(shù)學家 Viggo Brun證明了一件有趣的事情,就算有無窮多的孿生質(zhì)數(shù),它們倒數(shù)的和會收斂于一個常數(shù),這個常數(shù)被稱為“布朗常數(shù)”。

    但是讓數(shù)學家頭疼的是:他們不知道這個布朗常數(shù)是不是無理數(shù)。

    隨著計算機的出現(xiàn),有些人就想到一個招數(shù):用計算機強大的算力,暴力求解。

    美國 Lynchburg College 的數(shù)學教授Thomas Nicely就是其中的一員,他的實驗室恰巧裝備了新的奔騰計算機。

    嚴謹?shù)腘icely為了防止算錯,用了兩種算法做雙保險,如果答案不同,肯定是某個地方出了問題。

    Nicely滿懷希望地開始了計算,可是結(jié)果讓他失望:兩種算法的結(jié)果真的不一樣!

    深入研究以后,Nicely發(fā)現(xiàn):824 633 702 441和824 633 702 443這兩個孿生質(zhì)數(shù),它們的倒數(shù)的小數(shù)點后的第10位被算錯了!

    Nicely換了一臺老舊的486電腦來計算,答案算對了。

    他再用奔騰電腦來重新計算,錯誤重現(xiàn)。

    到底是自己的程序?qū)戝e了?還是電腦的問題?

    Nicely開始做排除法,排除自己代碼的錯誤,Borland編譯器的錯誤,芯片組的錯誤,花了整整4個月的時間,終于找到了Bug的起源地:奔騰CPU。

    2

    1994年10月24號,Nicely打電話給Intel的技術(shù)支持部門,告知他們這個問題,Intel說幾天內(nèi)就會有回復,但是從此杳無音信。

    原因很簡單,Intel早在1994年6月就知道了這個問題:浮點除法運算(FDIV)出錯。

    奔騰CPU的FDIV引入了一種全新的、快速的實現(xiàn)方法,使用了一個2048項的硬件查找表,但是由于意外,有5個值沒有被正確地設置,他們本應該是2,但是卻設置成了0。

    這個Bug只有在高精度計算的時候才會被觸發(fā),普通用戶很難碰到,Byte雜志估計,出錯的概率是90億分之一。

    既然影響不大,Intel的選擇是:隱瞞,悄悄修復,不公布任何細節(jié)。

    畢竟已經(jīng)售出幾百萬片CPU了,大規(guī)模召回損失太大。

    又不是不能用!

    3

    收不到回音的Nicely很不爽,10月30號,他開始給一些IT著名人士和雜志發(fā)郵件,包括Byte雜志,PC Week,InfoWorld,PC Magazine。

    這件事情很快在網(wǎng)絡上發(fā)酵,一大批牛人開始了問題定位的接力賽:

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

    第二棒則是挪威的Terje Mathis,他很快確認了Nicely的問題,并且寫了一個簡單的匯編測試程序,發(fā)到了comp.sys.intel新聞組中(沒錯,那時候別說社交網(wǎng)絡了,就連BBS還不流行)

    第三棒是德國的Andreas Kaiser ,他找到了24個數(shù)字,它們的倒數(shù)在奔騰CPU只能得到單精度的結(jié)果。

    第四棒是一位設計FPU(floating-point-unit)的專業(yè)人士,加州Vitesse半導體設計師Tim Coe。

    他根據(jù)24個數(shù)字的線索,推測出奔騰CPU采用了基數(shù)為 4 的 SRT 算法,每個時鐘周期可以生成兩位的商,使得速度比原來快兩倍。

    事實也確實如此,內(nèi)部專業(yè)人士的確厲害。

    到了第五棒,一個超級大牛出現(xiàn)了,MATLAB之父:Cleve Moler

    Moler總結(jié)了之前的數(shù)據(jù),找到了Bug的規(guī)律。

    可見犯了錯誤以后,想捂是捂不住的,你越想捂,這世界上越有人要把你扒個底朝天。

    但是到目前為止,Intel奔騰這個硬件Bug還主要在科技圈中轉(zhuǎn)悠,破圈還需要等待一個重要時刻。

    4

    1994年11月24號,JPL(噴氣推進實驗室,錢學森是重要創(chuàng)始人)有兩名工程師得知了這個Bug,建議實驗室停購奔騰電腦。

    CNN的記者史蒂夫·楊聽說了JPL的事情,嗅覺靈敏的他立刻聯(lián)系Moler,進行采訪,當天晚上JPL的新聞和Moler的采訪就在電視臺播放,紐約時報、波士頓環(huán)球報等大肆報道,文章鋪天蓋地而來。

    奔騰CPU這個本來很難出現(xiàn)的Bug一下子成為街頭巷尾的熱議話題。

    在媒體的重壓之下,Intel終于承認了浮點計算的漏洞,但依然嘴硬,它聲稱并不嚴重,并且只給那些能證明自己受到影響的用戶更換CPU。

    這種想蒙混過關(guān)的處理態(tài)度引發(fā)眾怒,動搖了消費者對Intel CPU的信心。

    其他廠商也順時而動,IBM暫停銷售裝有Intel CPU的個人電腦,導致Intel股票大幅下跌。

    1994年12月,撐不住的Intel終于宣布:召回所有有缺陷的處理器。

    這也是歷史上第一次全面召回計算機芯片。

    Intel為此付出的代價是:4.75億美元,名譽的損失更是難以估量。

    5

    故事到此并沒有結(jié)束。

    照理說硬件出了問題,無法修改,只能替換。

    但是不要忘了我們剛提到的那一群天才,MATLAB之父Cleve Moler ,Tim Coe,阿貢國家實驗室的 Peter Tang 以及來英特爾的幾位工程師,他們通力合作,在12月5號居然開發(fā)出了一個非常巧妙的軟件修復辦法。

    細節(jié)這里就不贅述了,大概是:在特定情況下,將被除數(shù)和除數(shù)都乘以15/16,就可以進入安全狀態(tài)。

    這個修復辦法被發(fā)到新聞組中,讓所有人免費使用。

    精明的Cleve Moler讓公司發(fā)布了一個可以檢測和糾正除法錯誤的MATLAB版本,并且立刻發(fā)了一個新聞稿《MathWorks修復了Intel奔騰浮點數(shù)Bug》。

    就在奔騰的Bug鬧得沸沸揚揚,全國知的時候,新聞稿出現(xiàn)在了美國各大媒體的傳真機上。

    Cleve Moler成功地實施了一次完美營銷,這一年,他的公司MathWorks只是一家不到250人的小公司,隨后便走上了快車道,成為這一領(lǐng)域的巨頭。

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年7月26日 13:58
    下一篇 2022年7月26日 13:59

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息