30 años después del error del Pentium FDIV, un historiador encuentra 11 fallos más en la CPU que podrían haber hundido a Intel

Intel es una de las empresas más importantes del mundo de la informática y esto se debe a que ha estado encargada de crear procesadores de PC y otros sistemas desde hace décadas. El Intel 4004 se considera el primer microprocesador comercial creado por esta compañía y que fue lanzado en 1971, es decir, hace 53 años. Desde entonces hasta ahora hemos visto cientos de procesadores de Intel y aunque la mayoría de estos salieron bien, hubo un caso de desastre. Un historiador de hardware y experto en ingeniería inversa llamado Ken Shirriff, ha descubierto todos los detalles del fallo "FDIV" del Pentium que le costó 475 millones de dólares a Intel en 1994.

Antes de denominarse Intel Corporation, la compañía era conocida como NM Electronics desde su fundación en 1963 hasta 1968. Precisamente fue en 1986 cuando Gordon Moore (el creador de la ley de Moore) y Robert Noyce fundaron Intel Corporation y en tres años lanzaron su primer microprocesador comercial, el cual se vendía por 60 dólares (el equivalente a unos 500 dólares con la inflación actual) y tenía una frecuencia de 750 KHz. Como podrás imaginar, nada de esto es comparable a lo que tenemos en la actualidad, pues ya ni siquiera hablamos de MHz, sino de GHz.

Ken Shirriff descubre el fallo FDIV del procesador Pentium original que provocó enormes pérdidas a Intel

Matriz Pentium

Como curiosidad, vimos hace unos meses un experimento que hicieron con el Intel 4004, donde usaron este procesador y lograron arrancar Linux en algo menos de 5 días tras optimizarlo al máximo. Ahora toca dejar de hablar de esta CPU, pero seguimos con procesadores antiguos, pues precisamente el protagonista de hoy es el Pentium original. Esta familia de procesadores que empezó a venderse hace tres décadas sufrió un grave problema en 1994 que provocó pérdidas millonarias a Intel.

Ken Shirrif, un historiador de hardware y experto en el tema, ha descubierto los transistores de esta CPU Pentium original que provocaron el infame fallo FDIV. Para encontrarlo, tuvo que investigar a fondo la matriz PLA (matriz lógica programable usando fotografías que mostraban los detalles a nivel microscópico de este chip. El primer Pentium se fabricó con un proceso de 800 nm, un tamaño enorme si lo comparamos con las CPU actuales. Se trata de un chip con 3,1 millones de transistores, una cifra que es pequeña si lo comparamos de nuevo con los procesadores modernos.

El investigador descubrió que el fallo FDIV se debía a errores de cálculo ubicados en la matriz PLA. Primero había que tener en cuenta que los cálculos de coma flotante del Pentium eran mucho más rápidos gracias al algoritmo de división SRT. Este permitía calcular la división de 2 bits por cada circo de reloj, el doble que el predecesor a esta CPU. Para poder conseguir que SRT funcionase, se necesitaba de una tabla de 2.048 celdas en el chip que tuviera los valores de -2 a 2 en intervalos de uno y 112 filas compactas.

Ha descubierto que había 16 entradas con error en lugar de 5, pero no dieron más errores por pura suerte

1

El fallo ocurrió cuando se observa que a 5 entradas de la tabla faltaban transistores, pues los que estaban puestos con un valor de 0 por defecto en lugar del 2. Además no era solo eso, sino que Ken descubrió que realmente había 16 casos de error, 11 más de los que se suponía en un principio. Estos no produjeron problemas adicionales por "simple suerte", pero ahí estaban.

En aquella época Intel aceptó la presencia de este error, pero dijo que se trataba de algo muy inusual y que solo ocurriría una vez cada 27.000 años. IBM contestó que la cifra era incorrecta y dijo que era cada 24 días. Tras esto se detuvieron las ventas de los procesadores y se retiraron, provocando pérdidas de casi 500 millones de dólares. Posteriormente Intel solucionó el error añadiendo ese 2 en las entradas de las tablas que tenían el 0 por defecto.