三十年悬案真相大白:Intel奔腾FDIV Bug终于找到根源

三十年悬案真相大白:Intel奔腾FDIV Bug终于找到根源

文章图片


快科技12月12日消息 , 硬件历史学家Ken Shirriff取得了重大发现 , 他通过显微镜分析确定了导致1994年Intel奔腾处理器“FDIV Bug”的确切晶体管 。
【三十年悬案真相大白: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芯片来纠正这个三十年老问题的讨论 。

    推荐阅读