¿Cómo se calcula la velocidad del procesador en procesadores multinúcleo?

¿Cómo se calcula la velocidad del procesador en procesadores multinúcleo?

La llegada de procesadores multinúcleo rentables y de calidad para el consumidor plantea la pregunta para muchos usuarios: ¿cómo calcular de manera eficiente la velocidad real de un sistema multinúcleo? ¿Es un sistema de 4 núcleos 3Ghz realmente 12Ghz? Siga leyendo mientras investigamos.

SuperUser, una subdivisión de Stack Exchange, una agrupación comunitaria de sitios web de preguntas y respuestas, nos ofrece las preguntas y respuestas de hoy.

La cuestión

El lector SuperUser NReilingh tenía curiosidad por saber cómo se calcula realmente la velocidad del procesador para un sistema multinúcleo:

¿Es correcto decir, por ejemplo, que un procesador de cuatro núcleos que opera cada uno a 3 GHz es de hecho un procesador que opera a 12 GHz?

Una vez me metí en una discusión «Mac vs. PC» (que por cierto NO es el tema de este tema … que estaba de vuelta en la universidad) con un conocido que insistía en que las Mac no lo hacen. ‘Se anunciaban como máquinas de 1Ghz porque eran procesadores dual-G4, cada uno operando a 500MHz.

En ese momento supe que esto era una tontería por razones que creo que son obvias para la mayoría de la gente, pero acabo de ver un comentario en este sitio web sobre el efecto de «6 corazones x 0,2 GHz = 1,2 GHz» y me hizo pensar de nuevo si había es una verdadera respuesta a eso.

Se trata, por tanto, de una cuestión técnica más o menos filosófica / profunda sobre la semántica del cálculo de la velocidad del reloj. Veo dos posibilidades:

  1. En realidad, cada núcleo realiza x cálculos por segundo, por lo que el número total de cálculos es x (núcleos).
  2. Más bien, la velocidad del reloj es un recuento de la cantidad de ciclos por los que pasa el procesador en un segundo, por lo que siempre que todos los núcleos estén funcionando a la misma velocidad, la velocidad de cada ciclo de reloj sigue siendo la misma independientemente. Sea cual sea la cantidad de núcleos . . En otras palabras, Hz = (core1Hz + core2Hz +…) / cores.

Entonces, ¿cuál es la forma correcta de referirse a la velocidad total del reloj y, lo que es más importante, es posible usar una nomenclatura de velocidad de un solo núcleo en un sistema de múltiples núcleos?

La respuesta

Los colaboradores de SuperUser Mokubai ayudan a aclarar las cosas. Escribe:

La razón principal por la que un procesador de cuatro núcleos a 3 GHz nunca es tan rápido como un solo núcleo de 12 GHz tiene que ver con cómo funciona la tarea realizada en ese procesador, es decir, de un solo subproceso o de varios subprocesos. Ley de amdahl es importante al considerar los tipos de tareas que realiza.

Si tiene una tarea que es intrínsecamente lineal y debe realizarse con precisión paso a paso, como (un programa extremadamente simple)

10: a = a + 1
20: goto 10 

Entonces la tarea depende en gran medida del resultado de la pasada anterior y no puede ejecutar múltiples copias de sí misma sin corromper el valor de 'a' porque cada copia obtendría el valor de 'a' en diferentes momentos y escribiéndolo de manera diferente. Esto restringe la tarea a un solo subproceso y, por lo tanto, la tarea solo puede ejecutarse en un núcleo a la vez, si se ejecutara en varios núcleos, se produciría una corrupción de sincronización. Esto lo limita a la mitad de la potencia de la CPU de un sistema de doble núcleo, o 1/4 en un sistema de cuatro núcleos.

Ahora tome una tarea como:

10: a = a + 1
20: b = b + 1
30: c = c + 1
40: d = d + 1
50: goto 10 

Todas estas líneas son independientes y podrían dividirse en 4 programas separados como el primero y ejecutarse al mismo tiempo, cada uno capaz de usar de manera eficiente toda la potencia de uno de los núcleos sin problemas de sincronización, aquí es donde Ley de amdahl entrar.

Entonces, si tiene una aplicación de un solo subproceso que realiza cálculos de fuerza bruta, el procesador único de 12 GHz ganaría sin duda alguna, si de alguna manera puede dividir la tarea en partes separadas y multiproceso, los 4 núcleos podrían acercarse, pero no lograr el mismo rendimiento, según a la ley de Amdahl.

Lo principal que le ofrece un sistema de CPU múltiple es la capacidad de respuesta. En una máquina de núcleo único que trabaja duro, el sistema puede parecer lento, ya que la mayor parte del tiempo podría ser utilizado por una tarea y las otras tareas solo se ejecutan en ráfagas cortas entre la tarea más grande, lo que da como resultado un sistema que parece lento o entrecortado. En un sistema de múltiples núcleos, la tarea pesada obtiene un núcleo y todas las demás tareas se juegan en los otros núcleos, haciendo su trabajo de manera rápida y eficiente.

El argumento de «6 núcleos x 0,2 GHz = 1,2 GHz» es nulo en todas las situaciones, excepto cuando las tareas son perfectamente paralelas e independientes. Hay un buen número de tareas muy paralelas, pero aún requieren alguna forma de sincronización. Freno de mano es un transcodificador de video que es muy eficiente en el uso de todas las CPU disponibles, pero requiere algún proceso básico para mantener otros subprocesos llenos de datos y recopilar los datos con los que terminan.

  1. En realidad, cada núcleo realiza x cálculos por segundo, por lo que el número total de cálculos es x (núcleos).

Cada núcleo es capaz de realizar x cálculos por segundo, asumiendo que la carga de trabajo es paralela, en un programa lineal, todo lo que tiene es 1 núcleo.

  1. Más bien, la velocidad del reloj es un recuento de la cantidad de ciclos por los que pasa el procesador en un segundo, por lo que siempre que todos los núcleos estén funcionando a la misma velocidad, la velocidad de cada ciclo de reloj sigue siendo la misma independientemente. Sea cual sea la cantidad de núcleos . . En otras palabras, Hz = (core1Hz + core2Hz +…) / cores.

Creo que es un error pensar que 4 x 3 GHz = 12 GHz, aunque las matemáticas funcionan, pero estás comparando manzanas con naranjas y las sumas no son correctas, los GHz no se pueden sumar para cada situación. Lo cambiaría a 4 x 3 GHz = 4 x 3 GHz.

¿Tiene algo que agregar a la explicación? Habla en los comentarios. ¿Quiere leer más respuestas de otros usuarios expertos en tecnología de Stack Exchange? Consulte el hilo de discusión completo aquí..

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas