Taxonomía de Flynn

Taxonomía de Flynn
  Una
instrucción
Múltiples
instrucciones
Un
dato
SISD MISD
Múltiples
datos
SIMD MIMD

La taxonomía de Flynn es una clasificación de arquitecturas de computadores propuesta por Michael J. Flynn en 1972.[2]

Clasificaciones

Las cuatro clasificaciones definidas por Flynn se basan en el número de instrucciones concurrentes (control) y en los flujos de datos disponibles en la arquitectura:

Una instrucción, un dato (SISD)
Computador secuencial que no explota el paralelismo en las instrucciones ni en flujos de datos. Ejemplos de arquitecturas SISD son las máquinas con uni-procesador o monoprocesador tradicionales como el PC o los antiguos mainframe.
Múltiples instrucciones, un dato (MISD)
Poco común debido al hecho de que la efectividad de los múltiples flujos de instrucciones suele precisar de múltiples flujos de datos. Sin embargo, este tipo se usa en situaciones de paralelismo redundante, como por ejemplo en navegación aérea, donde se necesitan varios sistemas de respaldo en caso de que uno falle. También se han propuesto algunas arquitecturas teóricas que hacen uso de MISD, pero ninguna llegó a producirse en masa. Algunos autores consideran que las arquitecturas vectoriales supersegmentadas o vectorial escalar forman parte de este modelo ya que en un momento dado se pueden estar manipulando un dato (el vector) por varias instrucciones, no obstante no existe consenso al respecto.
Una instrucción, múltiples datos (SIMD)
Un computador que explota varios flujos de datos dentro de un único flujo de instrucciones para realizar operaciones que pueden ser paralelizadas de manera natural. Por ejemplo, un procesador vectorial.
Múltiples instrucciones, múltiples datos (MIMD)
Varios procesadores autónomos que ejecutan simultáneamente instrucciones diferentes sobre datos diferentes. Los sistemas distribuidos suelen clasificarse como arquitecturas MIMD; bien sea explotando un único espacio compartido de memoria, o uno distribuido.

Diagrama de comparación de las clasificaciones

Esas cuatro arquitecturas son mostradas visualmente a continuación en donde cada "PU" ( processing unit) es una unidad de procesamiento:

SISD MISD
SISD.svg MISD.svg
SIMD MIMD
SIMD.svg MIMD.svg
Other Languages