¿Qué limita la velocidad de la CPU?

102

Recientemente hablé con un amigo sobre la compilación de LaTeX. LaTeX solo puede usar un núcleo para compilar. Entonces, para la velocidad de compilación de LaTeX, la velocidad de reloj de la CPU es lo más importante (consulte los Consejos para elegir el hardware para obtener el mejor rendimiento de compilación de LaTeX )

Por curiosidad, busqué CPU con las velocidades de reloj más altas. Creo que fue Intel Xeon X5698 con 4.4 GHz ( fuente ) que tuvo la mayor velocidad de reloj.

Pero esta pregunta no se trata de CPU que se venden. Me gustaría saber qué tan rápido puede llegar si no le importa el precio.

Entonces, una pregunta es: ¿hay un límite físico para la velocidad de la CPU? ¿Cuán alto es?

Y la otra pregunta es: ¿Cuál es la velocidad de CPU más alta alcanzada hasta ahora?

Siempre pensé que la velocidad de la CPU era limitada porque el enfriamiento (tanto calor ) se vuelve muy difícil. Pero mi amigo duda de que esta sea la razón (cuando no tiene que usar sistemas de enfriamiento tradicionales / baratos, por ejemplo, en un experimento científico).

En [2] he leído que los retrasos en la transmisión causan otra limitación en la velocidad de la CPU. Sin embargo, no mencionan lo rápido que puede llegar.

Lo que he encontrado

Sobre mi

Soy estudiante de informática. Sé algo sobre la CPU, pero no demasiado. Y menos aún sobre la física que podría ser importante para esta pregunta. Por lo tanto, tenga esto en cuenta para sus respuestas, si es posible.

Martin Thoma
fuente
10
Su pregunta es buena, espere algunas respuestas muy buenas y educadas. Mis dos centavos: la implicación "se ejecuta solo en un núcleo" -> "el reloj es más importante" no es cierta.
Vladimir Cravero
12
El récord actual para una CPU overclockeada es el AMD Bulldozer, que funciona a 8.4 GHz . Se enfrió usando nitrógeno líquido.
tcrosley
2
Aunque el título de la pregunta es "¿Qué limita la velocidad de la CPU?" Cabe señalar que la declaración: "LaTeX solo puede usar un núcleo para compilar. Por lo tanto, para la velocidad de compilación de LaTeX, la velocidad del reloj de la CPU es lo más importante" no es necesariamente cierto. El caché de la CPU también puede marcar la diferencia. Debido a cómo funcionan las CPU modernas, combinadas con el hecho de que hay diferentes CPU que tienen frecuencias idénticas pero diferentes tamaños de caché y cómo se escribió y usó el software, el caché de la CPU puede tener una mayor influencia en la velocidad de ejecución que Frecuencia de la CPU.
Shivan Dragon
2
El rendimiento de un solo hilo no es directamente proporcional a la velocidad del reloj; La relación es más compleja. Esto puede estar parcialmente enmascarado por la similitud de las microarquitecturas Intel x86 recientes con las mejoras microarquitectónicas que compensan algunos de los costos en el aumento de la frecuencia.
Paul A. Clayton
99
Sugiero comparar un procesador 2004 2GHz con un procesador 2014 2GHz; encontrará que no están en el mismo estadio ni siquiera en tareas de un solo subproceso, e incluso cuando ambos implementan el mismo conjunto de instrucciones: las instrucciones CISC que reciben son una cosa, pero las microoperaciones se desglosan en son bastante otra.
Charles Duffy

Respuestas:

76

Prácticamente, lo que limita la velocidad de la CPU es tanto el calor generado como los retrasos de la puerta, pero generalmente, el calor se convierte en un problema mucho mayor antes de que este último entre en acción.

Los procesadores recientes se fabrican con tecnología CMOS. Cada vez que hay un ciclo de reloj, la potencia se disipa. Por lo tanto, mayores velocidades de procesador significan más disipación de calor.

http://en.wikipedia.org/wiki/CMOS

Aquí hay algunas cifras:

Core i7-860   (45 nm)        2.8 GHz     95 W
Core i7-965   (45 nm)        3.2 GHz    130 W
Core i7-3970X (32 nm)        3.5 GHz    150 W

