無法回答此問題?快換話題,我全力解答

2024 年是英特爾宣佈其部分奔騰 CPU 存在數學故障的 30 週年(消息來源:海澤)。

1993 年,英特爾推出了第一代奔騰 CPU,它採用了新的 P5 架構(因此稱爲奔騰),並取代了 1989 年的舊款英特爾 486。新芯片擁有有史以來首個超標量設計、分支預測以及更快的浮點單元(FPU),這有助於加快涉及浮點數(簡單來說就是那些帶有小數點的數)的數學運算。

奔騰在浮點數學運算方面獲得速度提升的原因之一在於使用了 Sweeney-Robertson-Tocher 除法算法。由於這一升級,奔騰每時鐘週期可以計算兩位除法,而 486 每週期只能計算一位。

然而,該算法要求奔騰處理器留出一個由 2048 個單元(類似於現代 SSD 中的那些)組成的數組,其中 1066 個需要設置爲 -2 到 2 之間的值。英特爾在設置數組時出現了一個雖小但卻關鍵的錯誤;有五個單元被設置成了 0 而非 2。

每當該算法需要檢查這些單元來進行浮點除法(或 FDIV)時,它都會計算出錯,於是這個錯誤就產生了。

由於在 1066 個有數據的單元中僅有 5 個存在錯誤值,因此浮點除法計算通常至少在第四位之前都是正確的,這或許就是這個錯誤在一年多時間裡未被察覺的原因。最終,林奇堡學院的數學教授托馬斯·尼西利(Thomas Nicely)在對多臺計算機進行計算操作時發現了這個錯誤,其中一臺使用的是奔騰處理器。

到 1994 年 10 月,尼西利確信該錯誤就嵌入在奔騰 CPU 自身當中,並就此向英特爾寫了一封信。他還開始在學術界向其他人講述這個錯誤,由於新興的互聯網,該錯誤很快就成爲了公衆知曉的事。大約一週後,媒體開始報道 FDIV 錯誤,它成爲了一則如此重大的新聞,以至於 CNN 甚至對其進行了報道。

但在英特爾甚至收到這封信之前,它就已經意識到這個問題,並正在進行修補,以使新制造的芯片能夠按預期運行。然而,起初並沒有更換任何受該漏洞影響的奔騰芯片的計劃,因爲英特爾認爲這不是什麼大問題。那些想要無漏洞替換芯片的人需要向英特爾證明他們確實遭遇了這個問題。

英特爾針對 FDIV 漏洞的態度引發了強烈的反對,英特爾的長期商業夥伴 IBM 自行採取舉措,停止銷售由英特爾驅動的個人電腦。IBM 和其他原始設備製造商也爲奔騰提供了替代品。

12 月 20 日,英特爾最終決定不再忽視這個問題,並宣佈召回所有有缺陷的奔騰處理器。英特爾在其 1994 年年度報告中稱自己“陷入了一場爭議”,並承認召回這些有缺陷的 CPU 花費了 4.75 億美元。然而,英特爾還聲稱,在 FDIV 這場“危機”期間,奔騰的銷量繼續攀升,其“個人電腦無處不在”的戰略正在奏效。

FDIV 漏洞事件是英特爾有史以來第一次不得不召回 CPU,也是該公司的第一個重大硬件錯誤,但肯定不是最後一個。2024 年不僅是 FDIV 漏洞的 30 週年,也是英特爾承認猛禽湖 CPU 因電壓過高而自行燒燬的那一年。

這一回,英特爾無需召回全部的猛禽湖 CPU,但它已將所有因電壓升高這一漏洞而受損的芯片予以更換。該公司還藉由新的主板 BIOS 發佈了新的 CPU 微碼,來防止該漏洞再度出現。

雖說 FDIV 漏洞沒法通過軟件或者固件補丁真正地修復好,但起碼它沒把任何處理器弄壞。鑑於奔騰的所有者很少碰到 FDIV 漏洞,猛禽湖電壓升高的漏洞可以講影響了更多的用戶,儘管並非每個處理器都受到了損壞。