Está en la página 1de 9

1. Tema 1: Introduccin y Clasificacin de Computadores. Generacin de Computadores y clasificacin segn su funcionamiento, finalidad y uso comercial.

. Fundamentos de arquitectura clsica y moderna. Influencia de la tecnologa en la evolucin de los computadores (primera a cuerta etapa). Taxonomas o clasificaciones de computadores segn su arquitectura (taxonoma de flinn, computadores SISD, MISD, SIMD, MIMD y MTMD ). Libro texto principal del tema 1: Captulo 1 del libro Arquitectura de Computadores, los pentium a fondo. Bibliografia 3. Libro texto de apoyo al tema 1: Captulo 1 del libro Organizacin de Computadoras, Un enfoque estructurado. Bibliografia 1. Introduccin y Clasificacin de Computadores Generacin de Computadores y clasificacin segn su funcionamiento, finalidad y uso comercial. Fundamentos de arquitectura clsica y moderna. Influencia de la tecnologa en la evolucin de los computadores (primera a cuerta etapa). Taxonomas o clasificaciones de computadores segn su arquitectura (taxonoma de flinn, computadores SISD, MISD, SIMD, MIMD y MTMD ).
Clasificaciones
Las cuatro clasificaciones definidas por Flynn se basan en el nmero de instrucciones concurrentes (control) y en los flujos de datos disponibles en la arquitectura: Una instruccin, un dato (SISD) Computador secuencial que no explota el paralelismo en las instrucciones ni en flujos de datos. Ejemplos de arquitecturas SISD son las mquinas con uni-procesador o monoprocesador tradicionales como el PC o los antiguos mainframe. Mltiples instrucciones, un dato (MISD) Poco comn debido al hecho de que la efectividad de los mltiples flujos de instrucciones suele precisar de mltiples flujos de datos. Sin embargo, este tipo se usa en situaciones de paralelismo redundante, como por ejemplo en navegacin area, donde se necesitan varios sistemas de respaldo en caso de que uno falle. Tambin se han propuesto algunas arquitecturas tericas que hacen uso de MISD, pero ninguna lleg a producirse en masa. Una instruccin, mltiples 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. Mltiples instrucciones, mltiples datos (MIMD)

Varios procesadores autnomos que ejecutan simultneamente 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 comparacin de las clasificaciones


Esas cuatro arquitecturas son mostradas visualmente a continuacin en donde cada "PU" (processing unit) es una unidad de procesamiento:
SISD MISD

SIMD

MIMD

ARQUITECTURAS DE COMPUTADORAS.
En 1966 Michael Flynn propuso un mecanismo de clasificacin de las computadoras. La taxonoma de Flynn es la manera clsica de organizar las computadoras, y aunque no cubre todas las posibles arquitecturas, proporciona una importante penetracin en varias arquitecturas de computadoras. El mtodo de Flynn se basa en el nmero de instruccciones y de la secuencia de datos que la computadora utiliza para procesar informacin. Puede haber secuencias de instrucciones sencillas o mltiples y secuencias de datos sencillas o mltiples. Esto da lugar a 4 tipos de computadoras, de las cuales solamente dos son aplicables a las computadoras paralelas.

III.1 SISD (Single Instruction Single Data).


Este es el modelo tradicional de computacin secuencial donde una unidad de procesamiento recibe una sola secuencia de instrucciones que operan en una secuencia de datos.

Fig. 3.1 Modelo SISD (Single Instruction Single Data).

Ejemplo: Para procesar la suma de N nmeros a1, a2, ... aN, el procesador necesita accesar a memoria N veces consecutivas (para recibir un nmero). Tambin son ejecutadas en secuencia N-1 adiciones. Es decir los algoritmos para las computadoras SISD no contienen ningn paralelismo, stas estn constituidas de un procesador.

III.2 SIMD (Single Instruction Multiple Data).


A diferencia de SISD, en este caso se tienen mltiples procesadores que sincronizadamente ejecutan la misma secuencia de instrucciones, pero en

diferentes datos. El tipo de memoria que estos sistemas utilizan es distribuida.

Fig. 3.2 Modelo SIMD(Single Instruction Multiple Data).

Aqu hay N secuencias de datos, una por procesador, as que diferentes datos pueden ser utilizados en cada procesador. Los procesadores operan sincronizadamente y un reloj global se utiliza para asegurar esta operacin. Es decir, en cada paso todos lo procesadores ejecutan la misma instruccin, cada uno en diferente dato. Mquinas con arreglos de procesadores tales como ICL DAP (Distributed Array Processor) y computadoras vectoriales canalizadas como CRAY 1 & 2 y CIBER 205 son de arquitectura SIMD. Ejemplo: Sumando dos matrices A + B = C. Siendo A y B de orden 2 y teniendo 4 procesadores:

A11 + B11 = C11 A12 + B12 = C12 A21 + B21 = C21 A22 + B22 = C22

La misma instruccin es ejecutada en los 4 procesadores (sumando dos nmeros) y los 4 ejecutan las instrucciones simultneamente. Esto toma un paso en comparacin con cuatro pasos en una mquina secuencial.

III.3 MIMD (Multiple Instruction Multiple Data).


