硬件历史学家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芯片来纠正这个三十年老问题的讨论。