Está en la página 1de 7

Taxonoma de Flynn

Se han propuesto y construido muchos tipos de computadoras paralelas,


por lo que es natural preguntarse si hay laguna forma de clasificarlas
dentro de alguna taxonoma. El nico esquema que se usa mucho es el
de Flynn, pero hasta el de l es, en el mejor de los casos, una
aproximacin muy burda [1].
La taxonoma de Flynn clasifica las arquitecturas de las computadoras
segn la presencia de nicos o mltiples flujos de datos e instrucciones

SISD define las computadoras seriales.


MISD implica que muchos procesadores aplican diferentes
instrucciones al mismo dato, esta posibilidad hipottica se
considera generalmente impracticable.
SIMD
implica
que
mltiples
procesadores
ejecutan
simultneamente la misma instruccin sobre diferentes datos.
MIMD
implica
que
mltiples
procesadores
ejecutan
autnomamente diversas instrucciones sobre diversos datos.

Si bien estas distinciones proveen elementos tiles para caracterizar


arquitecturas, no bastan para clasificar varias de las computadoras
modernas. Por ejemplo, los procesadores vectoriales pipelinizados
merecen ser incluidos como arquitecturas paralelas, ya que muestran
una concurrencia substancial en la ejecucin aritmtica y pueden
manejar cientos de elementos de vectores en forma paralela, no
obstante lo cual no se ajustan a los parmetros de la clasificacin de
Flynn, debido a que, si los consideramos SIMD carecen de procesadores
que ejecutan la misma instruccin en pasos bien acotados, y si por otra
parte los clasificaremos como MIMD les falta la autonoma asincrnica de
la categora. [2]
Flujos de
instruccio
nes
1
1

Flujos
de
Datos
1
Varios

Nombr
e

Ejemplos

SISD
SIMD

Varios
Varios

1
Varios

MISD
MIMD

Mquina clsica de von Neumann


Supercomputadora
vectorial,
procesador de arreglos
Tal vez ninguno
Multiprocesador, multicomputadora

Tabla 1. Taxonoma de Flynn para computadoras paralelas

La taxonoma de Flynn fue presentada anteriormente, a continuacin se


muestra una extensin de sta. Dividiendo a SIMD en dos subgrupos. El
primero es el de las supercomputadoras numricas y otrasmquinas que
operan con vectores, realizando la misma operacin con cada elemento
del vector. El segundo es para las mquinas tipo paralelo, como la ILLIAC
IV, en las que una unidad de control maestra, difunde instrucciones a
muchas ALU independientes.

Figura 1. Taxonoma de computadoras paralelas.

Computadoras SISD
Responden a los monoprocesadores convencionales (tipo Von Neumann)
que ms se usan. Al disponer de una nica Unidad de Proceso (Camino
de Datos) slo existe un Flujo de Instrucciones y un Flujo de Datos.

Figura 2. Estructura bsica de los computadoras SISD [3].

Computadoras MISD
Existen n Unidades de Proceso, cada una con su propia Unidad de
Control y sus propias instrucciones, pero operando sobre el mismo flujo

de datos, de forma que la salida de un procesador pasa a ser la entrada


(operandos) del siguiente en el macrocauce de los datos. Se hacen
diferentes operaciones con los mismos datos.

Figura 3. Arquitectura de las computadoras MISD.

Los arquitectos de computadores han menospreciado esta organizacin y de


hecho no existe ninguna materializacin real de este tipo.

Computadoras SIMD
Flujo nico de instrucciones y Flujo mltiple de Datos. Slo hay una Unidad de
Control que controla las diferentes Unidades de Proceso. Todas las Unidades de
Proceso reciben la misma instruccin, pero operan sobre los diferentes datos
procedentes de la memoria compartida.

Figura 4. Arquitectura de las computadoras SIMD.

La misma instruccin la reciben todas las Unidades de Proceso, pero a


veces no todas la realizan porque la instruccin lleva codificado los
procesadores que intervienen y los que estn inactivos. La mayora de

los computadores SIMD necesitan que exista intercomunicacin entre las


Unidades de Proceso, para compartir datos y resultados intermedios.
Hay dos formas de lograrlo:
1. Memoria Compartida: Todas las Unidades de Proceso utilizan una
memoria comn y cuando una quiere enviar un dato a otra,
primero lo escribe en una posicin que la otra conoce y luego sta
lee dicha posicin. Es como un tabln de anuncios que puede usar
todo el mundo.
2. Red de Interconexin: Las M posiciones de la memoria se reparten
entre los N procesadores a razn de M/N posiciones de memoria
local para cada uno, adems cada procesador se une con los
dems mediante una lnea Full-Duplex de forma que en un
momento determinado un procesador puede recibir datos de otro
y al mismo tiempo mandar otros datos a un tercer procesador.
Los SIMD son mucho ms tiles y comerciales en el mercado que los
MISD y tambin ms flexibles. Adems, es ms fcil hacer algoritmos
para los SIMD que para los MISD. El caso ideal de los SIMD es cuando un
problema se puede dividir en subproblemas idnticos y adems stos
tienen las mismas instrucciones. Algunos ejemplos de esta arquitectura
fueron: Thinking Machines CM-2, MassPar computers, Procesador MMX.

