Red de conocimiento informático - Conocimiento sistemático - El ensamblador encuentra los primeros 10 números primos.

El ensamblador encuentra los primeros 10 números primos.

En 1993, el gigante de las CPU Intel lanzó el procesador Pentium.

La nueva marca eliminó con éxito el "plagio" de 286, 386, 486 y otras marcas de series digitales por parte de AMD y otras empresas, y estableció una nueva imagen de liderazgo.

Junto con la exitosa promoción del programa Intel Inside a principios de la década de 1990, Intel se ha transformado exitosamente de una empresa que suministra principalmente a fabricantes de computadoras a una marca que se dirige directamente a los consumidores.

No sé qué genio tradujo Pentium al dominante "Pentium", lo que realmente sorprendió a la audiencia.

Con nuevos productos y nuevas marcas, Intel está animada y lista para dominar el mundo.

¡Pero nadie esperaba que hubiera un error escondido dentro de esta CPU tan esperada!

El proceso de descubrimiento de errores también es bastante legendario, por lo que tenemos que empezar con un concepto matemático.

Ya en la época griega, Euclides había demostrado que hay infinitos números primos, y que cuanto mayor es el número, más dispersa es la distribución de los números primos.

La magia es que aunque la distribución es escasa, mientras aparece un número primo, se puede encontrar otro cerca, como 41 y 43, 101 y 103, 10007 y 10009, la diferencia entre los dos es 2.

Los matemáticos tienen un nombre para estos números primos consecutivos que se diferencian por 2: primos gemelos.

En 1919, el matemático noruego Vigo Brun demostró algo interesante. Incluso si hay infinitos primos gemelos, la suma de sus recíprocos convergerá en una constante, que se llama "constante de Brown".

Pero esto es un dolor de cabeza para los matemáticos: no saben si la constante de Brown es irracional.

Con la aparición de las computadoras, a alguien se le ocurrió un truco: utilizar la poderosa potencia informática de las computadoras para resolver problemas por fuerza bruta.

Thomas Nicely, profesor de matemáticas en el Lynchburg College de Estados Unidos, es uno de ellos. Su laboratorio está equipado con un nuevo ordenador Pentium.

Para evitar errores de cálculo, estricto utiliza dos algoritmos para el doble seguro. Si las respuestas son diferentes, algo debe estar mal.

Comenzó a calcular con grandes esperanzas, pero el resultado lo decepcionó: ¡los resultados de los dos algoritmos eran realmente diferentes!

Después de una investigación en profundidad, se descubrió maravillosamente que el 10 recíproco de los números primos gemelos 824 633 702 443 se calculó incorrectamente.

Bien calculado usando un viejo ordenador 486, la respuesta es correcta.

Volvió a calcular usando una computadora Pentium y el error apareció nuevamente.

¿Hay algún problema con tu programa? ¿O es un problema de computadora?

Es muy bueno comenzar a solucionar problemas y eliminar errores en su propio código, compilador Borland y chipset. Fueron necesarios cuatro meses para encontrar finalmente la fuente del error: la CPU Pentium.

El 24 de octubre de 1994, Nianyi llamó al departamento de soporte técnico de Intel para informarles del problema. Intel dijo que recibirían una respuesta dentro de unos días, pero no han recibido respuesta desde entonces.

La razón es sencilla. Intel conocía este problema ya en junio de 1994: un error de operación de división de punto flotante (FDIV).

El FDIV de la CPU Pentium introduce un nuevo método de implementación rápida utilizando una tabla de búsqueda de hardware de 2048 entradas. Pero debido a un accidente, 5 valores se configuraron incorrectamente. Deberían ser 2, pero están establecidos en 0.

Este error solo se activará durante cálculos de alta precisión y es difícil para los usuarios comunes encontrarlo. La revista "Byte" estima que la probabilidad de error es de 1 entre 9 mil millones.

Dado que el impacto no es significativo, la opción de Intel es ocultarlo y arreglarlo silenciosamente sin revelar ningún detalle.

Después de todo, se han vendido millones de CPU y las pérdidas derivadas de una retirada a gran escala serían demasiado grandes.

¡Eso no quiere decir que no!

Genial, que no obtuvo respuesta, muy frustrado.

