¿Cuál es la diferencia entre MultiCore y MultiProcessor? [duplicar]

Respuestas:

28

Una CPU , o Unidad Central de Procesamiento, es lo que normalmente se conoce como procesador. Un procesador contiene muchas partes discretas, como una o más memorias caché para instrucciones y datos, decodificadores de instrucciones y varios tipos de unidades de ejecución para realizar operaciones aritméticas o lógicas.

Un sistema multiprocesador contiene más de una CPU de este tipo, lo que les permite trabajar en paralelo. Esto se llama SMP o MultiProcessing simétrico.

A multi núcleo CPU tiene varios núcleos de ejecución en una CPU. Ahora, esto puede significar cosas diferentes dependiendo de la arquitectura exacta, pero básicamente significa que un cierto subconjunto de los componentes de la CPU está duplicado, de modo que múltiples "núcleos" pueden trabajar en paralelo en operaciones separadas. Esto se llama CMP, multiprocesamiento a nivel de chip.

Por ejemplo, un procesador multinúcleo puede tener una memoria caché L1 y una unidad de ejecución separadas para cada núcleo, mientras que tiene una memoria caché L2 compartida para todo el procesador. Eso significa que, si bien el procesador tiene un gran grupo de caché más lenta, tiene unidades de memoria rápida y artitméticas / lógicas separadas para cada uno de varios núcleos. Esto permitiría que cada núcleo realice operaciones al mismo tiempo que los demás.

Hay una división aún más, llamada SMT , Multithreading simultáneo. Aquí es donde se duplica un subconjunto aún más pequeño de componentes de un procesador o núcleo. Por ejemplo, un núcleo SMT podría tener recursos de programación de subprocesos duplicados, de modo que el núcleo se parezca a dos "procesadores" separados para el sistema operativo, aunque solo tenga un conjunto de unidades de ejecución. Una implementación común de esto es el Hyperthreading de Intel.

Por lo tanto, podría tener un sistema multiprocesador, multinúcleo y multiproceso. Algo así como dos procesadores de cuatro núcleos e hiperprocesos le daría 2x4x2 = 16 procesadores lógicos desde el punto de vista del sistema operativo.

Diferentes cargas de trabajo se benefician de diferentes configuraciones. Una carga de trabajo de un solo subproceso que se realiza en una máquina en su mayoría de un solo propósito se beneficia de un sistema muy rápido de un solo núcleo / CPU. Las cargas de trabajo que se benefician de sistemas altamente paralelos como las configuraciones SMP / CMP / SMT incluyen aquellas que tienen muchas piezas pequeñas en las que se puede trabajar simultáneamente, o sistemas que se utilizan para muchas cosas a la vez, como un escritorio que se está utilizando para navega por la web, juega un juego Flash y mira un video de una vez. En general, el hardware en estos días tiende cada vez más hacia arquitecturas altamente paralelas, ya que la mayoría de las velocidades sin procesar de CPU / núcleo son "lo suficientemente rápidas" para cargas de trabajo comunes en la mayoría de los modelos.

Febo
fuente
¿Qué pasa con el calor, qué configuración? Si agrupa muchos procesadores en una carcasa de CPU, el calor está muy concentrado en un solo "punto" y requiere mejores instalaciones de enfriamiento, ¿estoy en lo cierto? Si esto es cierto, ¿por qué los fabricantes se quedan con ese diseño, solo por costos? ¿O hay otros problemas que superar cuando se usan núcleos separados?
Codebeat
18

Todos dieron suficientes explicaciones. Aún si no lo entiendes. Echa un vistazo a esto:

texto alternativo

garras
fuente
Dos consultas sobre la imagen que le pusiste 1) Qué es APIC 2) El diagrama en la última fila de celdas, para Multinúcleo y Multiprocesador (2 diagramas en la primera y tercera columnas de la última fila de la cuadrícula) parece ser igual, excepto las líneas discontinuas / continuas / límites cuadrados en la ALU. ¿Qué significan?
goldenmean
2
@goldenmean: 1. APIC es en.wikipedia.org/wiki/… , es lo que recibe interrupciones de otros dispositivos y actos. Podría explicar más si tiene algún conocimiento sobre el funcionamiento interno de OperatingSystems 2) Bueno, la línea continua significa que son dos chips / matrices diferentes como se muestra en la primera fila y la línea punteada muestra que ambos están en un solo chip o mueren
garras
Esto debería indicarse como "Echa un vistazo a esta imagen, aún si no entiendes, todos dieron suficientes explicaciones"
Teoman shipahi
2

