Multiprocesamiento: Conceptos, Tipos y Funcionamiento

Puntos Clave
  • El multiprocesamiento permite la ejecución paralela real de procesos, a diferencia de la multitarea simple.
  • Los sistemas SMP (Simétrico) tratan a todas las CPUs por igual, mientras que los ASMP (Asimétrico) asignan roles específicos.
  • La taxonomía de Flynn clasifica los sistemas en SIMD, MISD y MIMD basándose en el flujo de instrucciones y datos.

El multiprocesamiento (MP) es la utilización de dos o más unidades centrales de procesamiento (CPU) dentro de un único sistema informático. Este término se refiere tanto a la capacidad de un sistema para soportar más de un procesador como a la habilidad de distribuir tareas entre ellos para optimizar el rendimiento y la eficiencia.

Definición y Contexto

Un multiprocesador es un sistema informático que posee dos o más CPUs que comparten la memoria principal y los periféricos para procesar programas de manera simultánea. Dependiendo del contexto, la definición de multiprocesamiento puede variar según cómo se defina el procesador: ya sea como núcleos múltiples en una sola pastilla de silicio (multi-core), múltiples pastillas en un solo encapsulado o múltiples encapsulados en una unidad de sistema.

Multiprocesamiento vs. Multitarea

A nivel de sistema operativo, es común confundir el multiprocesamiento con la multitarea. Mientras que la multitarea puede utilizar un solo procesador alternando el tiempo de ejecución entre diversas tareas (time-sharing), el multiprocesamiento implica la ejecución paralela real de múltiples procesos utilizando más de un procesador.

Tipos de Simetría de Procesadores

En un sistema de multiprocesamiento, las CPUs pueden ser iguales o estar reservadas para propósitos especiales, lo que determina la simetría del sistema:

  • Multiprocesamiento Simétrico (SMP): Sistemas que tratan a todas las CPUs por igual, distribuyendo la carga de trabajo de manera equitativa.
  • Multiprocesamiento Asimétrico (ASMP): Sistemas donde las CPUs no son iguales; algunas pueden tener roles específicos o privilegios restringidos.

Sistemas Maestro/Esclavo

En un sistema de multiprocesador maestro/esclavo, una CPU maestra controla la computadora y las CPUs esclavas realizan las tareas asignadas. Estas CPUs pueden diferir significativamente en velocidad y arquitectura. Un ejemplo histórico es el TRS-80 Model 16, que utilizaba un Zilog Z80 como maestro inicial para luego transferir el control al Motorola 68000, quedando el Z80 encargado de las operaciones de entrada y salida (I/O).

Flujos de Instrucciones y Datos

Según la taxonomía de Flynn, los multiprocesadores se clasifican según cómo manejan las instrucciones y los datos:

TipoDescripción
SIMD (Single Instruction, Multiple Data)Una sola secuencia de instrucciones se ejecuta en múltiples contextos (común en el procesamiento de vectores).
MISD (Multiple Instruction, Single Data)Múltiples secuencias de instrucciones actúan sobre un único dato (utilizado principalmente para redundancia en sistemas críticos).
MIMD (Multiple Instruction, Multiple Data)Múltiples secuencias de instrucciones se ejecutan en múltiples contextos (la categoría donde entran la mayoría de los multiprocesadores modernos).

Acoplamiento de Procesadores

Los sistemas se dividen generalmente en sistemas fuertemente acoplados, donde los procesadores comparten la memoria principal y el reloj del sistema, y sistemas débilmente acoplados, donde cada procesador tiene su propia memoria local y se comunican mediante el paso de mensajes.

Preguntas Frecuentes

Respuestas a las dudas más habituales sobre Multiprocesamiento: Conceptos, Tipos y Funcionamiento.

La multitarea es la capacidad de un sistema operativo para ejecutar varias tareas alternando el tiempo de un solo procesador, mientras que el multiprocesamiento utiliza múltiples CPUs físicas para ejecutar procesos simultáneamente.

Volver al índice enciclopédico