Pentium FDIV bug

维基百科,自由的百科全书
跳转至: 导航搜索
圖片顯示受FDIV bug影響的66 MHz Intel Pentium (內部型號SX837)

Pentium FDIV bug(奔腾浮点除错误)是英特爾公司的舊版本Pentium浮点运算器的一個錯誤。错误起源于奔腾系列的FDIV(浮点除)指令。

發現[编辑]

1994年10月,美國弗吉尼亞州Lynchburg College數學系教授Thomas Nicely發現用電腦處理長除法時一直出錯。他用一個數字去除以824,633,702,441時,答案一直是錯誤的。事後發現原因是英特爾為了加速運算,將整個乘法表燒錄在處理器上面,但是2048個乘法數字中,有5個輸入錯誤。這些錯誤其實不容易顯現,在運算過程中,它會自動修復錯誤,只有幾個二進位的數字組,才會造成完全錯誤的結果。

影響[编辑]

根據工程師指出,大約90億個長除法中會有一個錯誤。依照計算,那個MTBF時間,大概是七百年發生一次,所以幾乎是不可能發生。但是同样有人声称实际上遭遇到这个错误的频率要高得多。英特尔公司后来召回了有缺陷的产品。

受影響型號[编辑]

此問題僅在原先Pentium處理器的某些型號上出現。[1] 該錯誤只在某些Pentium系列處理器低於120 MHz的時鐘速度出現。[1] 在受影響的型號上,英特爾處理器頻率ID程式會檢查是否存在此錯誤。 下面列出了十個受影響的處理器。這些處理器的39個S-spec並未列在英特爾處理器規格網頁中。

Pentium P5 800 nm 5V
Family Model Stepping Core stepping Clock rate 前端匯流排速率 S-spec
5 1 3 B1 60 MHz 60 MHz Q0352, Q0412, SX753
5 1 3 B1 66 MHz 66 MHz Q0353, Q0413, SX754
5 1 5 C1 60 MHz 60 MHz Q0466, SX835, SZ949
5 1 5 C1 66 MHz 66 MHz Q0467, SX837, SZ950
Pentium P54C 600 nm 3.3V
Family Model Stepping Core stepping Clock rate 前端匯流排速率 S-spec
5 2 1 B1 75 MHz 50 MHz Q0601
5 2 1 B1 90 MHz 60 MHz Q0542, Q0613, Q0543, SX879, SX885, SX909, SX874
5 2 1 B1 100 MHz 66 MHz Q0563, Q0587, Q0614, SX886, SX910
5 2 2 B3 75 MHz 50 MHz Q0606, SX951
5 2 2 B3 90 MHz 60 MHz Q0628, Q0611, Q0612, SX923, SX922, SX921, SX942, SX943, SX944, SZ951
5 2 2 B3 100 MHz 66 MHz Q0677, SX960


外部連結[编辑]