¿Por qué las CPU no son más grandes? [cerrado]


21

Las CPU son relativamente pequeñas, y los ingenieros intentan constantemente hacerlas más pequeñas y obtener más transistores en la misma superficie.

¿Por qué las CPU no son más grandes? Si una matriz de aproximadamente 260 mm 2 puede contener 758 millones de transistores (AMD Phenom II x4 955). Entonces, un 520 mm 2 debería ser capaz de contener el doble de la cantidad de transistores y técnicamente duplicar la velocidad del reloj o los núcleos. ¿Por qué no se hace esto?


44
No conozco todos los detalles, pero básicamente cuanto más cerca están los transistores, etc., en el chip, más eficiente es. Por lo tanto, cuadruplicar el área haría que el chip fuera más lento.
ChrisF

1
Además, especialmente teniendo en cuenta el estado actual de las aplicaciones, las CPU modernas pasan mucho tiempo sin hacer nada. Giran sus pulgares mientras nosotros, los usuarios, descubrimos lo que queremos hacer.
Surfasb

1
@ChrisF Confundes el impacto de la reducción del dado (ganancia de velocidad como resultado de capacidades reducidas) con números de transistores reducidos. Pregúntese: ¿el núcleo individual en un núcleo dual funcionará más rápido que el de un núcleo cuádruple?
artistoex

2
Esto está hecho: mire la nueva plataforma LGA2011 de Intel.
Avance el

3
No estoy de acuerdo con los votos cerrados. Hay razones claras de por qué hacer una ficha más grande no tiene sentido, como se muestra en las respuestas principales. Por lo tanto, no es una pregunta obvia (como "¿Es Android mejor que iOS")? ¡También me interesó esta pregunta!
David Miani

Respuestas:


18

En general tiene razón: a corto plazo, aumentar la paralelización no solo es viable, sino que es el único camino a seguir. De hecho, los núcleos múltiples, así como los cachés, la canalización y el hiperprocesamiento son exactamente lo que usted propone: ganancia de velocidad a través del mayor uso del área de chips. Por supuesto, las geometrías de contracción no chocan con el uso creciente del área del dado. Sin embargo, el rendimiento del dado es un gran factor limitante.

El rendimiento del dado crece en proporción inversa al tamaño del dado: los dados grandes son simplemente más propensos a "atrapar" errores de oblea. Si un error de oblea golpea un dado, puede tirarlo. El rendimiento del dado obviamente afecta el costo del dado. Por lo tanto, hay un tamaño de matriz óptimo en términos de costos versus ganancias por matriz.

La única forma de producir matrices significativamente más grandes es integrar estructuras tolerantes a fallas y redundantes. Esto es lo que Intel intenta hacer en su proyecto Terra-Scale (ACTUALIZACIÓN: y lo que ya se practica en productos de uso diario, como señala Dan).


8
En las CPU / GPU complejas modernas, los defectos de los troqueles a menudo simplemente se introducen en el binning. Las GPU de nivel medio / superior generalmente tienen una parte de matriz completa y una o dos que tienen algunos subcomponentes desactivados para obtener más puntos de precio / capacidad de menos diseños de chips. Lo mismo se hace con las CPU. Los chips tricore de AMD son quads con un dado deshabilitado, y los chips de inteligencia LGA2011 son los 8 componentes principales. Los dados completos solo se usan como Xeons. Los 4/6 core i7-2011 son troqueles de 8 núcleos con piezas deshabilitadas. Si los errores de troquel caen en los lugares correctos, se clasifican como partes más baratas. Para obtener tasas de error de GPU más modulares, configure el bin bajo
Dan Neely

@DanN Gracias, he agregado esto a mi respuesta
artistoex

23

Hay muchas preocupaciones técnicas (las longitudes de las rutas se alargan demasiado y se pierde eficiencia, la interferencia eléctrica causa ruido), pero la razón principal es simplemente que muchos transistores estarían demasiado calientes para enfriarse adecuadamente . Esa es la razón por la que están tan interesados ​​en reducir el tamaño de la matriz: permite aumentar el rendimiento en los mismos niveles térmicos.


Debo agregar que me refiero en el contexto de una máquina de escritorio / portátil estándar, por supuesto.
Shinrai

1
Las longitudes de ruta no necesariamente aumentan, son algo local: poner dos núcleos en un chip no aumentará la longitud de la ruta dentro de un núcleo, ¿verdad? La disipación de calor también se distribuirá en un área más grande, por lo que tampoco es un gran problema.
artistoex

1
Correcto, hay muchos matices, pero no sentí que entrar en eso estuviera justificado. (Tampoco me refiero necesariamente en el contexto de MÁS núcleos, ya que la pregunta no era tan explícita sobre eso.)
Shinrai

El punto es: los procesadores de múltiples núcleos son exactamente lo que propuso el OP: ganancia de velocidad a través del mayor uso del área del chip.
artistoex

