Los primeros procesadores Intel Pentium se lanzaron allá por 1993, y fueron un hito en la industria pero para mal, puesto que se encontró un problema catalogado como «FDIV bug» que obligó a Intel a realizar la primera retirada del mercado de un producto en su historia, un hecho que le costó a la compañía unos 475 millones de dólares. Ahora, más de 30 años después, un ingeniero ha conseguido aislar y localizar el problema que tantos quebraderos de cabeza le dio al gigante azul.
El conocido ingeniero e historiador de hardware Ken Shirriff ha publicado en su cuenta de Mastodon su nuevo hallazgo: ha localizado los transistores exactos del Intel Pentium original que causaron el «FDIV bug», que provocó la retirada del procesador del mercado en 1994 y que le costó una millonada a Intel. Esto es muy interesante, porque supuso el primer gran fallo de Intel hace ya 31 años.
El primer fallo de la historia de Intel, por fin expuesto
Con la ayuda de un microscopio, Shirriff ha conseguido rastrear la causa raíz del problema. La imagen que os mostramos a continuación es una foto de la matriz del procesador Intel Pentium original, el primero con la arquitectura P5 de Intel y que ayudó mucho a la compañía a hacerse un nombre en la industria de los procesadores (aunque como ya supondréis, les salió el tiro por la culata).
Este procesador se fabricó utilizando un proceso de 800 nm, y la imagen de arriba se ha tomado utilizando lógicamente un microscopio. La matriz contiene 3,1 millones de transistores, y gracias a los aumentos del microscopio se pueden ver claramente las rejillas de estos, permitiendo identificar las operaciones de sus bloques. Esto ha sido posible precisamente por la sencillez del proceso de 800 nm… imaginad un procesador moderno a 5 nm con las decenas de millones de transistores que tienen… sería imposible.
El error que provocó el «FDIV bug» se debió a errores de cálculo en la matriz lógica programable (la parte etiquetada como PLA en la imagen). La unidad de coma flotante del Pentium era mucho más rápida que en los chips actuales gracias al algoritmo de división SRT, que calcula la división a dos bits por cada ciclo de reloj frente a un solo bit por ciclo del procesador.
Para que esto funcionara, es necesario una tabla de 2.048 celdas en el die dispuesta en 112 filas extremadamente compactas. Los valores se indican mediante la presencia o ausencia de transistores a lo largo de los puntos de la cuadrícula que forma la tabla, y habría sido una forma de ejecución realmente buena si no fuera por el fallo de fabricación que derivó en este problema, y es que lo que se ha descubierto es que a 5 entradas de esta tabla les faltan sus transistores cruciales.
Estas entradas mal etiquetadas provocaban un error en los cálculos de coma flotante, y aunque ya fue descubierto por el profesor Thomas Nicely, ahora Shirriff lo ha demostrado físicamente en el propio procesador; y no solo eso, en 1994 se pensaba que eran solo 5 entradas, pero ahora se sabe que eran en total 16, 11 más de lo que se creía.
Intel le quitó importancia al problema
Es curioso porque Intel calificó el FDIV bug de poco importante, alegando que solo provocaba errores una vez cada 27.000 años. IBM, por su parte y como hace siempre, salió a la palestra declarando que este problema ocurría una vez cada 24 días, y decidió retirar los procesadores Pentium del mercado. Al final, Intel cedió a la presión monetaria y mediática y retiró los chips del mercado, perdiendo unos 475 millones de dólares en el proceso.
Lo que sí es cierto es que tras ello Intel volvió a lanzar los procesadores Pentium pero con este problema solucionado, y ayudó como hemos dicho antes en gran medida a hacerse un nombre en la industria.
Si os interesa conocer todos los detalles de esta historia y la investigación relativa a ella, os recomendamos leer el hilo completo de Shirriff que hemos enlazado al pie de este artículo.