硬件歷史學界近期迎來了一項突破性發現,硬件歷史學家Ken Shirriff通過顯微鏡的精細觀察,成功鎖定了1994年Intel奔騰處理器中著名的“FDIV Bug”的根源所在,這一發現無疑為計算機硬件歷史添上了濃墨重彩的一筆。
這一歷史性的計算錯誤,不僅促成了Intel歷史上的首次產品召回事件,還帶來了高達4.75億美元的直接經濟損失。更重要的是,它成為了首個轟動全球的計算機硬件問題,讓全世界對計算機硬件的可靠性產生了前所未有的關注。
Shirriff的研究聚焦于奔騰處理器的可編程邏輯陣列(PLA)。通過顯微鏡下的細致分析,他成功找到了引發這一缺陷的具體晶體管。這一發現不僅解答了多年來業界對于該問題的疑惑,也展示了Shirriff深厚的硬件分析功底。

作為Intel首款采用P5架構的CPU,這款奔騰處理器采用800納米工藝制造,集成了310萬個晶體管。得益于這一相對較少的晶體管數量,Shirriff才得以通過顯微鏡觀察到處理器的內部結構,并成功定位到出問題的晶體管。而在現代CPU中,由于晶體管數量已高達數百億個,這樣的操作幾乎成為了不可能的任務。
該錯誤源于奔騰處理器的先進浮點單元,它采用了SRT除法算法,使得計算速度相較于前代處理器有了顯著的提升。然而,這一算法需要一個包含2048個單元的查找表,這些單元以112行的形式排列,并通過晶體管的存在或缺失來編碼從-2到2的值。
Shirriff發現,在這個查找表中,有五項缺失了必要的晶體管,導致它們默認被設置為0而非正確的值2。他還發現了另外11個缺失的數據點,但幸運的是,這些點并未引發錯誤。Shirriff將這一現象形容為“純粹的運氣”。
為了解決這個問題,Intel在后續的奔騰版本中采取了簡單的填充策略,將所有未使用的表項都設置為2。這一解決方案不僅有效解決了問題,還為未來的奔騰版本節省了裸片空間。

Shirriff計劃在接下來的幾天內,通過他的博客發布對這一發現的深入分析。他不僅會探討這一問題的歷史背景和技術細節,還將討論是否有可能通過物理修改受影響的奔騰芯片來糾正這一長達三十年的老問題。




















