it-swarm-es.com

¿Cuál es la diferencia entre el sistema multicorre y el sistema multiproc?

Me pregunto cuál es la diferencia entre una computadora de doble núcleo y una computadora con 2 procesadores en la placa madre. Creo que es algo relacionado con el hilos, pero no lo entiendo muy bien ..

18
bAN

Múltiples procesadores permiten que su computadora literalmente dos cosas a la vez (en lugar de solo hacer solo dos cosas a la vez, pero en realidad simplemente intercambiando entre las tareas extremadamente rápidamente).

Múltiples núcleos son iguales. La ventaja de múltiples núcleos sobre múltiples procesadores es que comparten algunos bits de la CPU, por ejemplo. El segundo nivel de caché de nivel, lo que hace posible que funcionen aún más de manera eficiente si tienen algunos datos compartidos. Esto los hace mucho más baratos de fabricar. Una única CPU de doble núcleo también ocupa menos espacio que dos CPU de un solo núcleo, que es un factor importante en estos días con todos los que se mueven a las computadoras portátiles.

Puede haber algunas diferencias de rendimiento, pero nada de lo que es probable que se den cuenta.

19
John Fouhy

Vea esta imagen que muestra la diferencia entre el procesador múltiple, Hyper Roscado y Multi Core:

enter image description here

13
claws

Debe comenzar con multi-núcleo y MultiPhead artículos en Wikipedia.

3
nik

Bueno, se trata de escalar horizontalmente en lugar de verticalmente. En los viejos tiempos solían hacer que la CPU sea más rápida y más rápida. Con el tiempo, la velocidad de la CPU aumentó de solo un puñalamiento de megahercios a las superventas superiores que van hasta 3 GigaHertz. Sin embargo, cuando se alcanzó la velocidad de 3 GigaHertz, los fabricantes de CPU habían encontrado un límite a lo lejos que podían empujar la velocidad en un solo núcleo de CPU.

Mientras esta carrera de velocidad estaba sucediendo, para aquellas aplicaciones que necesitaban más poder (como servidores y granjas de Render CGI), las placas base Multi-Socket CPU donde se introdujeron. Esto permitió ser más de una CPU (generalmente dos) que se colocará en la placa base. Los sistemas operativos que capaces de utilizar múltiples CPU a la vez podrían ejecutar software que aprovechó esta función distribuyendo carga sobre esas dos CPU, por lo que aumentan la velocidad de ejecución.

Un avance rápido hasta la actualidad. El límite de velocidad de la CPU está un tanto alcanzado y en lugar de escalar verticalmente (haciéndolo más rápido), las fabricantes de CPU están comenzando a escalar horizontalmente colocando múltiples núcleos en un solo chip. Actualmente, los chips centrales duales son muy comunes y pronto los cuádruples serán la norma. Ahora imagine que hayas colocado dos núcleos cuádruples en una sola placa base. Esto significaría que el sistema operativo tendría acceso a 8 CPU, todas corriendo alrededor de 3 GigaHertz.

Además de las CPU de múltiples núcleos, también hay una CPU de doble núcleo "falso" que utiliza una tecnología conocida como 'Hyper-Threading'. Con Hyper-Threading, la CPU emula la presencia de dos CPU cuando existe en realidad solo un núcleo real presente. La CPU sabe cómo hacer uso de lo que normalmente tendría tiempo de inactividad mediante la programación de instrucciones de una manera específica, obteniendo más eficiencia.

2
Luke

Desde una perspectiva de desarrollo de software, hay relativamente una gran diferencia.

Algunas aplicaciones de roscas múltiples escritas incorrectamente pueden trabajar accidentalmente en un procesador de múltiples núcleos, pero no en una placa base multi-procesador, pero no perdería mucho dormir sobre eso, ya que ... bueno ... estamos hablando incorrectamente software escrito.

La principal diferencia entre los dos escenarios para el mismo número total de núcleos disponibles (por ejemplo, el procesador 1x 4-núcleos frente a 2x 2-núcleos) es que en el caso del escenario multi-procesador, generalmente hay una memoria agregada más grande -banda ancha. Esto significa que para cualquier carga de trabajo que sea intensiva de memoria, puede estar mejor con este último. Sin embargo, tenga en cuenta que los primitivos de bloqueo pueden ser realmente un poco más lentos (dependiendo de la implementación de hardware), por lo que los algoritmos que usen mucha sincronización pueden realmente funcionar en este último.

Aun así, no me preocuparía demasiado por la diferencia, incluso entonces, porque si trabaja en un área donde esta diferencia importa, lo más probable es que ya lo sepas (conocimiento específico del dominio).

1
jerryjvl