El 30 de octubre de 2010, comenzó a enviar correos electrónicos a algunas celebridades y revistas de TI, incluidas Byte Magazine, PC Week, InfoWorld y PC Magazine.

Este asunto rápidamente fermentó en Internet, y un gran número de personas con talento iniciaron una carrera de relevos para localizar el problema:

El primer jugador fue bien mencionado anteriormente.

El segundo mejor fue Terje Mathis de Noruega, quien rápidamente confirmó el problema de Nicely, escribió un programa de prueba de ensamblaje simple y lo envió a comp.sys Intel News Group (sí, y mucho menos a las redes sociales en ese momento). ni siquiera BBS era popular).

El tercero es Andreas Kaiser de Alemania. Descubrió 24 números cuyos recíprocos sólo pueden obtener resultados de precisión simple en CPU Pentium.

El cuarto es un profesional en el diseño de FPU (Floating Point Unit), el diseñador de semiconductores Tim Coe en Vitesse, California.

Basándose en las pistas de 24 números, especuló que la CPU Pentium utiliza el algoritmo SRT base 4, que puede generar un cociente de dos dígitos en cada ciclo de reloj, haciendo que la velocidad sea dos veces más rápida que antes.

De hecho, los profesionales internos son realmente poderosos.

En el quinto capítulo apareció una superpotencia, el padre de MATLAB: Cliff Mohler.

Moeller resumió los datos anteriores y descubrió el patrón de errores.

Se puede ver que si cometes un error, no puedes ocultarlo. Cuanto más intentes ocultarlo, más gente en el mundo te pondrá del revés.

Pero hasta ahora, el error del hardware Intel Pentium aún persiste en el círculo tecnológico y aún es necesario esperar un momento importante para romper este círculo.

1994 165438 El 24 de octubre, dos ingenieros del JPL (Jet Propulsion Laboratory, Qian Xuesen es un importante fundador) se enteraron de este error y sugirieron que el laboratorio dejara de comprar computadoras Pentium.

CPU Pentium, este error que originalmente era difícil de detectar, de repente se convirtió en un tema candente en las calles.

Bajo la presión de los medios, Intel finalmente admitió la vulnerabilidad informática de punto flotante, pero aun así insistió en que no era grave y sólo reemplazó las CPU de los usuarios que pudieran demostrar que estaban afectados.

Este intento de salir del paso causó indignación pública y sacudió la confianza de los consumidores en las CPU Intel.

Otros fabricantes también se mantienen al día. IBM suspendió las ventas de PC equipadas con CPU Intel, lo que provocó que el precio de las acciones de Intel cayera en picado.

1994 65438 En febrero, la insostenible Intel finalmente anunció una retirada del mercado de todos los procesadores defectuosos.

Este es también el primer retiro exhaustivo de chips de computadora en la historia.

El precio que Intel pagó fue de 475 millones de dólares y el daño a la reputación fue inconmensurable.

La historia no termina aquí.

Es lógico que haya un problema con el hardware, que no se puede modificar y solo se puede reemplazar.

Pero no olvidemos al grupo de genios que acabamos de mencionar: Cliff Mohler, Tim Coe, Tang Luxiao del Laboratorio Nacional Argonne y varios ingenieros que llegaron a Intel. Juntos desarrollaron una solución de software muy inteligente el 5 de febrero de 65438.

No entraré en detalles aquí, pero probablemente sea lo siguiente: en determinadas circunstancias, tanto el dividendo como el divisor se pueden multiplicar por 15/16 para entrar en un estado seguro.

La solución se envió al grupo de noticias y su uso es gratuito para todos.

Cleve Moler consiguió que la empresa lanzara una versión de MATLAB que podía detectar y corregir errores de división, e inmediatamente emitió el comunicado de prensa "MathWorks soluciona el error de punto flotante de Intel Pentium".

Justo cuando el Pentium Bug estaba haciendo estragos y todo el país era consciente de ello, aparecieron comunicados de prensa en los faxes de los principales medios estadounidenses.

Cliff Mohler implementó con éxito un marketing perfecto.

Este año, su empresa MathWorks era solo una pequeña empresa con menos de 250 personas, y luego tomó la vía rápida y se convirtió en un gigante en este campo.