Me pregunto cuál es la diferencia entre una computadora de doble núcleo y una computadora con 2 procesadores en la placa base. Creo que es algo relacionado con los hilos, pero no lo entiendo muy bien.
fuente
Me pregunto cuál es la diferencia entre una computadora de doble núcleo y una computadora con 2 procesadores en la placa base. Creo que es algo relacionado con los hilos, pero no lo entiendo muy bien.
Múltiples procesadores permiten que su computadora haga literalmente dos cosas a la vez (en lugar de hacer aparentemente dos cosas a la vez, pero en realidad solo intercambian tareas extremadamente rápido).
Múltiples núcleos son lo mismo. La ventaja de los núcleos múltiples sobre los procesadores múltiples es que comparten algunos bits de la CPU, por ejemplo, el caché de segundo nivel, lo que les permite trabajar aún más eficientemente si tienen algunos datos compartidos. Esto los hace mucho más baratos de fabricar. Una sola CPU de doble núcleo también ocupa menos espacio que dos CPU de un solo núcleo, lo cual es un factor importante en estos días con todos moviéndose a las computadoras portátiles.
Puede haber algunas diferencias de rendimiento, pero nada que probablemente note.
Vea esta imagen que muestra la diferencia entre Multi Processor, Hyper Threaded y Multi Core:
fuente
Debes comenzar con artículos de varios núcleos y múltiples hilos en Wikipedia.
fuente
Bueno, se trata de escalar horizontalmente en lugar de verticalmente. En los viejos tiempos solían hacer que las CPU fueran cada vez más rápidas. Con el tiempo, la velocidad de la CPU aumentó de solo un puñado de megahercios a súper velocidades de hasta 3 gigahercios. Sin embargo, cuando se alcanzó la velocidad de 3 gigahercios, los fabricantes de CPU habían encontrado un límite de hasta dónde podían empujar la velocidad en un solo núcleo de CPU.
Mientras ocurría esta carrera de velocidad, para aquellas aplicaciones que necesitaban más potencia (como servidores y granjas de procesamiento CGI), se introdujeron las placas base de CPU de múltiples sockets. Esto permitió colocar más de una CPU (generalmente dos) en la placa base. Los sistemas operativos que pueden utilizar múltiples CPU a la vez pueden ejecutar software que aprovechó esta característica al distribuir la carga sobre esas dos CPU, aumentando así la velocidad de ejecución.
Un avance rápido hasta la actualidad. Se alcanza un poco el límite de velocidad de la CPU y, en lugar de escalar verticalmente (haciéndolo más rápido), los fabricantes de CPU comienzan a escalar horizontalmente colocando múltiples núcleos en un solo chip. Actualmente, los chips de doble núcleo son muy comunes y pronto los núcleos cuádruples serán el estándar. Ahora imagine que ha 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 funcionando a alrededor de 3 gigahercios.
Además de las CPU de múltiples núcleos, también hay una CPU de doble núcleo 'falsa' que utiliza una tecnología conocida como 'hiper-threading'. Con hyper-threading, la CPU emula la presencia de dos CPU cuando en realidad solo hay un núcleo real presente. La CPU sabe cómo hacer uso de lo que normalmente sería un tiempo de inactividad al programar las instrucciones de una manera específica, ganando más eficiencia.
fuente
Desde una perspectiva de desarrollo de software, hay relativamente poca diferencia.
Algunas aplicaciones de subprocesos múltiples escritas incorrectamente pueden funcionar accidentalmente en un procesador multinúcleo, pero no en una placa base multiprocesador, pero no perdería demasiado tiempo de sueño, 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, 1 procesador de 4 núcleos frente a 2x procesador de 2 núcleos) es que, en el caso del escenario multiprocesador, generalmente hay una memoria agregada más grande -banda ancha. Esto significa que para cualquier carga de trabajo que requiera mucha memoria, es posible que esté mejor con esta última. Sin embargo, tenga en cuenta que las primitivas de bloqueo en realidad pueden ser un poco más lentas (dependiendo de la implementación del hardware), por lo que los algoritmos que usan mucha sincronización en realidad pueden funcionar peor en este último.
Aun así, no me preocuparía demasiado por la diferencia incluso entonces, porque si trabajas en un área donde esta diferencia importa, lo más probable es que ya lo sepas (conocimiento específico del dominio).
fuente