Computadoras MIMD
Este tipo de computadora se basa en el paralelismo como las SIMD, la
diferencia es que la arquitectura MIMD es asncrona. No tiene un reloj
central. Cada procesador en un sistema MIMD puede ejecutar su propia
secuencia de instrucciones y tener sus propios datos. Esta caracterstica
es la ms general y poderosa de esta clasificacin.
Es una agrupacin de monoprocesadores convencionales, cada uno con
su Unidad de Control, su Unidad de Proceso y su memoria local. Cada
uno dispone de su Flujo de Instrucciones y de su Flujo de Datos, trabajan
en paralelo y de forma asncrona y estn comunicados entre ellos igual
que los SIMD. Usan la memoria compartida o bien la red de
interconexin.

Figura 5. Arquitectura de las computadoras MIMD.

Se supone que son los sistemas ms perfectamente paralelos, ya que el


paralelismo es total, pero tambin son los ms caros. Los algoritmos
para los MIMD deben tener un factor claro de paralelismo, aunque
pueden ser totalmente asncronos, y adems se necesita
intercomunicacin. Normalmente comienzan cargando una tarea bsica
a uno cualquiera de los procesadores, y ste va descomponiendo tareas
y lanzndolas a los dems, as como creando dos colas, una de proceso
y otra de procesadores. En la primera se van introduciendo los procesos
pendientes de ejecutar, y en la segunda se van metiendo los
procesadores que van quedando libres despus de terminar su tarea.
Ejemplos de computadores con arquitectura MIMD son BURR D-85,
Cmmp, CRAY/2, CRAY-MP e IBM 370/168MP.

Otras Taxonomas
Existen otras taxonomas que no son tan populares como la de Flynn
entre las que destaca la taxonoma de Shore que al igual que la de
Flynn, clasifica los computadores en funcin del nmero de elementos;
pero mientras que la taxonoma de Flynn pretende clasificarlos por la
organizacin del software (Instrucciones y Datos), la clasificacin de
Shore lo hace por la estructura del hardware (Unidad de Control, Unidad
de Proceso y Memoria de Datos e Instrucciones).Por lo tanto la aparicin
de paralelismo dentro de cada uno de estos componentes no se valora.
La arquitectura Shore se representa seis tipos:
1. Tipo 1: Formada por una UC (Unidad de Control) conectada a una
UP (Unidad de Proceso) y a una Memoria de Instrucciones.
2. Tipo 2: Similar a la anterior, con la salvedad de que las lecturas de
memoria se realizan de forma paralela, es decir, un bit de cada

3.

4.

5.
6.

palabra por cada acceso. As la unidad de proceso est preparada


para realizar operaciones con los datos ledos de esta forma.
Tipo 3: Es una combinacin de las arquitecturas anteriores; est
formada por una memoria bidimensional a la que acceden dos UP
que operan en consecuencia a la lectura que realizan, horizontal o
vertical. La UC supervisa las dos UP.
Tipo 4: Existen mltiples UP conectadas a una sola UC, que recibe
rdenes de una Memoria de Instrucciones. Cada UP trabaja con
una Memoria local de Datos. No existe ninguna comunicacin
entre ellas.
Tipo 5: Es similar a la anterior, pero las UP se encuentran
interconectadas entre ellas, pudiendo as la misma UP acceder a
varios mdulos de memoria.
Tipo 6: En esta arquitectura se integran la UP y la Memoria local en
un solo componente, que lgicamente estar conectado a una UC.
Esta clasificacin es bastante incompleta, y queda poco
determinado el tipo de paralelismo que se puede encontrar en un
sistema. Adems, tampoco diferencia, por ejemplo, sistemas que
implementen la segmentacin dentro de la Unidad de Proceso y/o
Unidad de Control, de los que no las utilicen.

Otra taxonoma es la Estructural que no se basan slo en el


paralelismo para clasificar los computadores, sino que estudian tambin
el modo de tratar los datos, la existencia de segmentacin y su tipo. Es
una aproximacin a la clasificacin global y en la que intervienen varios
criterios, incluyendo la aplicacin o no de tcnicas de paralelismo en
distintos niveles [3].

Bibliografa
[1 A. S. Tanenbaum, Aspecos del diseo de computadoras paralelas, de
] Organizacin de Computadoras Un enfoque estructurado, Mxico, Prentice
Hall Inc., 2000, pp. 551-555.
[2 BUAP, cs BUAP, [En lnea]. Available:
] http://www.cs.buap.mx/~hilda/multiprocesadores.pdf. [ltimo acceso: 12
Abril 2015].
[3 M. J. J. CASTILLA, UNIVERSIDAD JOS CARLOS MARITEGUI, [En lnea].
] Available: http://bv.ujcm.edu.pe/links/cur_sistemas/ArqComputadoras01.pdf. [ltimo acceso: 12 Abril 2015].

También podría gustarte