三十年懸案真相大白:Intel奔騰FDIV Bug終於找到根源
快科技12月12日消息,硬件歷史學家Ken Shirriff取得了重大發現,他通過顯微鏡分析確定了導致1994年Intel奔騰處理器"FDIV Bug"的確切晶體管。
這一錯誤導致了Intel的首次產品召回,直接損失達4.75億美元,同時這也是第一個成爲全球頭條新聞的計算機硬件問題。
Shirriff檢查了第一代奔騰處理器的可編程邏輯陣列(PLA),精確定位了這一歷史性計算缺陷的根本原因。
這是Intel首款採用P5架構的CPU,採用800納米工藝製造,擁有310萬個晶體管,也正因如此,Shirriff才能夠藉助顯微鏡分析處理器的裸片,並找到具體晶體管,在擁有數百億個晶體管的現代CPU上,這一操作幾乎很難實現。
錯誤源於Pentium的先進浮點單元,它採用了SRT除法算法,使計算速度是之前處理器的兩倍。
該算法需要一個2048單元的查找表,以112行排列,值從-2到2由晶體管的存在或缺失編碼。
他發現該表中有五項缺失了所需的晶體管,默認爲0而非正確的值2,不僅如此,Shirriff還發現了額外的11個缺失數據點,但這些點沒有引起錯誤,他形容這是"由於運氣"。
Intel最終在後續的Pentium版本中通過填充所有未使用的表項爲2來解決問題,這是一個簡單而有效的解決方案,節省了未來Pentium版本上的裸片空間。
Shirriff計劃在未來幾天內在他的博客上發表對他調查的更深入分析,包括是否可能通過物理修改受影響的Pentium芯片來糾正這個三十年老問題的討論。