¿Cómo pueden ser estables las CPU cuando tienen tantos transistores?


10

Como sabemos, una CPU tiene casi miles de millones de transistores en una sola miniatura, ¿qué pasa si uno de los transistores se rompe?

¿Tiene la CPU algún mecanismo de recuperación automática?


66
En realidad, los más grandes hoy en día contienen miles de millones de transistores.
Starblue

66
"estable" probablemente no sea la palabra correcta, ya que apunta más a cuestiones como la metaestabilidad. Una mejor opción para este tema sería palabras como 'sin defectos' o 'rendimiento'. O puede preguntar sobre la estabilidad del proceso de fabricación, en lugar de los chips resultantes.
Chris Stratton

2
@ChrisStratton, creo que OP puede estar preguntando más sobre confiabilidad que rendimiento.
El Photon

1
Si uno de los transistores se rompe, tiras el chip. No hay redundancia (excepto algunas aplicaciones específicas) y no hay opciones de reparación.
Dmitry Grigoryev

Respuestas:


18

Es simple, los probamos antes de venderlos y desechamos los malos.

Hay muchas maneras de hacer esto: diferentes personas hacen cosas diferentes, a menudo usan una combinación de:

  • Algunas pruebas son rápidas para asegurarse de que sean lo suficientemente rápidas.

  • otras pruebas involucran un modo que convierte algunos o todos los flipflops en el chip en registros de desplazamiento en serie gigantes, registramos los datos conocidos en esas cadenas, luego ejecutamos el chip por un reloj y luego escaneamos los nuevos resultados y verificamos que coincidan nuestros resultados pronosticados: las herramientas de prueba automáticas generan un conjunto mínimo de "vectores de exploración" que probarán cada puerta o transistor aleatorio en el chip; otros vectores realizan pruebas especiales de bloques de ram,

  • otros prueban que los cables externos están todos unidos correctamente

  • nos aseguramos de que no esté tirando una cantidad no saludable de corriente

El tiempo de prueba cuesta dinero, a veces hacemos algunas pruebas simples para detectar chips muertos obvios antes de empacarlos para descartar los malos y luego realizar más pruebas una vez que se realiza el empaque


1
"Es simple, los probamos antes de venderlos y desechar los malos". Si ese fuera el único sistema de calidad, probablemente tendría un rendimiento de 0.00000000001% con mil millones de dispositivos de transistores
Federico Russo

2
Es realmente así de simple; El truco está en la gran cantidad de simulación y verificación de reglas de antemano para garantizar que su rendimiento sea aceptable. Rara vez hay redundancia en la lógica de la CPU; a veces obtienes un poco de redundancia en las RAM en chip.
pjc50

Si el diseño es correcto, sus fallas individuales provienen de defectos materiales, contaminación, errores de proceso, etc. Aunque solo se utilizan unos pocos tamaños de obleas, los circuitos integrados más grandes son más caros que su tamaño proporcional, porque la posibilidad de un defecto aumenta con zona. En algunos casos, puede tener un chip con más unidades funcionales de las que a veces se vende, por lo que aún puede ser comercializable si uno es malo, pero eso es limitado. A veces puede comprar FPGA con un descuento que se prueba solo para funcionar como lo utiliza un archivo de configuración en particular, en lugar de funcionar con uno arbitrario.
Chris Stratton

2
Creo que olvidó mencionar a fabricantes como AMD que venden procesadores con núcleos defectuosos como un modelo diferente con el núcleo defectuoso bloqueado. Esa es una especie de redundancia, o quizás un marketing inteligente.
akaltar

Si alguien alguna vez se preguntó cómo se suministran las partes del mercado gris, no debería preguntarse más. He trabajado en el extremo del software de los sistemas fab de chips, y las pruebas automatizadas como se describe aquí es una gran parte del tiempo y los costos de dinero para las plantas.

12

Para ampliar un poco lo que otros han dicho: hay validación y luego hay clasificación de chips.