Un procesador multinúcleo contiene dos o más núcleos en un paquete físico.

Un sistema multiprocesador es un sistema que contiene más de un procesador físico. cada uno de esos procesadores puede contener múltiples núcleos (como respondió WoodE).

en cuanto a cómo se comparan:
en un procesador multinúcleo, cada uno de los núcleos es generalmente más lento (en velocidad bruta) que un procesador rápido de un solo núcleo. Además, todos los núcleos en ese procesador comparten el mismo bus del sistema y la memoria principal. Sin embargo, para la mayoría de las tareas diarias, este no es un problema notable y para la mayoría de los usuarios el sistema se sentirá más rápido ya que pueden realizar tareas más simples a la vez.

En un sistema multiprocesador, el rendimiento aumentará en los casos en que se realicen múltiples tareas de alta intensidad. dependiendo de la placa base, esto puede deberse a que cada procesador tendrá su propio bus dedicado y / o memoria principal, lo que les permitirá utilizar todas las capacidades de cada uno para esas tareas.

un sistema multiprocesador multiprocesador sería una combinación de los pros y los contras de cada uno.

Además, a medida que se desarrollen más programas multiproceso (un programa capaz de decirle al procesador que trabaje en más de una tarea a la vez), las desventajas de un procesador multinúcleo disminuirán.

Xantec
fuente
2

Desde el punto de vista de una computadora de escritorio / portátil, el multiprocesador tiene dos o más CPU separadas en una máquina.

Multi-core tiene múltiples núcleos de procesamiento en el mismo chip, esencialmente múltiples CPU en un bit de silicio. Para ser considerado multinúcleo, cada núcleo debe ser esencialmente una CPU completa; el hecho de que incluso los primeros chips Pentium tenían múltiples unidades de cálculo de enteros (lo que permite una canalización más eficiente) no cuenta.

Por supuesto, podría tener una disposición de múltiples núcleos con múltiples procesadores, con más de un procesador de múltiples núcleos en la misma máquina.

Los pros y los contras pueden ser complicados ya que hay muchas variables a considerar, pero algunas diferencias notables son:

  • enfriamiento: una CPU de dos núcleos a menudo producirá menos calor residual que dos unidades de un solo núcleo separadas de la misma especificación y solo requerirá un disipador térmico y un ventilador que generalmente será más barato (aunque todo el calor está en un solo lugar, no se extiende dos, que pueden requerir soluciones de enfriamiento de alta tecnología)
  • velocidad debido a la localidad de caché: al estar en el mismo chip, hay oportunidades para hacer que la coherencia / intercambio de caché L2 (o L3) sea más eficiente ya que los núcleos no necesitan coordinarse a una distancia más larga a través de un bus de memoria externo
  • Diferencias de costos debido a la simplicidad: la solución de múltiples núcleos no requiere múltiples enchufes en la placa base, etc.
David Spillett
fuente
1

En términos básicos, un procesador multinúcleo es un procesador único con múltiples núcleos (quad-core tiene 4 núcleos, por ejemplo) donde un sistema multiprocesador contiene más de un procesador en la placa base (que a su vez también puede ser multinúcleo).

Cuando se trata de los pros y los contras de cada uno, se vuelve un poco más complicado.

Editar: corrección ortográfica.

WoodE
fuente
1

Multinúcleo es núcleos múltiples en un solo dado . Los multiprocesadores son matrices múltiples.

Mehper C. Palavuzlar
fuente
1

que yo sepa, un núcleo está dentro de un procesador, por lo que multi-núcleo significaría un único procesador fuerte, el procesador múltiple es múltiples procesadores en una placa base (creo que para reducir los problemas de calentamiento, o tal vez incluso una carga útil compartida equivale a un mejor rendimiento) No estoy seguro, pero por lo que he leído, pensé que para ser exactos

Dacota
fuente