计算机科学

首页 > 计算机科学

奔腾浮点除错误

2018-07-27 10:47:21     所属分类:计算机错误
图片显示受FDIV bug影响的66 MHz Intel Pentium (内部型号SX837)

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

目录

  • 1 发现
  • 2 影响
  • 3 受影响型号
  • 4 参考文献
  • 5 外部链接

发现

1994年10月,美国弗吉尼亚州Lynchburg College数学系教授Thomas Nicely发现用电脑处理长除法时一直出错。他用一个数字去除以824,633,702,441时,答案一直是错误的。事后发现原因是英特尔为了加速运算,将整个乘法表刻录在处理器上面,但是2048个乘法数字中,有5个输入错误。这些错误其实不容易显现,在运算过程中,它会自动修复错误,只有几个二进制的数字组,才会造成完全错误的结果。

影响

根据工程师指出,大约90亿个长除法中会有一个错误。依照计算,平均故障间隔(MTBF)大概是七百年,所以几乎是不可能发生。但是同样有人声称实际上遭遇到这个错误的频率要高得多。英特尔公司后来召回了有缺陷的产品。

受影响型号

此问题仅在原先Pentium处理器的某些型号上出现[1]。该错误只在某些Pentium系列处理器低于120 MHz的时钟速度出现[1]。在受影响的型号上,英特尔处理器频率ID程序会检查是否存在此错误。

下面列出了10个受影响的处理器。这些处理器的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

参考文献

  1. ^ 1.0 1.1 FDIV Replacement Program: Frequently asked questions. Intel. 2009-03-20 [2009-11-10]. Solution ID CS-012748. 

外部链接

  • 本错误发现者:Dr. Nicely的个人网站
  • 本错误的精确信息网页
  • 本错误在Mathland由Ivars Peterson的描述
  • A Tale of Two Numbers,by Cleve Moler of The MathWorks
    • 包含更多详细信息的ZIP压缩文件
  • Intel官方网站
  • Pentium错误的玩笑

上一篇:页缺失
下一篇:日志文件

猜你喜欢

相关推荐