Los transistores en las CPU tienden a mostrar sus problemas a frecuencias más altas, por lo que es común hacer una CPU y luego comercializarla como varios productos diferentes. Las CPU más baratas son en realidad versiones dañadas de la CPU costosa. Otra opción es deshabilitar ciertas partes de la CPU. Por ejemplo, AMD hizo procesadores con núcleo BArton. También vendió procesadores con núcleo Thorton. Thorton no era un núcleo nuevo. En cambio, la mitad del caché L2 estaba defectuoso y deshabilitado. De esta forma, AMD realizó una recuperación en las CPU que de otro modo se habría desperdiciado.

Lo mismo sucedió con los 3 procesadores principales de AMD. Originalmente eran procesadores de 4 núcleos, pero se determinó que uno de los núcleos era defectuoso, por lo que se desactivó.


2
No es raro hacer un diseño de chip con características que puede deshabilitar quemando fusibles. Economía simple del rendimiento del chip, si podemos recuperar todo o parte del chip ejecutándolo más lento o deshabilitando una característica que falló en la prueba, podemos recuperar parte del costo de esa parte en lugar de tirar la parte completa. También puede volver a Intel 386 SX y DX como ejemplos. y casi todas las CPU tienen clasificación de velocidad. los más lentos son partes que fallaron a velocidades más altas.
old_timer

2
No, no el 386SX / 386DX. Estos chips tienen una interfaz de bus totalmente diferente. No solo deshabilita una parte del 386DX para obtener un 386SX. Lo que usted dice es cierto para el 486DX / 486SX, este último con la FPU desactivada.
Michael Karcher

6

La respuesta a tu pregunta es no." Actualmente no hay métodos de recuperación automática para fallas de hardware.

Los fabricantes diseñan sus procesos para obtener el mejor rendimiento (dólares) posible de sus obleas. Al reducir los transistores, pueden encajar más funcionalidades en menos área. Esto puede considerarse como más chips (de la misma funcionalidad) por oblea. A medida que se reduce el tamaño del chip, puede obtener más de una oblea, pero a medida que se reducen, más de ellos resultan malos. Los fabricantes aceptan esto, y constantemente empujan el sobre de la tecnología para reducir el tamaño de los chips. Lo que les dice que ESTÁN al borde del sobre son chips malos.

Si una empresa puede reducir el tamaño de la característica al 70% del tamaño de la característica anterior, puede obtener aproximadamente 2 veces la cantidad de chips en una oblea. Si su rendimiento en el proceso anterior era del 95% (digamos, 95 chips de chips buenos de 100 en una oblea) y su rendimiento en el nuevo proceso es del 75% (150 chips buenos de 200 en un wafer) ganaban dinero yendo a El nuevo proceso.


55
Para algunos tipos de chips como las memorias flash NAND, los fabricantes rutinariamente empujan el sobre más allá del punto donde los chips con cero defectos serían la norma, pero la mayoría de las fallas tendrán características algo predecibles, y se espera que los dispositivos que usan los chips trabajar a su alrededor.
supercat

3

En los nodos pequeños, cada "transistor" tiene 2 puertas a menos que tenga memoria, como SRAM. Si uno no funciona, solo tienes un controlador lento. Para SRAM, si no pasa, simplemente "explota" la fila. Si ambos FETS en el transistor fallan, tendrías un pedazo de arena muy costoso, pero personalmente nunca me ha pasado eso. Los FinFET modernos son tan pequeños que existen muchos problemas de producción (molestias principalmente) debido a la naturaleza de la litografía y la probabilidad. Descubrirá que lo primero en los nuevos procesos son los FPGA porque puede simplemente "soplar" las celdas defectuosas y cambiar el gráfico de enrutamiento. No puedo darte los números, pero puedes adivinar cómo funciona el binning del mundo x86, las cosas rara vez salen a la perfección.

Aquí hay una ilustración del diseño de una celda XOR: XOR

Las barras verdes izquierda / derecha son aletas, y el rojo es poli. Los azules son el metal coloreado en el nivel 1.

Las CPU comerciales no tienen un mecanismo de recuperación automática, pero las cosas que flotan en la academia y las CPU de aplicaciones especiales sí. He hecho algunos componentes especializados que usan arquitecturas asíncronas para resolver problemas de reloj que surgen debido a puertas defectuosas a través de la destrucción del óxido de un agujero como portador caliente donde solo obtienes un transistor realmente lento.


3

Al parecer, los tiempos han cambiado. Muchas de las respuestas de cinco años en esta pregunta ya no reflejan el estado del arte y algunas no eran precisas en ese momento.

Los transistores y otros dispositivos en silicio son bastante estables después de la fabricación, siempre que el IC no se sobrecaliente.

Aquí hay cosas que se hacen ahora en un proceso moderno de fabricación de circuitos integrados para minimizar defectos:

  • Los circuitos integrados se prueban exhaustivamente, tanto a nivel de validación y verificación del diseño como en pruebas de muestras individuales. Este documento describe algunos procedimientos de prueba para el Pentium 4.
  • el diseño general de los circuitos integrados es ahora demasiado complejo para verificarlo completamente
  • Los circuitos integrados tienen un microcódigo programable, que permite un grado limitado de reprogramabilidad si se descubren defectos después de la fabricación
  • Los circuitos integrados modernos contienen capas de silicio redundantes, lo que permite corregir los defectos descubiertos durante la fabricación
  • muchas CPU tienen módulos de hardware redundantes, ya sean núcleos de CPU, memoria caché u otra IP; Si no todas las unidades son funcionales, algunas pueden desactivarse y "agruparse" como partes de menor costo. Un ejemplo es que el IC de múltiples núcleos de PS4 incluye un núcleo redundante que se desactiva para lograr un mayor rendimiento.
  • algunas CPU funcionarán pero no a la velocidad máxima; estos se pueden vender como CPU de menor velocidad y menor costo
  • muchas CPU y RAM usan memoria de codificación de corrección de errores (ECC) o realizan la corrección de errores de validación de mensajes en varias etapas de la transferencia de datos para garantizar la integridad
  • a veces los procesadores fallarán de una manera que ocasionará un bloqueo del sistema pero no evitará que el sistema vuelva a funcionar si se reinicia (bloqueo CMOS)

Los errores de programación en la especificación formal del procesador son más probables que las fallas de un transistor particular.

Si bien las CPU comunes no tienen nada como una capacidad de recuperación automática, también se ha trabajado en las CPU de restablecimiento automático como contramedida para los rayos cósmicos. Los rayos cósmicos pueden depositar suficiente energía en una CPU o RAM para provocar cambios de bits.

Como se señaló en los comentarios, los sistemas de misión crítica han dependido de múltiples CPU para la verificación durante mucho tiempo. El transbordador espacial, en 1976 , como un ejemplo, usó cinco computadoras, cuatro de las cuales ejecutaron el mismo programa y "votaron" en todas las decisiones de control de vuelo para garantizar la seguridad.


La detección de errores y la ECC se han utilizado durante bastante tiempo (para memorias y comunicación, para funciones aritméticas y lógicas similares, algunos sistemas de gama alta han tenido detección de errores durante años). Del mismo modo, la ejecución redundante (espacial o temporal) se ha utilizado para detectar errores durante bastante tiempo en sistemas donde el costo en hardware / tiempo de ejecución parece justificado.
Paul A. Clayton

@ PaulA.Clayton si hiciera una publicación sobre Itanium y, más tarde, sobre las características de Xeon RAS, sin duda me alegraría votar por eso.
Oleksandr R.

2

La mayoría de los transistores de procesador modernos son FET. Estos tienen la ventaja de ganar resistencia de fuente / drenaje cuando se comienza a sobrecargar. Este es un factor que permite realizar MOSFET de alta potencia al poner muchos en paralelo. La carga se distribuye automáticamente. Eso puede ser un factor para ayudar a distribuir los problemas. Pero creo que es realmente más simple que eso.