Este tipo de computadora es paralela al igual que las SIMD, la diferencia con estos sistemas es que MIMD es asncrono. No tiene un reloj central. Cada procesador en un sistema MIMD puede ejecutar su propia secuencia de instrucciones y tener sus propios datos. Esta caracteristica es la ms general y poderosa de esta clasificacin.

Fig. 3.3 Modelo SIMD(Single Instruction Multiple Data).

Se tienen N procesadores, N secuencias de instrucciones y N secuencias de datos. Cada procesador opera bajo el control de una sencuencia de instrucciones, ejecutada por su propia unidad de control, es decir cada procesador es capaz de ejecutar su propio programa con diferentes datos. Esto significa que los procesadores operan asncronamente, o en terminos simples, pueden estar haciendo diferentes cosas en diferentes datos al mismo tiempo. Los sistemas MIMD se clasifican en:

Sistemas de Memoria Compartida. Sistemas de Memoria Distribuida. Sistemas de Memoria Compartida Distribuida.

III.3.1. Sistemas de Memoria Compartida.

En este tipo de sistemas cada procesador tiene acceso a toda la memoria, es decir hay un espacio de direccionamiento compartido. Se tienen tiempos de acceso a memoria uniformes ya que todos los procesadores se encuentran igualmente comunicados con la memoria principal y las lecturas y escrituras de todos los procesadores tienen exactamente las mismas latencias; y adems el acceso a memoria es por medio de un ducto comn. En esta configuracin, debe asegurarse que los procesadores no tengan acceso simultneamente a regiones de memoria de una manera en la que pueda occurrir algn error. Desventajas:

El acceso simultneo a memoria es un problema. Poca escabilidad de procesadores, debido a que se puede generar un cuello de botella al incrementar el numero de CPU's.

En computadoras vectoriales como Crays, etc. Todos los CPUs tienen un camino libre a la memoria. No hay interferencia entre CPUs. La razn principal por el alto precio de Cray es la memoria.

Ventaja: La facilidad de la programacin. Es mucho ms fcil programar en estos sistemas que en sistemas de memoria distribuida.

Fig. 3.4 Sistemas de Memoria Compartida.

Las computadoras MIMD con memoria compartida son sistemas conocidos

como de multiprocesamiento simtrico (SMP) donde mltiples procesadores comparten un mismo sistema operativo y memoria. Otro trmino con que se le conoce es mquinas firmemente juntas o de multiprocesadores. Ejemplos son: SGI/Cray Power Challenge, SGI/Cray C90, SGI/Onyx, ENCORE, MULTIMAX, SEQUENT y BALANCE, entre otras.

III.3.2. Sistemas de Memoria Distribuida. Estos sistemas tienen su propia memoria local. Los procesadores pueden compartir informacin solamente enviando mensajes, es decir, si un procesador requiere los datos contenidos en la memoria de otro procesador, deber enviar un mensaje solicitndolos. Esta comunicacin se le conoce como Paso de Mensajes.

Ventajas:

La escalabilidad. Las computadoras con sistemas de memoria distribuida son fciles de escalar, mientras que la demanda de los recursos crece, se puede agregar ms memoria y procesadores.

Desventajas:

El acceso remoto a memoria es lento. La programacin puede ser complicada.

Fig.3.5 Sistemas de Memoria Distribuida.

Las computadoras MIMD de memoria distribuida son conocidas como sistemas de procesamiento en paralelo masivo (MPP) donde mltiples procesadores trabajan en diferentes partes de un programa, usando su propio sistema operativo y memoria. Adems se les llama multicomputadoras, mquinas libremente juntas o cluster. Algunos ejemplos de este tipo de mquinas son IBM SP2 y SGI/Cray T3D/T3E.

III.3.3 Siatemas de Memoria Compartida Distribuida Es un cluster o una particin de procesadores que tienen acceso a una memoria compartida comn pero sin un canal compartido. Esto es, fsicamente cada procesador posee su memoria local y se interconecta con otros procesadores por medio de un dispositivo de alta velocidad, y todos ven las memorias de cada uno como un espacio de direcciones globales. El acceso a la memoria de diferentes clusters se realiza bajo el esquema de Acceso a Memoria No Uniforme (NUMA), la cual toma menos tiempo en accesar a la memoria local de un procesador que accesar a memoria remota de otro procesador. Ventajas:

Presenta escalabilidad como en los sistemas de memoria distribuida. Es fcil de programar como en los sistemas de memoria compartida. No existe el cuello de botella que se puede dar en mquinas de slo memoria compartida.

Fig. 3.6 Sistemas de Memoria Compartida Distribuida.

Algunos ejemplos de este tipo de sistemas son HP/Convex SPP-2000 y SGI/Cray Origin2000.

III.4 MISD (Multiple Instrucion Single Data).


En este modelo, secuencias de instrucciones pasan a travs de mltiples procesadores. Diferentes operaciones son realizadas en diversos procesadores. N procesadores, cada uno con su propia unidad de control comparten una memoria comn.

Fig. 3.7 MISD (Multiple instruction Single Data.

Aqui hay N secuencias de instrucciones (algoritmos/programas) y una secuencia de datos. El paralelismo es alcanzado dejando que los procesadores realicen diferentes cosas al mismo tiempo en el mismo dato. Las mquinas MISD son tiles en cmputos donde la misma entrada esta sujeta a diferentes operaciones.