ingrese la descripción de la imagen aquí

Realmente puedes ver cómo aumenta la potencia de transición de la CPU (¡exponencialmente!).

Además, hay algunos efectos cuánticos que se activan a medida que el tamaño de los transistores se reduce. A niveles nanométricos, las puertas del transistor en realidad se vuelven "con fugas".

http://computer.howstuffworks.com/small-cpu2.htm

No entraré en cómo funciona esta tecnología aquí, pero estoy seguro de que puedes usar Google para buscar estos temas.

Bien, ahora, por los retrasos en la transmisión.

Cada "cable" dentro de la CPU actúa como un pequeño condensador. Además, la base del transistor o la puerta del MOSFET actúan como pequeños condensadores. Para cambiar el voltaje en una conexión, debe cargar el cable o quitar la carga. A medida que los transistores se reducen, se hace más difícil hacerlo. Es por eso que SRAM necesita transistores de amplificación, porque los transistores de matriz de memoria en realidad son muy pequeños y débiles.

En los diseños típicos de CI, donde la densidad es muy importante, las células bit tienen transistores muy pequeños. Además, generalmente se integran en matrices grandes, que tienen capacitancias de línea de bits muy grandes. Esto da como resultado una descarga muy lenta (relativamente) de la línea de bits por la célula de bits.

De: ¿Cómo implementar el amplificador de detección SRAM?

Básicamente, el punto es que es más difícil para los pequeños transistores tener que conducir las interconexiones.

Además, hay retrasos en la puerta. Las CPU modernas tienen más de diez etapas de canalización, quizás hasta veinte.

Problemas de rendimiento en la canalización

También hay efectos inductivos. A frecuencias de microondas, se vuelven bastante significativas. Puedes buscar diafonía y ese tipo de cosas.

Ahora, incluso si logra que un procesador 3265810 THz funcione, otro límite práctico es la rapidez con que el resto del sistema puede soportarlo. Debe tener RAM, almacenamiento, lógica de pegamento y otras interconexiones que funcionen igual de rápido, o necesita una inmensa caché.

Espero que esto ayude.

fuzzyhair2
fuente
1
Es posible que desee incluir un enlace a esta discusión para obtener buenas referencias sobre cómo se relacionan la velocidad del reloj y el consumo de energía: physics.stackexchange.com/questions/34766/…
Emiswelt
2
También hay que tener en cuenta la velocidad de la electricidad al hablar de retrasos en la transmisión es.wikipedia.org/wiki/Speed_of_electricity
ryantm
¿Realmente aumenta exponencialmente o solo cuadráticamente? De hecho, este video dice eso Power = Frequency ^ 1.74.
Paul Manta
2
Buen punto, sin embargo, una de las principales dificultades en el diseño de la CPU son las interconexiones. Puede ser posible un chip físicamente grande, pero recuerde que están funcionando en el rango de gigahercios. Desea mantener los cables cortos.
fuzzyhair2
2
Como la pregunta es teórica, se puede agregar que otros semiconductores, como el arseniuro de galio, permiten frecuencias más altas.
Iacopo
32

El problema del calor está bien cubierto por fuzzyhair. Para resumir los retrasos en la transmisión, considere esto: el tiempo necesario para que una señal eléctrica cruce la placa base es ahora más de un ciclo de reloj de una CPU moderna. Entonces, hacer CPU más rápidas no va a lograr mucho.

Un procesador súper rápido en realidad solo es beneficioso en procesos masivos de cálculo de números, y luego solo si su código está cuidadosamente optimizado para hacer su trabajo en el chip. Si con frecuencia tiene que ir a otra parte para obtener datos, se desperdicia toda esa velocidad adicional. En los sistemas actuales, la mayoría de las tareas se pueden ejecutar en paralelo y los grandes problemas se dividen en múltiples núcleos.

Parece que su proceso de compilación de látex mejoraría al:

  • IO más rápido. Prueba un RAMdisk.
  • ejecutar diferentes documentos en diferentes núcleos
  • sin esperar que se realice un trabajo de 200 páginas con imágenes intensivas en 2 segundos
