Taxonomía+de+Flynn



= Tipos de Sistemas de paralelos  =

La taxonomía introducida por Flynn [FLYN72] es la forma más común de clasificar a los sistemas según sus capacidades de procesamiento paralelo.

Flynn propuso las siguientes categorias:


 * **Una Secuencia de instrucciones y unh secuencia de datos(SISD)**: Es un único procesador que interpreta una única secuencia de instrucciones para operar con los datos almacenados en una única memoria, no explota el paralelismo en las instrucciones ni en flujos de datos. Ejemplos de arquitecturas SISD son las máquinas con uni-procesador tradicionales como el PC o los antiguos mainframe.




 * **Una secuencia de instrucciones y múltiples secuencias de datos(SIMD):** Una solo intrucción controla paso a paso la ejecución simultanea y sincronizada de un cierto número de elementos de proceso. Cada elemento de proceso tiene una memoria asociada, 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 secuencias de instrucción y una secuencia de datos(MISD)**//: Se transmite una secuencia de datos a un conjunto de procesadores, y cada uno de los cuales ejecuta una secuencia de instrucciones diferente. 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, 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.
 * **Múltiples secuencias de instrucción y mútiples secuncias de datos(MIMD):** Consiste un en conjunto de procesadores que ejecutan simultáneamente secuencias de instrucción diferentes con conjuntos de datos diferentes. Los SMP, los clusters y los sistemas NUMA son ejemplos de esta categoría.


 * Tipos de sistemas de paralelos ||= Se aplica en: ||
 * = SISD || Monoprocesadores. ||
 * = SIMD || Procesadores vectoriales y matriciales. ||
 * = MISD || No se implementa. ||
 * = MIMD || Memoria compartida con SMP, NUMA y con memoria distribuida con clusters. ||