2009-07-15 15:38:47 +0000 2009-07-15 15:38:47 +0000
68
68

Núcleos de CPU: ¿Cuantos más, mejor?

Actualmente tengo un procesador de doble núcleo en el trabajo y uno de cuatro núcleos en casa. He notado que ambos PCs son bastante iguales en cuanto al lanzamiento de aplicaciones/navegación por la web.

La diferencia que veo es que mi dual-core es de 2,8GHz y mi quad-core es de 2,4GHz.

¿Es mejor tener un dual-core con una velocidad de reloj rápida o un quad-core con una velocidad de reloj mediocre?

Respuestas (12)

53
53
53
2009-07-15 15:42:45 +0000

NOTA: Esta respuesta fue escrita hace 8 años. Desde entonces, la programación paralela se ha vuelto más relevante. Esto se debe probablemente a los límites inherentes a la velocidad del reloj y a la rápida aproximación a los límites de tamaño de los transistores.

  • *

Tu principal problema es que el software no está escrito para multinúcleos.

Mire el excelente artículo de Jeff Atwood sobre Cómo elegir doble núcleo o cuádruple núcleo .

para la mayoría del software, se llega a un punto de rendimiento decreciente muy rápidamente después de dos núcleos. En Quad-Core Desktops and Diminishing Returns , me preguntaba hasta qué punto el software actual puede utilizar realmente incluso cuatro núcleos de CPU, y mucho menos los inevitables ocho y dieciséis núcleos de CPU que veremos dentro de unos años.

Se le responde aquí (resaltado copiado del artículo de Jeff),

Sin embargo, hubo algunas sorpresas aquí, como Excel 2007, y la configuración de “operaciones concurrentes” de Lost Planet. Es posible que la ingeniería de software acabe avanzando hasta el punto de que la velocidad del reloj importe menos que el paralelismo. O puede que con el tiempo sea irrelevante, si no tenemos que elegir entre velocidades de reloj más rápidas y más núcleos de CPU. Pero mientras tanto, la velocidad de reloj gana la mayoría de las veces. Más núcleos de CPU no es automáticamente mejor. Los usuarios típicos estarán mejor con la CPU de doble núcleo más rápida posible que puedan permitirse.

  • *

El tema del Bus del lado frontal (ese término siempre me hizo gracia). Con Nehalem las cosas cambian … como dijo ArsTechnica el año pasado.

La Ley de Moore ha proporcionado a los diseñadores de procesadores una gran riqueza de transistores, y en ningún lugar es más evidente que en el procesador Nehalem de 45 nm de Intel. Nehalem, que saldrá a la venta en variantes de 4 y 8 núcleos a finales de este año, incluye una tonelada de hardware en un solo zócalo de procesador. (Las primeras cifras sitúan el recuento de transistores de un Nehalem de cuatro núcleos en 781 millones; aún no han aparecido las cifras del modelo de 8 núcleos). Pero intentar alimentar todo ese hardware con la actual arquitectura de bus frontal de la plataforma Intel sería una locura. Así pues, Nehalem también supone el esperado adiós a la geriátrica arquitectura de bus frontal de Intel.

El cambio radical en la situación del ancho de banda del sistema de Intel que representa la nueva QuickPath Interconnect (QPI) es quizá el factor más importante que ha determinado el diseño de Nehalem. Entre QuickPath y el controlador de memoria integrado de Nehalem, un procesador Nehalem tendrá acceso a una cantidad de ancho de banda agregado sin precedentes, especialmente en implementaciones de dos y cuatro sockets.

AMD trasladó antes el controlador de memoria al procesador y utilizó Hypertransport.

18
18
18
2009-07-15 15:41:59 +0000

Según mi experiencia, hay un gran beneficio en el rendimiento al pasar de uno a dos núcleos. De repente, un programa de alta CPU no bloquea tu máquina o la hace inusualmente lenta. La diferencia es enorme.

¿Pero de dos a cuatro? Para el 99% de la gente no habrá diferencia. Tendrás que estar ejecutando muchos programas a la vez o estar usando programas que puedan aprovechar más de 2 núcleos (y siendo realistas no hay muchos de esos). Me vienen a la mente algunos codificadores multimedia.

También hay una diferencia entre los Intel Core 2 y los AMD Phenom en este sentido. AMD utiliza Hypertransport, que es un protocolo punto a punto para que cada núcleo tenga un ancho de banda dedicado. Los Intel Core 2 (pero no los Core i7 y otras CPUs basadas en Niehalem) utilizan un bus frontal, que es un ancho de banda compartido, por lo que hay más núcleos compitiendo por el mismo ancho de banda.

Esto puede hacer que un quad core con el mismo reloj sea (marginalmente) más lento en algunas circunstancias. La relación calidad-precio sigue siendo la de los dos núcleos, en mi opinión. Dicho esto, tengo un quad core.

10
10
10
2009-07-15 15:53:09 +0000

Me gusta cómo lo resume Donald Knuth :

Para mí, parece que los diseñadores de hardware se han quedado sin ideas, y que están tratando de pasar la culpa de la futura desaparición de la Ley de Moore a los escritores de software, dándonos máquinas que funcionan más rápido sólo en algunos puntos de referencia clave. No me sorprendería en absoluto que la idea del multithreading resultara un fracaso, peor que el enfoque “Itanium”, que se suponía que era tan estupendo, hasta que resultó que los compiladores deseados eran básicamente imposibles de escribir.

Permítanme decirlo así: Durante los últimos 50 años, he escrito más de mil programas, muchos de los cuales tienen un tamaño considerable. No se me ocurren ni cinco de esos programas que hubieran mejorado notablemente con el paralelismo o el multithreading. Seguramente, por ejemplo, los procesadores múltiples no ayudan a TeX.

