Início Ciência e tecnologia Uma análise detalhada do bug do Pentium FDIV

Uma análise detalhada do bug do Pentium FDIV

38
0

O início da década de 1990 foi uma época interessante no mundo dos PCs, principalmente porque os PCs estavam entrando no zeitgeist pela primeira vez. Isto foi alimentado em parte por empresas como a Intel e a AMD que se enfrentaram no mercado com campanhas publicitárias massivas para construir o reconhecimento da marca; lembra do “Intel Inside”?

Em 1993, a Intel estava fazendo algum progresso nesse sentido. O lançamento do novo chip Pentium em 1993 foi um grande acontecimento. Infelizmente, um bug esotérico no módulo de divisão de ponto flutuante chamou a atenção do público. O excelente relato de (Ken Shirriff) sobre aquela confusão entra em grandes detalhes sobre a descoberta do bug. O problema foi descoberto por (Dr. Thomas R. Nicely) enquanto ele procurava números primos. É um eufemismo dizer que esse bug criou uma bagunça para a Intel. O que é realmente interessante é como o chamado bug FDIV, em homenagem à instrução de divisão de ponto flutuante afetada, foi realmente executado em silício.

Não pretendemos explicá-lo melhor do que (Professor Ken), mas a essência é que a divisão de ponto flutuante no Pentium dependia de uma tabela de pesquisa implementada em uma matriz lógica programável no chip. O bug foi causado pela falta de cinco entradas na tabela e (Ken) conseguiu encontrar os defeitos de PLA correspondentes em um Pentium descapsulado. Além do mais, sua análise sugere que a caracterização do bug pela Intel como um erro de transcrição é um pouco enganosa; o padrão de entradas ausentes na tabela de consulta é mais consistente com um erro matemático no programa que gerou a tabela.

O bug do Pentium era um grande problema na época e, de certa forma, uma aula magistral sobre como não lidar com um problema técnico complexo. Para ser justo, esta foi a primeira vez que algo assim aconteceu em escala global, então a Intel não tinha um manual para seguir. O relato de (Ken) sobre o bug e a confusão em torno dele é de primeira linha, e se você realmente quiser entender como a matemática de ponto flutuante funciona no silício, este é um artigo que você não vai querer perder.

Fonte