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

10

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

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

    
pregunta cpuer

10 respuestas

18

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

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

  • algunas pruebas son rápidas para asegurarse de que vayan lo suficientemente rápido.

  • otras pruebas involucran un modo que convierte algunos o todos los flip-flops en el chip en gigantescos registros de desplazamiento en serie, registramos datos conocidos en esas cadenas, luego ejecutamos el chip por un reloj y luego escaneamos los nuevos resultados y verifique que coincidan con nuestros resultados predichos: las herramientas de prueba automáticas generan un conjunto mínimo de "vectores de escaneo" que probarán cada puerta aleatoria o transistor en el chip - otros vectores hacen pruebas especiales de bloques de ram,

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

  • nos aseguramos de que no se obtenga una cantidad no saludable de

El tiempo de prueba cuesta dinero, a veces hacemos algunas pruebas simples para detectar virutas muertas obvias antes de que se empaqueten para descartar las malas y luego se realicen más pruebas después de que se haga el empaquetado

    
respondido por el Taniwha
12

Para ampliar un poco lo que otros han dicho: hay validación y después de eso hay clasificación de chips.

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

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

    
respondido por el AndrejaKo
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 posible (dólares) de sus obleas. Al reducir el tamaño de los transistores, pueden encajar más funcionalidad en menos área. Esto puede considerarse como más chips (de la misma funcionalidad) por oblea. A medida que el tamaño del chip se reduce, puedes sacar más de una oblea, pero a medida que se reducen, más de ellos se vuelven malos. Los fabricantes aceptan esto, y están constantemente presionando el sobre de la tecnología para reducir los chips. Lo que les dice que ESTÁN en el borde del sobre son las malas fichas.

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 el número de fichas en una oblea. Si su rendimiento en el proceso anterior fue del 95% (por ejemplo, 95 fichas de chips buenos de 100 en una oblea) y su rendimiento en el nuevo proceso es del 75% (150 fichas buenas de 200 en una oblea) hicieron dinero al El nuevo proceso.

    
respondido por el Vintage
3

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

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

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

Las CPU comerciales no tienen un mecanismo de recuperación automática, pero sí las cosas que flotan en el mundo académico y las CPU de aplicaciones especiales. He creado algunos componentes especializados que utilizan arquitecturas asíncronas para resolver los problemas de reloj que surgen debido a que las puertas están dañadas por la destrucción del óxido de un agujero como portadora en caliente, donde solo se obtiene un transistor muy lento.

    
respondido por el b degnan
3

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

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

Estas son cosas que se hacen ahora en un proceso moderno de fabricación de circuitos integrados para minimizar defectos:

  • Los CI se someten a pruebas exhaustivas, tanto a nivel de validación y verificación del diseño, como a pruebas de muestras individuales. Este documento describe algunos procedimientos de prueba para el Pentium 4.
  • el diseño general de los circuitos integrados ahora es demasiado complejo para verificarlo por completo
  • Los circuitos integrados tienen microcódigo programable, lo 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 se pueden desactivar y "agrupar" como partes de menor costo. Un ejemplo es que el IC multi-core de PS4 incluye un núcleo redundante que está deshabilitado 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 utilizan la memoria de codificación de corrección de errores (ECC) o realizan correcciones 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 cause un bloqueo del sistema pero no evitará que el sistema vuelva a funcionar si se reinicia (latchup de CMOS)

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

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

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

    
respondido por el jbarlow
2

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

Al igual que con la mayoría de los componentes electrónicos, si los conduce dentro de las especificaciones, durarán bastante tiempo. Cuando se fabrica un microprocesador, existen 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 está hecho y pasa la validación, sabes que los transistores son buenos. Si se maneja dentro de las especificaciones, es probable que sigan siendo buenos.

    
respondido por el Joe
2

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

No hay forma de corregir 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 listo, puedes recuperar algunas de las malas fichas.

Por ejemplo, digamos que tiene un diseño de chip de 18 núcleos, que funciona de forma más o menos independiente. Durante las pruebas, ordena los chips perfectos y los libera como el modelo A18. La mayoría de los chips fallidos tienen un solo error, por lo que funcionarán bien siempre que el núcleo defectuoso esté deshabilitado. Los vende como el modelo A17 a un precio ligeramente inferior, y los que tienen dos núcleos malos 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 fabricados a la perfección 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á dramáticamente 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á deshabilitada para tener en cuenta los problemas de rendimiento.

    
respondido por el Pål-Kristian Engstad
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 extra en ellos. Cuando la pieza se prueba en fábrica, se pueden eliminar los bloques de RAM incorrectos y se pueden usar los bloques de RAM adicionales.

    
respondido por el Brian Carlton
1

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

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

COTS tenga problemas y falle de vez en cuando.

    
respondido por el old_timer
-1

Puede parecer un milagro, pero hay una serie de mecanismos utilizados para reducir la cantidad de fallos de transistores. Sin embargo, dependiendo del tipo de falla experimentada por el transistor y de 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 hay mucha investigación sobre computación reconfigurable, redundancia y otras técnicas para minimizar este problema.

    
respondido por el sybreon

Lea otras preguntas en las etiquetas