Al igual que con la mayoría de las piezas electrónicas, si las maneja dentro de las especificaciones, durarán bastante tiempo. Cuando se hace un microprocesador, hay dos factores para el costo. Solo el espacio en el silicio y, debido a la complejidad, el rendimiento real. No todos los chips funcionan después de la fabricación. Sin embargo, una vez que se hace y pasa la validación, sabes que los transistores son buenos. Si se maneja dentro de las especificaciones, es probable que se mantengan bien.


2

¿Alguna vez te has preguntado por qué a veces se vende el mismo chip a diferentes velocidades? ¿Y ha notado que a veces se vende la misma arquitectura de chip GPU con un número diferente de unidades internas?

No hay forma de arreglar un defecto de hardware a nivel de silicio, pero con el tiempo los diseñadores han aprendido a lidiar con el problema de aumentar el rendimiento . Sin previsión, el rendimiento depende únicamente de la calidad de fabricación. Sin embargo, si eres inteligente, puedes recuperar algunas de las fichas malas.

Por ejemplo, supongamos que tiene un diseño de chip de 18 núcleos, que funciona de manera más o menos independiente. Durante las pruebas, clasifica los chips perfectos y los libera como el modelo A18. La mayoría de los chips fallidos tienen solo un error, por lo que funcionarán bien siempre que el núcleo defectuoso esté desactivado. Los vende como el modelo A17 a un precio ligeramente más bajo, y los que tienen dos núcleos defectuosos se venden como el modelo A16 a un precio cada vez más bajo.

Lo mismo puede aplicarse a la clasificación de velocidad de un chip. Los chips perfectamente fabricados serán capaces de funcionar a velocidades superiores a las especificaciones de diseño, pero los chips con problemas podrían no hacerlo. Estos se venden a especificaciones de menor velocidad.

Este método aumentará drásticamente el rendimiento general y, por lo tanto, se ve con bastante frecuencia. La PlayStation 3, por ejemplo, tiene 8 unidades SPE en hardware, pero una siempre está desactivada para tener en cuenta los problemas de rendimiento.


1

¿Tiene la CPU algún mecanismo de recuperación automática?

No como se explicó anteriormente. Sin embargo, sus cachés, especialmente L2 y L3, pueden tener RAM adicional en ellos. Cuando la pieza se prueba en la fábrica, se pueden eliminar los bloques de RAM defectuosos y utilizar los bloques de RAM adicionales.


1

En general, no, cubre los transistores defectuosos a través de la pantalla del chip, y espera un porcentaje relativamente pequeño de pérdidas después de eso. El negocio de los chips ha existido durante décadas, tienen muchos trucos para manejar esto (y sí, a veces uno de los trucos es dejar salir las partes malas y reemplazarlas gratis o dejar que los clientes estén descontentos).

Para entornos endurecidos por radiación (espacio), es probable que tenga una votación triple, cada "bit" en realidad tiene tres bits que votan para formar uno. solo se necesitan dos tercios de los votos para determinar la configuración de bits. entonces los transistores en el otro tercio podrían ir mal y eventualmente con la dosis total. pero la principal preocupación es un solo evento molesto. Esos chips y sistemas están diseñados para estos entornos de arriba a abajo, silicio, hardware, software, etc. Y usan tecnología antigua probada y verdadera, no de vanguardia, por lo que el recuento de transistores y el tamaño de los transistores es de hace años.

Se espera que COTS tenga hipo y falle de vez en cuando.


-1

Puede parecer un milagro, pero hay una serie de mecanismos utilizados para reducir la cantidad de fallas de transistores. Sin embargo, dependiendo del tipo de falla experimentada por el transistor y dónde, la CPU puede o no ser utilizable a veces bajo ciertas condiciones.

En la actualidad, a menudo no hay un mecanismo de recuperación automática incorporado, pero se está investigando mucho sobre informática reconfigurable, redundancia y otras técnicas para minimizar este problema.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.