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.
fuente
Respuestas:
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
fuente
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.
fuente
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
fuente
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:
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.
fuente