¿Es el tamaño de la memoria caché o el número de núcleos más importante al sopesar el rendimiento de la CPU?

9

Estoy comprando una computadora portátil para que mi hijo la use en la escuela, por lo que no necesita ser una máquina de juego. He reunido PC desde cero antes, pero ha pasado un tiempo.

Me he dado cuenta de que algunas de las máquinas de nivel de entrada disponibles están equipadas con una CPU de doble núcleo o de un solo núcleo. Entiendo que si todo lo demás es igual, la CPU de doble núcleo probablemente funcionará mejor. Sin embargo, ¿qué pasa si el núcleo único tenía una memoria caché L2 mucho más grande (digamos 3 MB para el núcleo único frente a 1 MB para el núcleo dual)? Sé que esto también puede afectar significativamente el rendimiento.

Entiendo que otros componentes del sistema, por ejemplo, la velocidad de la memoria y el hardware de gráficos, también afectarán el rendimiento del sistema. Mi pregunta es, si tengo que elegir entre un núcleo de CPU adicional o más caché, ¿qué debo elegir?

David
fuente
2
También depende de su caso de uso. El software que está utilizando (lo que hacen y cómo están programados) puede tener un gran impacto en lo que dará un mejor rendimiento. Por ejemplo, en el pasado, los Celerons más rápidos a menudo eran mejores para la navegación web y los juegos casuales, mientras que los P4 más lentos eran mejores para la compresión y los juegos en 3D.
Synetech
@Synetech, bueno, por supuesto, se refería a las aplicaciones típicas de este año + 3 años. Las aplicaciones antiguas no importan.
Pacerier

Respuestas:

12

Caché de la CPU

Una menor memoria caché de la CPU dará como resultado una mayor probabilidad de errores de memoria caché , lo que degradará significativamente el rendimiento. Dicho esto, otro núcleo completo permitirá que la computadora ejecute al menos dos subprocesos simultáneamente, por lo que es una compensación cuando tiene que elegir uno sobre el otro.

Tamaño de caché de CPU frente a tasa de fallos

En el gráfico anterior, podemos ver que cuando el tamaño de caché es superior a 1 MB, la probabilidad de una pérdida de caché ya es extremadamente baja, y muestra rendimientos decrecientes al aumentar el tamaño de caché.

Núcleos de CPU

Los núcleos de CPU adicionales, por otro lado, pueden mostrar aumentos drásticos de velocidad cuando las aplicaciones aprovechan los múltiples núcleos.

Para la mayoría de las aplicaciones del mundo real, el núcleo de ejecución adicional proporcionará una mejor ganancia en el rendimiento sobre el caché adicional. Tanto el tamaño de la memoria caché como el recuento de núcleos son de vital importancia al sopesar el rendimiento de una computadora, pero cuando se trata de una cantidad relativamente baja de núcleos, los núcleos adicionales generalmente proporcionarán ganancias de rendimiento significativas.

...

Penetración
fuente
Eso es más o menos lo que pensé ... pero no estaba seguro de dónde obtendrías rendimientos decrecientes con el caché. ¡Gracias!
David
¿Soy yo o el eje X del gráfico es bastante incorrecto? 4-1 = 3; 16-4 = 12; 64-16 = 48, etc. pero todos están representados con la misma distancia. Pero supongo que los datos presentados en el gráfico siguen siendo correctos, ¿verdad? También me di cuenta de que el eje Y también tiene esto.
Utku
@Utku, tanto el eje x como el eje y usan escalas logarítmicas, con el eje x usando base-2 y el eje y usando base-10.
Avance el
6

Núcleo adicional, fácil, para la mayoría de las aplicaciones. Puede hacer dos veces los cálculos en condiciones óptimas. La caché ayuda, pero no duplica la velocidad.

soandos
fuente
3

La elección correcta (capacidad de caché dual versus capacidad de caché adicional) depende de las aplicaciones de destino que se ejecutarán en la computadora portátil.

Los procesadores de doble núcleo reducirán teóricamente el tiempo de ejecución a la mitad en comparación con un procesador de un solo núcleo. Sin embargo, en la práctica, la aceleración de 2x rara vez se logra debido a los desafíos de escribir aplicaciones paralelas. La ley de Amdahl (enlace) muestra que incluso si la aplicación tiene el 90% de la ejecución perfectamente paralela (una tarea difícil para aplicaciones grandes), la aceleración es 1.82X en lugar de 2X. La aceleración del segundo núcleo solo disminuirá para las aplicaciones que no se implementan de manera escalable.

Una mayor capacidad de caché L2 reducirá la tasa de errores en cachés como se muestra en la respuesta de @Breakthrough. Sin embargo, la respuesta extrae la conclusión incorrecta de la trama de que la capacidad de caché más allá de 1 MB solo proporcionará mejoras marginales. El punto de rendimientos decrecientes depende de la aplicación (particularmente, el enlace del tamaño del conjunto de trabajo ) de la aplicación. Es probable que la mayoría de las aplicaciones tengan un tamaño de conjunto de trabajo superior a 1 MB y, por lo tanto, los cachés más grandes ayudarán a mejorar el rendimiento al evitar accesos DRAM de latencia larga (los procesadores operan hasta 3 órdenes de magnitud más rápido que la memoria principal)

Finalmente, aunque mi respuesta puede sonar como favorecer un caché más grande que un segundo procesador, me gustaría señalar que la mayoría del currículum CS moderno se enfoca en introducir programación paralela a los estudiantes. Por lo tanto, los procesadores multinúcleo tienen más sentido a pesar de que no son claramente la mejor opción en cuanto al rendimiento

YetAnotherPseudoName
fuente
1

Recomendaría la máquina de doble núcleo sobre el núcleo único.

Como Windows básicamente está haciendo mucho al mismo tiempo (por ejemplo, navega por la web, mientras se descarga una actualización de Windows y el antivirus escanea el archivo que acaba de descargar), un sistema de doble núcleo es en su mayoría más "receptivo" que un solo núcleo máquinas.

Tex Hex
fuente
0

El tamaño de la memoria caché es importante ya que reduce la probabilidad de que se pierda una memoria caché. Cache miss 'es costoso porque la CPU tiene que ir a la memoria principal para acceder a la dirección de memoria, esto lleva mucho más tiempo y, por lo tanto, resulta en una computadora más lenta.

El número de núcleos también es importante ya que cuantos más núcleos haya, más procesos se pueden ejecutar al mismo tiempo. Eso significa que se pueden ejecutar varias instrucciones en paralelo, lo que resulta en una computadora más rápida.

Como puede ver, ambos son bastante críticos y la optimización de ambos es importante, aunque por experiencia personal, un chip de procesador multinúcleo es más beneficioso que un caché más grande si debe optimizar solo una cosa ...

rrazd
fuente