Pablo
fuente
2
Lástima que solo se me permita un voto a favor. Su respuesta merece más por señalar que la frecuencia de reloj puede no ser el cuello de botella en el problema del OP.
Solomon Slow
17

Hay tres límites físicos: calor, retraso de la puerta y la velocidad de la transmisión eléctrica.

El récord mundial en la velocidad de reloj más alta hasta el momento es (según este enlace) 8722.78 MHz

La velocidad de la transmisión eléctrica (casi la misma que la velocidad de la luz) es el límite físico absoluto, ya que no se pueden transmitir datos más rápido de lo normal. Al mismo tiempo, este límite es muy alto, por lo que no suele ser un factor limitante.

Las CPU consisten en enormes cantidades de puertas, de las cuales bastantes están conectadas en serie (una tras otra). Un cambio de estado alto (por ejemplo, 1) a estado bajo (por ejemplo, 0) o viceversa lleva un tiempo. Este es el retraso de la puerta. Entonces, si tiene 100 puertas conectadas en serie y una toma 1 ns para cambiar, tendrá que esperar al menos 100 ns para que todo le dé una salida válida.

Estos interruptores son lo que requiere más potencia en una CPU. Esto significa que si aumenta la velocidad del reloj, obtiene más interruptores, por lo tanto, usa más potencia y aumenta la salida de calor.

La sobrevoltaje (=> que proporciona más potencia) disminuye un poco el retraso de la puerta, pero nuevamente aumenta la producción de calor.

En algún lugar alrededor de 3 GHz, el uso de energía para la velocidad del reloj aumenta extremadamente. Es por eso que las CPU de 1.5 GHz pueden ejecutarse en un teléfono inteligente, mientras que la mayoría de las CPU de 3-4 GHz ni siquiera pueden ejecutarse en una computadora portátil.

Pero Clock Speed ​​no es lo único que puede acelerar una CPU, también las optimizaciones en la tubería o la arquitectura de microcódigo pueden causar una aceleración significativa. Es por eso que un Intel i5 (Dualcore) de 3 GHz es varias veces más rápido que un Intel Pentium D (Dualcore) de 3 GHz.

Dakkaron
fuente
1
Solo el overclocking aumenta el consumo de energía de la CPU de forma lineal. Entonces, duplicar la velocidad del reloj significa doble uso de energía. Pero a velocidades de reloj más altas, las puertas se vuelven demasiado lentas para trabajar con esa velocidad de reloj y comienza a obtener errores de cálculo -> bloqueos aleatorios. Por lo tanto, debe aumentar el voltaje para acelerar las puertas. El uso de energía se escala directamente en comparación con el voltaje. Entonces, duplicar el voltaje significa cuatro veces el uso de energía. Agregue eso para duplicar el reloj y obtendrá ocho veces el uso de energía. También el voltaje necesario aumenta exponencialmente con la velocidad del reloj. en.wikipedia.org/wiki/CPU_power_dissipation
Dakkaron
1
El otro problema aquí es que el sobrevoltaje puede freír tu CPU y no hay nada que se pueda hacer contra eso. Si su CPU está especificada para, por ejemplo, 3.3V, es posible que pueda subir a 3.7 o incluso 4V, pero si llega a un nivel alto, simplemente destruirá el chip. Otro enlace que vale la pena leer: en.wikipedia.org/wiki/CPU_core_voltage
Dakkaron
3
La velocidad de transmisión es un problema: a 3 GHz solo obtienes 10 cm / ciclo. Dado que un dado de procesador típico tiene actualmente 300m², creo que después de 10 Ghz habría que repensar el diseño del procesador, ya que probablemente no se puede llegar a todas las partes del chip en un ciclo.
Martin Schröder
1
@ MartinSchröder: Eso no es un gran problema, ya que (a) la CPU muere debido al calor y el retraso de la puerta antes de que se alcancen los 10 GHz y (b) los procesadores se vuelven más pequeños con cada generación. Por ejemplo, un i7 de 6 núcleos con hyperthreading tiene aproximadamente el mismo tamaño que un Pentium 4. Singlecore, pero el i7 tiene 6 núcleos completos y 6 "medios núcleos" más para el hyperthreading. También está el caché. Además, estos núcleos se dividen en fases de tubería. Solo las partes de la CPU en un núcleo y una fase de canalización (y tal vez la caché L1) deben alcanzarse en un ciclo.
Dakkaron
1
@ com.prehensible La publicación que vinculó en realidad habla específicamente sobre el hecho de que este transistor de 500 GHz es "solo" un transistor analógico utilizado para el procesamiento de RF analógico. De ninguna manera es un procesador de computadora.
Dakkaron
5

Las respuestas a sus preguntas son: , hay un límite físico para la velocidad de la CPU. El límite teórico más alto se establecerá según la rapidez con que un "interruptor" puede cambiar de estado. Si usamos el electrón como base del interruptor, usamos el radio de Bohr

r=5.291×10-11
C=3×108,
F=1t=C2πr=9.03×1017Hz
8×109 9Hz
Guill
fuente
Hice algunas ediciones a su LaTeX. ¿Podría verificar si la edición a la frecuencia fue correcta?
Martin Thoma
¿Cómo se te ocurrió el límite actual del estado de la tecnología?
Martin Thoma
Escribe que el límite actual es "8x 10 ^ 9 Hz". ¿Qué es x? ¿Finalmente quisiste escribir un punto de multiplicación?
Martin Thoma
1
También construiría la computadora más rápida posible en el radio Schwarzschild de un agujero negro para obtener el máximo efecto. El radio de Bohr es demasiado grande para trabajar a altas velocidades. :)
Goswin von Brederlow
3

Entonces, una pregunta es: ¿hay un límite físico para la velocidad de la CPU?

Eso depende en gran medida de la CPU en sí. Las tolerancias de fabricación dan como resultado el hecho de que el límite físico es un poco diferente para cada chip incluso desde la misma oblea.

los retrasos en la transmisión causan otra limitación en la velocidad de la CPU. Sin embargo, no mencionan lo rápido que puede llegar.

Eso es porque transmission delayo speed path lengthes una elección para el diseñador del chip. En pocas palabras, es cuánto trabajo realiza la lógica en un solo ciclo de reloj . La lógica más compleja da como resultado velocidades de reloj máximas más lentas, pero también usa menos energía.

Es por eso que desea utilizar un punto de referencia para comparar las CPU. Los números de trabajo por ciclo son muy diferentes, por lo que comparar MHz sin formato puede darle una idea equivocada.

Turbo J
fuente
2

Prácticamente, es definitivamente la potencia térmica que es aproximadamente proporcional al cuadrado del voltaje: http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502 http://en.wikipedia.org/wiki/Thermal_design_power#Overview Cada material tiene su capacidad calorífica específica que limita la eficiencia de enfriamiento.
Sin considerar los problemas técnicos sobre el enfriamiento y el retraso de la transmisión, encontrará que la velocidad de la luz limita la distancia que puede recorrer una señal dentro de nuestra CPU por segundo. Por lo tanto, la CPU debe obtener samller cuanto más rápido funcione. Finalmente, si está operando más allá de cierta frecuencia, la CPU puede volverse transparente para las funciones de onda electrónica (electrones modelados como funciones de onda siguiendo la ecuación de Schroedinger).
En 2007, algunos físicos calcularon un límite fundamental para las velocidades de operación:

Lars Hadidi
fuente
0

Además de todas las otras respuestas, también hay algunas otras consideraciones que pueden no afectar la velocidad de la CPU directamente, pero hacer que construir algo alrededor de esa CPU sea bastante difícil;

En resumen, por encima de DC, la frecuencia de radio se convierte en un problema. Cuanto más rápido vayas, más inclinado estará todo a actuar como una radio gigante. Esto significa que las trazas de PCB sufren diafonía, los efectos de su capacitancia / inductancia inherente con pistas adyacentes / plano de tierra, ruido, etc., etc.

Cuanto más rápido vaya, peor será todo esto: las patas componentes pueden introducir inductancias inaceptables, por ejemplo.

Si observa las pautas para diseñar PCB "básicos" del tipo de Raspberry Pi con un poco de RAM DDR, todas las trazas para el bus de datos, etc., deben tener la misma longitud, tener la terminación correcta, etc. funcionando muy por debajo de 1 GHz.

John U
fuente