the Pentium FDIV bug
folcloreprogramaçãocultura de operações
Uma falha de 1994 no Intel Pentium que devolvia respostas ligeiramente erradas em certas divisões de ponto flutuante.
O matemático Thomas Nicely detectou o erro numa tabela de consulta, e a oferta inicial da Intel de trocar chips só para quem provasse estar afetado causou um desastre de imagem. A Intel voltou atrás, registrou uma despesa de cerca de 475 milhões de dólares, e o episódio redefiniu como a indústria lida com erratas de hardware.
Em 1994 um matemático descobriu que a divisão de ponto flutuante do Pentium devolvia respostas ligeiramente erradas para um pequeno conjunto de entradas, porque uma tabela de consulta no circuito de divisão estava sem algumas entradas. O erro aparecia por volta do quarto ou quinto dígito significativo e afetava cerca de uma divisão em nove bilhões para entradas aleatórias.
A resposta inicial da Intel é a parte que merece estudo. A empresa argumentou, corretamente, que o erro era estatisticamente desprezível para usuários comuns, e ofereceu substituição apenas a quem demonstrasse precisar daquela precisão. Essa posição era matematicamente defensável e avaliou a situação completamente mal, porque os clientes não estavam avaliando uma taxa de erro, estavam descobrindo que a aritmética podia estar errada.
A escalada forçou um recall completo de cerca de 475 milhões de dólares, e o efeito duradouro foi sobre a cultura de divulgação, e não sobre projeto de chips. Erratas de hardware passaram a ser documentadas publicamente em vez de circularem discretamente, e o incidente é hoje o exemplo padrão de uma resposta tecnicamente correta fracassando catastroficamente como comunicação. A lição de engenharia é menor e ainda assim real: taxa de erro é propriedade de uma distribuição, e nenhum usuário vive uma distribuição.
Também conhecido como: FDIV bug, Pentium bug, Intel FDIV
Fontes
- Intel Form 8-K filed 21 December 1994, exhibit 99.1: "INTEL ADOPTS UPON-REQUEST REPLACEMENT POLICY ON PENTIUM PROCESSORS WITH FLOATING POINT FLAW; WILL TAKE Q4 CHARGE AGAINST EARNINGS", and "The flaw can produce reduced precision in floating point divide operations once every nine billion random number pairs." At that date the charge was still "as yet unspecified"
- Intel Form 8-K filed 20 January 1995, exhibit 99.2, which puts the figure on it: "Q4 Results impacted by a $475 million charge", a "one-time pretax charge of $475 million" covering "replacement and other costs associated with a divide problem in the floating point unit of the company's Pentium processor"
- Alan Edelman, 'The Mathematics of the Pentium Division Bug', SIAM Review vol. 39, no. 1 (1997), pp. 54-67, DOI 10.1137/s0036144595293959, per the Crossref record: the peer-reviewed account of the flaw
- Thomas Nicely's 1994 report of the flaw, named for precision and not linked: his page answers 404 and the Internet Archive's content host is blocked to every fetch path available here