Para algunas aplicaciones, es muy fácil aprovechar los múltiples núcleos. Pero algunas otras aplicaciones nunca se beneficiarán de ellos, mientras que las otras podrían beneficiarse si los desarrolladores los optimizan (lo cual es muy difícil).

5
5
5
2009-07-15 15:48:54 +0000

Para mi escritorio principal en mi empresa, utilizo una máquina Xeon dual de cuatro núcleos con 8 GB de RAM.

Cuando estoy programando, y tengo Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (o 2010) y una instancia local de Sql Server Express… todo funciona bien.

Comparativamente, antes tenía un dual core, y las cosas empezaban a arrastrarse con sólo Visual Studio, Chrome y Sql Express funcionando.

Es una cuestión de lo que haces con la máquina. Si eres un usuario potente que va a editar vídeo, modelar en 3D, o programar con recursos significativos… entonces sí, querrás el quad-core y mucha RAM.

1
1
1
2009-07-15 16:56:28 +0000

Según Anandtech.com :

Todo se reduce al TDP del chip, o su Punto de Diseño Térmico. Cuanto más restringido sea el TDP de una plataforma, más ventajas tendrá el modo Turbo de Intel. Lo diré de otro modo: para que quepan cuatro núcleos en un TDP de 130 W, cada núcleo tiene que funcionar a una velocidad de reloj inferior a la que tendría un solo núcleo con ese mismo TDP.

En los TDP más altos, suele haber suficiente margen térmico para que los núcleos individuales funcionen a una velocidad bastante alta. En los TDP más bajos, los fabricantes de CPUs tienen que buscar un equilibrio entre el número de núcleos y sus velocidades de reloj, y ahí es donde podemos divertirnos.

Todo esto en el contexto de tener que elegir entre los núcleos (o hilos) y la frecuencia del núcleo.

1
1
1
2009-07-15 15:43:26 +0000

Depende. Si estás haciendo cosas que van a utilizar todos los núcleos en gran medida 4 núcleos es mejor (edición de vídeo, renderizado, etc). La mayoría de la gente encontrará dos núcleos rápidos mejor en este momento porque no muchas aplicaciones están escritas para hacer un uso completo de 4 núcleos

1
1
1
2009-07-15 15:49:30 +0000

Ten en cuenta que los últimos procesadores i7 pueden aumentar la velocidad de reloj de los núcleos activos cuando no se necesitan todos; por ejemplo, si tienes un cuádruple núcleo a 2,4 GHz, pero el software sólo necesita 2 núcleos para funcionar, entonces puede subir automáticamente a 2,8 GHz (no es una cifra real, sólo un ejemplo).

Y la última generación del i7 creo que puede subir el reloj a 3 o 4 bines si sólo se necesitan uno o dos núcleos. Por lo tanto, es posible que no siga siendo un compromiso tan grande como lo es actualmente…

1
1
1
2009-07-15 15:43:13 +0000

Para el uso diario y los programas que no están optimizados para múltiples núcleos, un doble núcleo rápido vencerá a un núcleo cuádruple más lento.

A medida que pase el tiempo y las aplicaciones multihilo se conviertan en la norma, los cuatro núcleos tomarán la delantera.

Desde el punto de vista de la relación calidad-precio, los núcleos duales siguen teniendo una cómoda ventaja.

0
0
0
2009-07-15 15:44:50 +0000

Depende de lo que estés haciendo y de las capacidades de tu sistema operativo y tus aplicaciones.

Si tiene un sistema operativo ligero y ejecuta una única aplicación ligada a la CPU que sólo puede utilizar un procesador, entonces dos procesadores a mayor velocidad serán una mejor opción.

De lo contrario, si el SO puede programar todos los núcleos de forma efectiva y está ejecutando muchas aplicaciones o aplicaciones que pueden hacer uso de más de un procesador el quad-core más lento entonces uno esperaría un mejor rendimiento para un menor consumo de energía y por lo tanto menos salida de calor.

0
0
0
2009-07-20 05:41:55 +0000

Depende.

Mucho.

Puedes encontrar fácilmente un quad-core usando sólo dos núcleos. Esto tiene que ver en parte con el SO y con el diseño del software. Además, siguen compartiendo todo lo demás, sobre todo la memoria, el disco y los dispositivos.

Sabes que el sistema operativo no arrancará (notablemente) más rápido y que las páginas web no se descargarán más rápido (aunque puede que dibujen más rápido).

0
0
0
2009-07-15 15:46:35 +0000

Si usted está haciendo una gran cantidad de codificación de vídeo, renderizado 3d, o distribuido código fuente construye entonces el más núcleos mejor. Verás una marcada diferencia en el rendimiento de este tipo de aplicaciones a medida que pases de 1 a 2 y de 4 a 8 núcleos.

De lo contrario, las aplicaciones estándar no se beneficiarán de más núcleos. Incluso los juegos no van a explotar mucho los múltiples núcleos. En mi opinión, es mejor gastar el dinero en una mejor tarjeta gráfica.

0
0
0
2009-07-15 15:43:11 +0000

En tu caso el quad-core sería mejor. Recuerda que cuantos más núcleos tengas, más procesamiento paralelo podrás hacer. Así que en tu dual-core podrías ejecutar una sola aplicación más rápido que el quad, pero el quad puede ejecutar 4 aplicaciones más rápido que tu dual. Además, si una aplicación está escrita para procesar en paralelo (multihilo), entonces la aplicación se ejecutará mejor en una arquitectura multinúcleo.

Todo esto es relativo, ya que un quad-core funcionando a 100 Mhz no va a superar a un dual-core de 4 Ghz. Sin embargo, en general, cuantos más núcleos mejor.