3
¿Cómo crees que el hiperprocesamiento es "núcleos más grandes y rápidos"? Hyperthreading está basado en la lógica y no tiene nada que ver con el tamaño ... Es decir, si hay un exceso disponible en el núcleo actual, lo usa. IE: si su unidad MMX y FPU están en uso en un núcleo dado, aún puede realizar cálculos basados ​​en enteros.
Supercereal

15

Varias de las respuestas dadas aquí son buenas respuestas. Hay problemas técnicos para aumentar el tamaño de la CPU y generará mucho más calor. Sin embargo, todos ellos son superables dados incentivos suficientemente fuertes.

Me gustaría agregar lo que creo que es un tema central: la economía . Las CPU se hacen en obleas como esta , con una gran cantidad de CPU por oblea. El costo de fabricación real es por oblea, por lo que si duplica el área de una CPU, solo puede caber la mitad en una oblea, por lo que el precio por CPU se duplica. Además, no toda la oblea siempre sale perfecta, puede haber errores. Por lo tanto, duplicar el área duplica la posibilidad de un defecto en cualquier CPU específica.

Por lo tanto, desde el punto de vista económico, la razón por la que siempre hacen las cosas más pequeñas es para obtener un mejor rendimiento / mm ^ 2, que es el factor determinante en el precio / rendimiento.

TL; DR: además de las otras razones mencionadas, duplicar el área de una CPU más que duplica el costo.


Esta es la razón principal. El Capítulo 1 del libro de texto de Arquitectura de Computadoras de Hennessy and Pattersons describe el proceso de fabricación y las consideraciones que se requieren para manejar los troqueles de CPU para que sean lo más pequeños posible.
Steve Blackwell

3

Agregar más transistores a un procesador no lo hace automáticamente más rápido.

Mayor longitud de ruta == velocidad de reloj más lenta.
Agregar más transistores aumentará la longitud de la ruta. Cualquier aumento debe ser valioso o provocará un aumento en el costo, el calor, la energía, pero una disminución en el rendimiento.

Por supuesto, siempre puede agregar más núcleos. ¿Por qué no hacen esto? Pues lo hacen.


Realmente no considero esto fuera de tema aquí (aunque también sería sobre el tema allí).
Shinrai

Si estoy de acuerdo. Solo creo que sería mejor responder allí. Quité la línea.
user606723

2

Su suposición general es incorrecta. Una CPU con una matriz de doble tamaño no significa que pueda funcionar a doble velocidad. Esto solo agregaría más espacio para agregar más núcleos (ver algunos chips Intelcore con 32 o 64 núcleos) o cachés más grandes. Pero la mayoría del software actual no puede hacer uso de más de 2 núcleos.

Por lo tanto, el aumento del tamaño del dado aumenta enormemente el precio sin una ganancia de la misma altura. Esta es una de las razones (simplificadas) de que las CPU son como son.


Esto no es del todo cierto: con más transistores, podría disminuir la profundidad de propagación para que las instrucciones tarden menos ciclos de reloj en completarse. Sin embargo, tienes razón en que no tiene nada que ver con la velocidad del reloj .
BlueRaja - Danny Pflughoeft

1

En electrónica, SMALLER = FASTER 3GHz debe ser mucho más pequeño que 20MHz. Cuanto más grandes son las interconexiones, mayor es el ESR y más lenta es la velocidad.

Duplicar la cantidad de transistores no duplica la velocidad del reloj.


Aumentar la velocidad del reloj es solo un enfoque para ganar velocidad. Duplicar los transistores es otro. Aparte de eso, la reducción de las interconexiones no entra en conflicto aumentando el área de troqueles.
artistoex

3
@artistoex, pero simplemente duplicar los transistores tampoco lo hace más rápido. Necesita ser diseñado de manera que aproveche esos transistores. Más transistores (con el mismo mm) significan típicamente un reloj más bajo.
user606723


0

Los grandes seres vivos , artificiales o no, como los dinosaurios, son más flojos. La relación área / volumen no es justa para su supervivencia: demasiadas limitaciones sobre la energía, todas las formas, dentro y fuera.


0

Piense en una CPU como una red de nodos conectados (transistores). Para proporcionar más capacidades, el número de nodos y las rutas entre ellos aumentan hasta cierto punto, pero ese aumento es lineal. Entonces, una generación de una CPU podría tener un millón de nodos, la siguiente podría tener 1.5 millones. Con la miniaturización del circuito, el número de nodos y rutas se condensan en una huella más pequeña. Los procesos de fabricación actuales son de hasta 30 nanómetros.

Digamos que necesita cinco unidades por nodo y cinco unidades de distancia entre dos nodos. De extremo a extremo, en línea recta puede crear un bus de 22222 nodos en 1 CM de espacio. Puede hacer una matriz de 493 millones de nodos en un CM cuadrado. El diseño del circuito es lo que contiene la lógica de la CPU. Duplicar el espacio no es lo que aumenta la velocidad, solo permitiría que el circuito tenga más operadores lógicos. O en el caso de CPU de múltiples núcleos para permitir que el circuito maneje más trabajo en paralelo. El aumento de la huella en realidad disminuiría la velocidad del reloj porque los electrones tendrían que viajar distancias más largas a través del circuito.

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.