¿Los procesadores modernos tienen redundancia en sus unidades lógicas para compensar las fallas de producción?


10

Los procesadores modernos consisten en miles de millones de transistores y las nuevas tecnologías de producción a menudo tienen problemas con el rendimiento, al menos en los primeros meses, pero supongo que incluso después de años habrá chips defectuosos de vez en cuando.

Sé que en bloques grandes (p. Ej., El caché) existe la posibilidad de deshabilitar solo partes de él y, de ese modo, reducir la cantidad de memoria disponible (para que al menos pueda vender el chip a un precio más bajo en lugar de tirarlo). ¿Pero hay algo similar para las unidades lógicas? Soy consciente de que hay varias ALU para deshacerse, pero ¿es esto simplemente deshabilitar una de ellas si hay un error de producción? ¿O hay incluso ALU adicionales de repuesto? Porque para mí es difícil creer que los fabs simplemente eliminen cada chip donde haya un transistor defectuoso en las partes lógicas, mientras que la desactivación de un ALU completo reduciría significativamente la potencia de procesamiento alcanzable.


Solo mi suposición. El precio de la producción de obleas de silicio es relativamente bajo en grandes cantidades, y puede probarlo antes de la carcasa en el caso, por lo que puede producir chips completos con una tasa de falla relativamente baja. > 50% del precio es pura comercialización. También creo que muchas variaciones de procesador dentro de la misma familia se realizan en la misma topología y difieren solo en algunas funciones / núcleos / cachés apagados (como ha escrito), por lo que el fabricante tiene la gran brecha para mantener una baja tasa de falla de producción incluso con unidades dañadas Pero dudo que tengan, digamos, varias ALU reservadas para el mismo núcleo.
ciclón125

Creo que el ejemplo más conocido de esto fue el Intel 486SX, que era el mismo dado que el DX con una FPU deshabilitada. Pero me interesaría saber cuál es el estado moderno de esto.
pjc50

Lo dudo mucho. La cantidad de lógica y tiempo de diseño requeridos para permitir la redundancia de bajo nivel a la velocidad de los procesadores contemporáneos no valdría la pena. La redundancia a nivel de bloque (núcleo, fpu, caché) o simplemente la desactivación de bloque sería mucho más que suficiente para aumentar significativamente el rendimiento. Y con los precios actuales del procesador y los tamaños de las obleas, incluso un rendimiento del 5% podría ser rentable.
Edgar Brown el

Así que piensas, cuando una ALU no es utilizable, simplemente deshabilitan el núcleo. Sí, podría ser una posibilidad. Esperaba que alguien aquí lo supiera realmente.
jusaca

1
Sí, deshabilitan el núcleo. Es una práctica llamada "binning".
DKNguyen

Respuestas:


3

Como han dicho otros, es difícil ver la lógica ALU redundante dentro de un núcleo.

Se diseñó un núcleo para optimizar el rendimiento. Cualquier lógica adicional para una ALU redundante afectaría el rendimiento y un área aumentada ralentizaría todo el núcleo. A medida que la tecnología evolucionó, el silicio se hizo más pequeño, haciendo que los núcleos fueran más rápidos, pero esencialmente usando la misma propiedad intelectual. ¿Por qué tener ALU redundantes, cuando hay espacio disponible para núcleos redundantes para aumentar los rendimientos de producción?

En 2011, Intel presentó una patente para al menos 32 núcleos con 16 activos y 16 de repuesto. La patente establece que los núcleos defectuosos tendrían temperaturas más altas que permitirían cambiar un núcleo de repuesto. Esencialmente, la asignación dinámica del núcleo según sea necesario.

Podría tener núcleos de alta y baja potencia asignados según lo requieran las tareas. O cambie un núcleo defectuoso detectado por niveles de temperatura más altos. Opere los núcleos de manera cuadriculada para reducir el calor.

Patente Intel: Mejora de la confiabilidad de un procesador de muchos núcleos


Eso tiene mucho sentido, no pensé en el impacto en el rendimiento, que pueden tener áreas de silicio de repuesto dentro de un núcleo. Desactivar núcleos completos parece ser el camino a seguir, ya que las otras respuestas también implican.
jusaca

5

No en la lógica.

Sin embargo, si hay grandes memorias (SRAM) es común usar una memoria con 'redundancia'. Estos tienen una lógica especial que se puede programar para reemplazar un área, a menudo varias filas o columnas.

El área defectuosa se detecta durante la prueba y luego la memoria redundante se programa para reemplazar las ubicaciones defectuosas.

Sin embargo, este 'reemplazo' debe configurarse utilizando bits OTP (programables por única vez) o alguna otra memoria que contenga su valor. Por lo tanto, estas memorias solo se usan en chips que tienen una función de 'memoria permanente', o también se debe agregar una función de programación de este tipo, con todos los costos que esto conlleva.


¿Crees que estos bits OTP se programan electrónicamente, como quemar un fusible o algo así, o los grandes fabricantes tienen que ir directamente al troquel con recorte láser?
jusaca

1
OTP son fusibles en el chip que se pueden programar electrónicamente (algo así como EEPROM, pero luego de forma permanente) Los usuarios finales también puede grabar los números de serie, dirección Ethernet, claves de cifrado, etc.
OldFart

4

Ciertamente, este no es el caso para MCU simples o procesadores típicos de un solo núcleo. El costo de tener bloques de repuesto no valdría la pena, y esos procesadores no utilizan procesos de grabado de vanguardia y no requieren grandes áreas de silicio, por lo que el rendimiento es lo suficientemente bueno.

Sin embargo, esto se hace para algunos procesadores de múltiples núcleos, para los cuales el área de silicio es bastante grande, y que utiliza procesos de grabado más finos que pueden conducir a tasas de defectos más altas. En estos procesadores, se pueden deshabilitar núcleos completos (que son bloques lógicos bastante grandes, que contienen mucho más que una ALU) cuando están defectuosos. El procesador se vende como un modelo de gama baja.

Fuente: /skeptics/15704/are-low-spec-computer-parts-just-faulty-high-spec-computer-parts


3

Ciertamente no puedo responder a su pregunta con seguridad. No tiene mucho sentido deshabilitar unidades de menos de 1 núcleo, ya que se convierte en un "conjunto de características" muy fino que se puede habilitar o no, y el producto cartesiano de todas las características posibles haría una miríada de posibles modelos de CPU. Ya hay muchos modelos de CPU, por lo que definitivamente no ayudarán de 10 a 100 veces más.

Otro aspecto es que los miles de millones de transistores se usan (en su mayor parte) para hacer cachés, y para los transistores defectuosos allí los fabricantes definitivamente venden CPU con partes de su caché en matriz desactivadas (por ejemplo, ver AMD Thorton vs AMD Barton).

Pero puedo contarles una anécdota que escuché de una persona en la que confío. Hace mucho tiempo era un curioso overclocker. En mis días, la CPU de presupuesto overclockable de elección era AMD Athlon Thoroughbred:

Pura Sangre Athlon

Cuando se montan soluciones de enfriamiento personalizadas, se debe tener mucho cuidado al colocar el disipador térmico, ya que presiona directamente contra la matriz. Si aplicaba una presión desigual, los troqueles eran conocidos por agrietarse fácilmente en las esquinas, si aplicaba fuerza en una esquina primero.

Esta persona había hecho exactamente lo mismo, una parte importante de una esquina había desaparecido, pero la CPU funcionaba milagrosamente bien, aunque con un rendimiento de memoria muy reducido. La esquina contenía solo caché L2, por lo que con esa parte desaparecida, el protocolo de almacenamiento en caché estaba funcionando de alguna manera alrededor del dado ahora muy defectuoso. Probablemente informaba errores de caché para todas las consultas en esa parte, por lo que la CPU se redujo a su caché L1 solo (o solo una parte de L2), por lo que fue mucho más lento en la mayoría de las pruebas, pero tuvo prácticamente el mismo rendimiento en bucles estrechos.

En la misma línea de pensamiento, se podría hacer que si una ALU es defectuosa y es capaz de indicar de alguna manera que rechazó el trabajo, la CPU puede ser capaz de recurrir a otras ALU. Se desconoce si esto lo están haciendo los fabricantes de CPU (y lo dudo), pero el ejemplo de caché (de hace 15 años) muestra que definitivamente es factible.


Esto es ciertamente muy impresionante, e incluso parece ser algún tipo de proceso dinámico, porque el sistema detectó la parte defectuosa del chip por sí mismo. Al hacer la pregunta, tuve más en cuenta una detección por un sistema de prueba en la línea de producción. Pero esta historia es definitivamente interesante;)
jusaca
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.