Pregunta ¿Cómo se calculan los GHz en procesadores multinúcleo? [duplicar]


Posible duplicado:
¿Qué tan rápido es cada núcleo en un procesador de doble núcleo? 

Estoy debatiendo entre dos sistemas (por simplicidad):

(1) Procesador de doble núcleo de 2.9 GHz

(2) Procesador quad core de 2.3 GHz

Ahora, cuando estoy considerando esto, tengo algunas preguntas específicas que me gustaría responder.

Primero, ¿cómo se calculan realmente los "números" (las frecuencias) y qué significan? Para el doble núcleo de 2.9 GHz, ¿eso significa que cada núcleo tiene una frecuencia de reloj de alrededor de 2.9 GHz o eso significa que cada núcleo tiene un reloj de 2.9 / 2 = 1.45 Ghz? De la misma manera, ¿el quad core da una velocidad "neta" de 2.3 GHz o es cada núcleo literalmente yendo a 2.3 GHz?

Mi corazonada por las cosas que he leído en línea es que cada núcleo va realmente a la velocidad especificada (sé que no puedes obtener 12 GHz de un sistema quad core de 3 GHz a menos que tu código sea perfectamente lineal en la paralelización).

Mi otra pregunta es, supongamos que tienes código ejecutándose puramente en paralelo. ¿En qué punto un núcleo adicional permite que el código vaya más rápido simplemente porque hay menos interferencia con el sistema operativo (y otras tareas de fondo)?

Por ejemplo, si tuviera la opción de doble núcleo de 2,6 GHz o quad-core de 2,5 GHz, incluso para soltero En los programas con subprocesos, supongo que el núcleo cuádruple de 2.5 sería más rápido porque el único subproceso se interrumpirá menos por otros programas (incluido el SO).


1


origen


Gracias, leí esa pregunta y otras, pero mi pregunta también hace referencia a cómo el sistema operativo y las aplicaciones en segundo plano podrían afectar una sola aplicación de subprocesos. - drjrm3
@ Laurbert515 - Su otra pregunta dependerá de cómo se diseñó el software. Si estaba preocupado por el rendimiento de un único subproceso, el procesador de doble núcleo de 2.6 Ghz sería mejor. Si habla del rendimiento general más allá de un solo hilo, los 2.5 GHz serían mejores. - Ramhound


Respuestas:


Para el doble núcleo de 2.9 GHz, ¿eso significa que cada núcleo tiene una frecuencia de reloj de alrededor de 2.9 GHz o eso significa que cada núcleo tiene un reloj de 2.9 / 2 = 1.45 Ghz? De la misma manera, ¿el quad core da una velocidad "neta" de 2.3 GHz o cada núcleo literalmente está funcionando a 2.3 GHz?

Tu nunca, nunca, nunca agrega velocidades de esa manera. Dos autos que van cada uno a 50 millas por hora no hacen que nada vaya a 100 millas por hora, punto. Si la CPU tiene una velocidad central de 2.9 GHz, eso significa que puede sincronizarla a 2.9 GHz, es decir, su reloj puede ciclar 2.9 mil millones de veces por segundo.

Por ejemplo, si tuviera la opción de doble núcleo de 2.6 GHz o quad-core de 2.5 GHz, incluso para programas de un solo hilo, asumiría que el núcleo cuádruple de 2.5 iría más rápido porque el único hilo será interrumpido menos por otros programas (incluido el OS).

Esa es una pregunta sin sentido. No puede comparar diferentes CPU en función de sus velocidades de reloj. Es como decir "usted tiene un vehículo con un tanque de combustible de 10 galones y uno con un tanque de combustible de 12 galones, que puede ir más allá en un tanque de gasolina". Bueno, depende de cuánto pesen, cuán grandes sean sus motores, etc.

Nunca compare las CPU en función de la velocidad del reloj a menos que sean idénticas. Y, claramente, un núcleo doble y un núcleo cuádruple son muy diferentes.

Si imagina que dos CPU que difieren solo en esa es una de doble núcleo de 2.6 GHz y una de cuatro núcleos de 2.5 GHz, es probable que no haya una diferencia significativa ejecutando un programa de subproceso único, suponiendo que el sistema no está muy cargado por otros programas . Es muy poco probable que la sobrecarga del sistema operativo maximice un núcleo, y en cualquier caso usted tiene al menos un núcleo disponible para tareas del sistema operativo como E / S de disco e interrupciones. Si el factor limitante es el ancho de banda de memoria, por ejemplo, más núcleos no ayudan.

Dicho esto, más núcleos son casi siempre mejores que menos núcleos, en igualdad de condiciones. Para una máquina de escritorio, no puedo ver ningún punto en un doble núcleo. Y, mirando hacia el futuro, cada vez más software sabrá cómo aprovechar más núcleos.


3



He escuchado la analogía de los autos y estoy en desacuerdo. Para alguien que sabe lo que está haciendo, puedes considerar 2 autos a 50 mph para ser un auto a 100 mph (digamos que estás tratando de llevar a 10 personas a un lugar, haciendo que UN viaje con 2 autos sea mucho mejor) de 2 viajes con un automóvil, lo que duplica la velocidad a la que llegan las 10 personas). - drjrm3
@ Laurbert515 - De quien escuchaste la analogía del coche no tenía idea de qué estaban hablando. La forma de calcular la frecuencia de un solo núcleo de CPU es la misma que calcula la frecuencia de CPU con múltiples núcleos. Entonces entiendes que un quad core de 2.4GHz significa que cada núcleo está sincronizado a esa frecuencia. ** Sé que no puedes obtener 12 GHz de un sistema quad-core de 3 GHz ** En realidad esto es 100% falso. - Ramhound
@ Laurbert515: Claro, duplica la velocidad a la que llegan las diez personas. Pero esa no es una velocidad que se puede medir en millas por hora. Esa es una velocidad que se puede medir en "personas por hora" o tal vez el tiempo se reduce a la mitad. Pero no tiene absolutamente ningún sentido agregar las velocidades. Nada va a 100 millas por hora cuando dos autos recorren 50 millas por hora. - David Schwartz
Solo un pequeño detalle. Tienen un máximo de 2.9 GHz; la administración de energía reducirá los núcleos durante los períodos de inactividad. - Ignacio Vazquez-Abrams
Si los dos autos se aceleran o alejan entre sí, la brecha entre ellos aumenta o disminuye a 100 mph. - Sam Axe