¿Por qué la frecuencia de las CPU de un solo núcleo ha dejado de aumentar? [duplicar]

2

Me pregunto por qué los proveedores de CPU dejaron de producir CPU con frecuencias por encima de 3.0 a 3.6 Ghz y cambiaron a usar CPU de múltiples núcleos.

¿Cuál fue la razón detrás de este paso? ¿Hubo una restricción física o el nuevo enfoque resultó ser más factible?

    
pregunta Kristof Tak

3 respuestas

3

Si sigue subiendo el reloj, eventualmente tendrá problemas de consumo de energía / temperatura (probablemente recuerde a las CPU Pentium 4 que funcionaron rápido y en caliente). Por supuesto, puede solucionarlos, pero luego su sistema de refrigeración será más caro.

Por lo tanto, el multi-núcleo (y otros enfoques, como la mejora de la arquitectura / organización de la CPU, tanto que resulta inútil comparar CPUs de diferentes familias / fabricantes).

Por otra parte, el software moderno es multiproceso y se beneficiará de multinúcleo más de lo que se beneficia de relojes más rápidos.

    
respondido por el Renan
1

Hay una serie de factores relacionados en el trabajo. Por un lado, las memorias principales realmente se han quedado atrás con respecto a las velocidades de la CPU; si, hipotéticamente, uno estuviera ejecutando un solo núcleo a 50 GHz y tuviera que esperar 10 ns para obtener un valor de RAM (bastante rápido, en realidad), perdería la oportunidad de realizar un trabajo útil de 500 ciclos de reloj. Por el contrario, si uno tuviera 10 núcleos que funcionaran a 2 GHz cada uno, entonces tal recuperación de memoria principal solo perdería el valor de 20 ciclos de reloj.

Otro factor es que las velocidades de la CPU están, en cierta medida, limitadas por la capacidad de obtener corriente en un chip y eliminarse. Hacer que un núcleo funcione dos veces más rápido requeriría más del doble de la corriente y produciría más del doble del calor. Si el uso de dos núcleos le permitirá a uno hacer tanto trabajo como podría hacerse con un núcleo ejecutándose dos veces más rápido, tiene más sentido utilizar dos núcleos.

Por cierto, un lugar donde se debe mejorar la interacción entre el hardware y el software, IMHO, es determinar cuándo es importante que el código que se ejecuta en un núcleo pueda ver las cosas escritas en la memoria por el código que se ejecuta en otro. Algunas arquitecturas asumen que cualquier otro procesador que intente leer esa ubicación debe ver lo antes posible cualquier cosa escrita en la memoria por cualquier procesador; otros requieren un código que desee que lo más reciente escrito en la memoria lo solicite explícitamente o se arriesgue a obtener "datos obsoletos". Es muy difícil hacer que el hardware para el estilo anterior se ejecute tan rápido como el hardware para el último estilo, y la dificultad aumenta con el número de núcleos de la CPU, pero es muy difícil crear un software para el último estilo, que es eficiente pero no ocasionalmente mal funcionamiento en circunstancias que son esencialmente imposibles de localizar. Me gustaría ver que el hardware y el software sean compatibles con un enfoque híbrido, por ejemplo, cuatro grupos de cuatro núcleos cada uno, y una garantía de que todos los núcleos dentro de cada grupo "verán" la misma memoria, garantías relajadas para los núcleos en diferentes grupos y un algoritmo de asignación de CPU predeterminado que aseguraría que el código para cualquier dominio de aplicación en particular lo haría Solo se ejecutará en grupos de procesadores que vieran la misma memoria. En los casos en que hubiera cuatro o más dominios de aplicación separados, cada uno de los cuales tenía su propio trabajo independiente para hacer, esto permitiría que los núcleos se ejecuten más rápido de lo que sería posible si los 16 tuvieran que compartir la misma imagen de memoria.

    
respondido por el supercat
-1

Como las otras respuestas mencionan calor. Pero también la velocidad de la luz es un factor limitante.

enlace

Suponiendo que los electrones viajan a la velocidad de la luz a 3 GHz, la señal puede hacer que 10 cm antes del siguiente reloj marque

    
respondido por el exussum

Lea otras preguntas en las etiquetas