You are on page 1of 47

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

MAQUINAS Y COMPUTADORAS

COMPUTADORAS PARALELO

AO 2013

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

IX - INTRODUCCIN: La tendencia actual para alcanzar grandes velocidades y capacidades de elaboracin de datos, que son necesarias para el llamado procesamiento de inteligencia, es la disponer varios procesadores en paralelo, actuando simultneamente. Las ventajas de estos sistemas son notables, por cuanto hacen uso de procesadores estndar para alcanzar enormes velocidades de clculo, del orden de un TIPS (Tera Instrucciones Por Segundo) o sea 1012 instrucciones por segundo, y ya se avizora el funcionamiento en el orden de los PIPS o sea Peta Instrucciones por Segundo que corresponde a 1018 IPS. La evolucin de las computadoras, desde el punto de vista de los sistemas operativos, nos muestra la siguiente secuencia de innovaciones: 1 - Procesamiento por lotes: En el cual cada programa es cargado y ejecutado, en forma separada. 2 - Multiprogramacin: En el cual se carga una serie de programas en memoria, y se ejecutan de acuerdo a las necesidades de cada uno. 3 - Tiempo compartido: En este caso, todos los programas estn cargados en la memoria, y se asigna un tiempo de ejecucin para cada uno, en forma tal que parecen ejecutarse todos simultneamente. 4 - Multiprocesamiento: En este caso se disponen varias unidades de procesamiento, en forma tal que operan simultneamente sobre varios programas. Tambin, desde el punto de vista de la arquitectura, se han tenido niveles de sofisticacin crecientes, que podemos sintetizar en: 1 - Procesamiento de datos: es el tipo de procesamiento que mayormente se emplea an actualmente, pues consiste en operar sobre datos alfanumricos no relacionados 2 - Procesamiento de informacin: La informacin consiste en un cmulo de datos, que estn de alguna manera ligados mediante una estructura sintctica o una relacin espacial cualquiera. 3 - Procesamiento de conocimientos: El conocimiento, es una forma de informacin ms algn significado semntico, o sea que forman un sub-espacio de la informacin. 4 - Procesamiento de inteligencia: La inteligencia, es derivada de una coleccin de tems de conocimiento.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Figura IX - 1 : Espacio de procesamiento. Estos elementos son representables, mediante un diagrama de Venn en forma piramidal, tal como el indicado en la figura VII.1. El "Procesamiento paralelo" es una forma de clculo que favorece la presencia de eventos concurrentes, siendo concurrentes los eventos que presentan:

- Paralelismo - Simultaneidad - Solapamiento


Los procesos paralelos son los que se producen en distintos recursos al mismo tiempo, los procesaos simultneos son los que pueden producirse, en distintos recursos al mismo tiempo, y los procesos solapados son los que pueden producirse en intervalos de tiempo superpuestos. El nivel ms elevado del procesamiento paralelo es el de llevar a cabo mltiples tareas mediante sistemas de multiprogramacin, tiempo compartido y multiprocesamiento, por lo que, resumiendo, el procesamiento paralelo es un desafo que puede ser abordado desde cuatro niveles:

- de programacin (Algoritmos) - de procedimientos (Interaccin hard-soft) - de interisntrucciones (Interaccin soft-hard) - de intrainstrucciones (Hardware)
O sea que la tarea primordial, es la de implementar algoritmos que permitan realizar tareas en paralelo, continuando con los procedimientos y los sistemas
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

operativos para tal objetivo, y terminando con la construccin de sistemas con organizaciones que permitan la realizacin de tareas simultneas. Lo dicho sugiere que el procesamiento paralelo es un campo de estudios combinado, en el cual debe hacerse un perfecto balance entre hardware y software. Otro tipo de procesamiento muy relacionado con el procesamiento paralelo, es el procesamiento distribuido, en el cual se utilizan diversas mquinas, interconectadas de alguna manera, para la realizacin de una gran tarea. VII.1 - PARALELISMO ES SISTEMAS MONOPROCESADORES: Un monoprocesador, es un procesador tal como los que vimos hasta ahora, se trata de una unidad lgica y aritmtica, una unidad de entrada y salida, una unidad de memoria y una unidad de control, de las cuales hemos citado mltiples ejemplos, que por lo tanto no repetiremos aqu. VII.1.1 - MECANISMOS DE PROCESAMIENTO PARALELO: Segn vimos, se han desarrollado una gran cantidad de mecanismos para la realizacin de algunas tareas en paralelo, los que pueden ser catalogados en seis categoras:

- Multiplicidad de unidades funcionales - Paralelismo y encauzamiento en la CPU - Solapamiento de las operaciones de E/S y de la CPU. - Uso de sistemas jerrquicos de memoria - Balanceo de los anchos de banda de los subsistemas - Multiprogramacin y tiempo compartido
Lo cual pasaremos a describir someramente en lo que sigue. VII.1.1.1 - MULTIPLICIDAD DE UNIDADES FUNCIONALES: Ya en varias oportunidades hemos citado los dos procesadores estndar ms modernos, el Pentium y el Power PC, y en ellos hemos podido ver que emplean varias unidades funcionales. En el caso del Pentium, ver figura VIII.21, tenemos dos unidades de clculo para enteros, y una para nmeros en coma flotante. En el caso del Power PC 620, ver figura VIII.20, tenemos tres Unidades Lgicas y Aritmticas para enteros y una para coma flotante. Existen otros ejemplos que hacen uso de mltiples mdulos de E/S, como la IBM 370/168, cuya estructura simplificada se indica en la figura VII.2. VII.1.1.2 - PARALELISMO Y ENCAUZAMIENTO EN LA CPU: Prcticamente todas las ALU actuales poseen algn tipo de sumador paralelo con anticipo del arrastre, adems de realizar varias operaciones en paralelo, por tener varias unidades de clculo, tal como en el Pentium y en el Power PC.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Por otra parte, tambin se utilizan sistemas encauzados, no solo para las instrucciones, sino tambin en la ALU, tal como veremos ms adelante.

VII.1.1.3 - SOLAPAMIENTO DE LAS OPERACIONES DE E/S Y DE LA CPU: Tambin vimos en captulos anteriores, que es posible utilizar mtodos de E/S que no afecten el funcionamiento de la CPU, tal es el caso de las operaciones de E/S por interrupcin y por uso del DMA. VII.1.1.4 - USO DE SISTEMAS JERRQUICOS DE MEMORIA: Recordemos que las CPU son mucho ms veloces (mas de 100 veces) que las memorias, por tanto, el uso de memorias jerrquicas permite, mediante la transferencia de diferentes cantidades de datos, tratar de acercarse a esa gran velocidad. Esto fue indicado en el captulo V, correspondiente a la unidad de memoria.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

VII.1.1.5 BALANCE O EQUILIBRADO DE LOS ANCHOS DE BANDA: En general, es conocido como ancho de banda a la cantidad de informacin que es posible transferir u operar en una unidad de tiempo. En nuestro caso sern bits, Bytes, o palabras por segundo. As es posible decir que:

B
Donde:

W t

B es el ancho de banda W es la cantidad de informacin (palabras / bits / bytes) t es la unidad de tiempo considerada (segundos)

Cuando hablamos de la memoria, el ancho de banda es la cantidad de Bytes o de bits que puede transferir en cada ciclo de memoria, as escribiremos:

Bm= W tm
Donde:

(palabras/segundo)

Bm = ancho de banda de la memoria (palabras/segundo) W = cantidad de palabras tm = tiempo de un ciclo de memoria

Y si estamos considerando la CPU, diremos:

Bp
Donde:

O tp

(Operaciones/segundo)

Bp = ancho de banda del procesador O = cantidad de operaciones tp = tiempo total para realizar la operacin. En realidad, la velocidad de clculo de la CPU, se mide en: - MEGAFLOPS (Mega Operaciones en coma flotante por segundo) - MIPS (Mega Instrucciones por segundo)

En general, podemos decir sobre los anchos de banda, que el mayor corresponde a la CPU, le sigue la memoria central (incluyendo cache, si la hay), y finalmente la memoria masiva, o externa), por lo que podemos escribir:

Bm Bp Bd
Donde el ltimo trmino corresponde al ancho de banda de los dispositivos externos de almacenamiento.
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Es interesante considerar los efectos de las demoras existentes en las transferencias de datos, para lo cual definiremos el llamado ancho de banda til, que siempre es menor al calculado anteriormente. Para el equilibrado de los anchos de banda entre la CPU y la memoria, se utiliza el sistema jerrquico, donde se cambia tiempo por cantidad, o dicho de otra manera, entre la memoria central y la cach se transfieren bloques de datos, y entre la cach y la CPU se transfieren unidades de datos (palabras). Para el equilibrado de los anchos de banda entre la memoria y los dispositivos de almacenamiento masivo, es posible utilizar una mayor cantidad de stos. Resumiendo, tenemos lo indicado en la figura VII.3, donde se observa lo antedicho.

Figura VII.3 Equilibrado de los anchos de banda. VII.1.1.6 - MULTIPROGRAMACIN Y TIEMPO COMPARTIDO: Estas son dos formas de procesamiento que permiten cierto paralelismo en la ejecucin de programas en sistemas monoprocesadores. El procesamiento multiprogramado, permite la utilizacin de tiempos muertos en algunas de las unidades, por ejemplo, si hay dos programas cargados en memoria, y uno de ellos hace uso de la CPU, sin necesitar de la unidad de E/S, el segundo programa puede hacer uso de sta, y esperar a que se desocupe la CPU, cuando ello ocurre, el primer programa puede dar sus salidas, mientras que el segundo es ejecutado. En el tiempo compartido en cambio, el uso de las diferentes unidades es repartido entre los programas, en forma tal que cada uno de ellos hace uso de la CPU un cierto tiempo. En la figura VII.4 se tiene un diagrama comparativo entre estas dos formas de operacin, y la comn, por lotes. VII.2 - ESTRUCTURAS DE COMPUTADORAS PARALELO: Los computadores paralelo son aquellos sistemas que enfatizan el procesamiento paralelo, y de acuerdo a los desarrollos realizados, podemos dividirlas en tres configuraciones arquitectnicas.
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Computadores Encauzados: son los que llevan a cabo tareas solapadas, por lo que explota el paralelismo temporal.

- Procesadores Matriciales: son los que utilizan diversas ALU sincronizadas, por lo que usan un paralelismo espacial. - Sistemas Multiprocesadores: es el que alcanza un paralelismo asincrnico, mediante un conjunto de procesadores interactivos, con recursos distribuidos. Estos tres conceptos de paralelismo, no son excluyentes entre ellos, sino que casi todas las computadoras actuales tienen cauces, y adems pueden tener estructuras matriciales o multiprocesadores. La diferencia fundamental entre ambos, el matricial o el multiprocesador, en que en el primero los elementos de proceso deben actuar sincrnicamente, mientras que en el segundo, pueden operar asincrnicamente. Tambin es posible introducir tres computacin: - Computadores de Flujo de Datos: operan en base a los datos, no a la secuencia de instrucciones. - Procesadores algortmicos VLSI: generan algoritmos mediante hardware. - Procesadores multirruta: denominados multithread en ingls, los cuales operan en base a una cierta cantidad de procesadores conectados en cascada, y que su vez cada cascada est en paralelo con otra u otras. VII.2.1 - COMPUTADORAS ENCAUZADAS: Ya hemos visto en captulos anteriores a los computadores que tienen cauces de instrucciones, an varios en paralelo (superencauzadas y superescalares). Estos cauces son extensibles a la ULA, segn veremos ms adelante. nuevos conceptos de la

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

VII.2.2 - COMPUTADORES MATRICIALES: Un procesador matricial, es una computadora paralelo sincrnica con mltiples unidades lgicas y aritmticas, tambin conocidas como elementos de procesamiento (EP), que pueden operar en paralelo. Mediante replicacin de EP es posible lograr el llamado paralelismo espacial. Cada uno de los EP opera sincrnicamente con los dems, llevando a cabo la misma funcin en el mismo tiempo. Una estructura funcional tpica de este tipo de computadores se indica en la figura VII.5. La unidad de control se encarga de la elaboracin de las instrucciones y del envo de las rdenes a todos los EP, para ello tiene un procesador de control CP y una
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

memoria de control CM. Los elementos de procesamiento a su vez, adems del procesador poseen una memoria para los datos. La malla de conexin inter-EP, es configurable por el control en forma tal de disponer espacialmente los EP a fin de resolver un dado problema, adems se encarga del encaminamiento de los datos. VII.2.3 - SISTEMAS MULTIPROCESADORES: La organizacin bsica de un multiprocesador es la indicada en la figura VII.6. El sistema contiene dos o ms procesadores de capacidades semejantes. Todos los procesadores comparten el acceso a varios mdulos de memoria, varios canales de E/S, y dispositivos perifricos. Lo ms importante es que todo el conjunto puede ser controlado por un sistema operativo integrado, que provee interaccin entre los procesadores y sus programas en varios niveles. Cada procesador posee su propia memoria y puede tener sus dispositivos privados. La intercomunicacin entre procesadores puede ser a travs de las memorias compartidas o por medio de una malla conmutada. La organizacin del hardware es determinada, primariamente, por la estructura de interconexin utilizada entre memorias y procesadores, de la cual se han utilizado al presente tres modelos:

- Bus comn de tiempo compartido - Malla de conmutacin tipo crossbar - Memorias multipuerto.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

VII.3 - ESQUEMAS DE CLASIFICACIN DE LAS ARQUITECTURAS: Los esquemas arquitectnicos de las computadoras, pueden ser clasificados de tres formas diferentes.

- Teniendo en cuenta la multiplicidad de los flujos de instrucciones y de datos (Flynn 1966) - Comparando el procesamiento serie y el paralelo (Feng 1972) - Considerando el grado de paralelismo y de encauzamiento (Hndler 1977)
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

VII.3.1 - MULTIPLICIDAD DE FLUJOS DE INSTRUCCIONES Y DE DATOS: Dentro de este sistema de clasificacin, solo se tiene en cuenta la secuencia de instrucciones realizada por la mquina, y las corrientes de datos servidas por las instrucciones en cualquiera de los niveles. Esto permite determinar cuatro categoras:

- Simple flujo de instrucciones y simple corriente de datos (SISD) - Simple flujo de instrucciones y multiples corrientes de datos (SIMD) - Multiple Flujo de instrucciones y simnple corriente de datos (MISD) - Multiple flujo de instrucciones y mltiple flujo de datos (MIMD)
En todos los casos las instrucciones son buscadas en los mdulos de memoria, decodificadas por la unidad de control, la que remite una corriente de ordenes a las unidades de procesamiento para le ejecucin. Las corrientes de datos fluyen bidireccionalmente entre los mdulos de memoria y los procesadores. VII.3.1.1 - ORGANIZACIN SISD: Esta que es la mostrada en la figura VII.7.a, representa todas las computadoras que operan actualmente en serie, an cuando posean mltiples unidades funcionales en la CPU y utilicen canales tanto de instrucciones como de operaciones. VII.3.1.2 - ORGANIZACIN SIMD: Esta organizacin, mostrada en la figura VII.7.b, es la correspondiente a los sistemas matriciales, que consiste en una malla de procesadores controlados por una nica unidad de control, por lo que todos ellos reciben las mismas rdenes, aunque operan sobre datos distintos. El subsistema de memoria compartida puede contener varios mdulos. VII.3.1.3 - ORGANIZACIN MISD: El concepto es ilustrado en la figura VII.7.c, donde hay n procesadores, cada uno de ellos recibiendo diferente instrucciones para operar sobre los mismos datos. Esta organizacin no ha sido estudiada, y aun ms algunos arquitectos de computadoras la consideran impracticable. VII.3.1.4 - ORGANIZACIN MIMD: La mayora de los sistemas multiprocesadores, y an varios sistemas de mltiples computadoras, pueden ser clasificados en ste grupo, el cual se ilustra en la figura VII.7.b.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

En este caso, n corrientes de datos son derivadas a m procesadores, cada uno de los cuales recibiendo una de las mltiples corriente de instrucciones. Por tanto cada procesador ejecuta un programa distinto sobre un conjunto de datos diferentes.
instruccione s UC inst. UP datos MM

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

VII.3.2 - PROCESAMIENTO SERIE CONTRA PROCESAMIENTO PARALELO: Tsu-yun Feng ha sugerido el uso del "grado" de paralelismo para clasificar las arquitecturas de computadoras. El mximo nmero de dgitos binarios (bits) que pueden ser procesados en una unidad de tiempo, por un sistema de computacin, es denominado "mximo grado de paralelismo" y es identificado con P. La unidad de tiempo considerada debe ser el intervalo de reloj, o el intervalo del ciclo de reloj. Si consideramos T ciclos del procesador, y en cada uno de ellos la cantidad de bits operados en paralelo, el grado promedio de paralelismo es:

Pa
En general, es:

P i=1 T

Pa

P
P i 1 T.P
i

Por lo que podemos llamar relacin de utilizacin, o factor de utilizacin de un sistema de computacin, dentro de T ciclos, a la relacin:

Pa P =

Si la capacidad de un procesador es utilizada a pleno, o sea que es explotado plenamente el paralelismo, tendremos que: P P para cualquier i, y entonces, lo que significa en porcentaje el 100%.

Podemos intuir que la relacin de utilizacin depende del programa que est siendo ejecutado. El mximo grado de paralelismo es representado por el producto de la longitud de palabra por la cantidad de bits operados en paralelo. [ P(n,m)] Esta cantidad de bits operados en paralelo, tiene en cuenta el efecto de los canales, si una unidad tiene cuatro canales y cada uno de ellos puede operar ocho bits a la vez, la cantidad de bits operados en paralelo es de 4x8 = 32 bits. Si adems esa mquina tiene palabras de 64 bits de longitud, decimos que su grado de paralelismo es: P (64,32). En la figura VII.8 se indica la clasificacin de Feng para varias mquinas, del grfico se desprende que hay cuatro tipos de mtodos de procesamiento:
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

- Palabra Serie y Bit Serie (PSBS) - Palabra Paralelo y Bit Serie (PPBS) - Palabra Serie y Bit Paralelo (PSBP) - Palabra Paralelo y Bit Paralelo (PPBP)
La primera tambin es conocida como procesamiento bit serie, por cuanto se opera el bit de una palabra por vez, respondiendo a un sistema mnimo (n=m=1). Las computadoras PPBS, han sido denominadas procesamiento por tajada de bit (Bit Slice), y en ellas es n = 1, m > 1. Las PSBP, o sea n > 1,m = 1, son la mayora de las existentes, y son denominadas de procesamiento de tajada de palabra (Word Slice), Finalmente las PPBP, son las de procesamiento totalmente paralelo, en las que tanto n como m son mayores que la unidad. (n > 1; m > 1)

VII.3.3 - PARALELISMO CONTRA ENCAUZAMIENTO. Wolfgang Hndler propuso un esquema de clasificacin, en el cual se identifica el grado de paralelismo y el grado de encauzamiento, dentro de las estructuras de hardware de un sistema de computacin. Considera el procesamiento paralelo-encauzado dentro de los subsistemas en tres niveles:

- Unidad de Control del procesador (PCU) - Unidad Lgica Aritmtica (ALU) - Circuitos a nivel de bits (BLC)
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Las funciones de la CPU y de la ALU son bastante conocidas por nosotros, no as la BLC, que corresponde a la lgica combinacional necesaria para llevar a cabo operaciones de 1 bit en la ALU. Segn Hndler, un sistema de computacin C, es caracterizado por el trptico que contiene seis entidades independientes, definido por: P(C) = (KxK',DxD',WxW') Donde: K es la cantidad de procesadores de la computadora (PCU). K' es la cantidad de procesadores que pueden ser encauzados. D es la cantidad de ALUs bajo control de una CPU. D' es la cantidad de ALUs que pueden ser encauzadas. W es la longitud de palabra de una ALU . W' es el nmero de etapas de los cauces de todas las ALUs.

Como ejemplo, consideremos la computadora TI-ASC (Texas Instruments Advanced Scientific Computer), que tiene un controlador, que controla cuatro cauces aritmticos de ocho etapas, y cada uno con 64 bits de longitud de palabra. Esto nos entrega: P(ASC) = (1x1,4x1,64x8) = (1,4,64x8) Cuando tenemos una segunda entidad, la que lleva " ' ", o sea, K, D y W, y vale uno, el mismo no es escrito. VII.4 - SISTEMAS ENCAUZADOS: Ya vimos en el captulo anterior los principios del encauzamiento, en especial para las instrucciones, ahora podemos ampliar el concepto a las unidades lgicas y aritmticas, en las cuales se utiliza para la realizacin de aquellas operaciones complejas, tales como suma y resta de cantidades en coma flotante y producto de cantidades binarias o binarias codificadas. En la figura VII.9, se tiene la forma genrica de un cauce lineal. Como puede observarse, consta de un nivel de registros seguido de una etapa de clculo, ms otro nivel de registros, y as sucesivamente. Como ejemplo, podemos implementar el sumador de dos cantidades expresadas en coma flotante, realizado segn el diagrama de flujo mostrado en la figura IV.33, el que se tiene en la figura VII.10. VII.4.1 - CLASIFICACIN DE LOS PROCESADORES ENCAUZADOS: De acuerdo con los niveles de procesamiento, el ya citado Hndler propuso un esquema de clasificacin de los procesadores encauzados, en la forma que se ilustra en la figura VII.11.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

VII.4.1.1 - CAUCES ARITMTICOS: La unidad lgica y aritmtica puede ser segmentada para realizar operaciones encauzadas con varios formatos de datos. En la figura VII.11.a, se tiene un cauce lineal del tipo correspondiente al de 8 etapas de la ASC, o al de hasta 14 etapas del Cray-1, y hasta 16 del Cyber-205. VII.4.1.2 - CAUCES DE INSTRUCCIONES: La ejecucin de una corriente de instrucciones puede ser encauzada, solapando la ejecucin de una con la bsqueda de la siguiente, etc., segn lo expuesto en el captulo anterior. En la figura VII.11.b, se muestra como acta el cauce, buscando primero una instruccin, luego un dato, o ms, y devolviendo los resultados. VII.4.1.3 - ENCAUZAMIENTO DE PROCESADORES: Esto se refiere a un sistema multiprocesadores, en el cual cada uno de los procesadores conforma una etapa del cauce, tal como se indica en la figura VII.11.c. El primer procesador recibe los datos de la memoria, realiza su operacin y devuelve el resultado a un mdulo de memoria, que es accesible por el segundo procesador, el cual realiza una operacin semejante. VII.4.2 - CLASIFICACIN SEGN RAMAMOORTHY Y LI: Estos estudiosos de los sistemas encauzados, propusieron otro tipo de clasificacin basado en la configuracin del cauce y sus estrategias de control. VII.4.2.1 - CAUCES UNIFUNCIN Y MULTIFUNCIN: Un cauce que tiene una funcin fija y determinada, tal como un sumador de coma flotante, es denominado cauce unifuncional. La Cray-1 tiene 12 cauces unifuncionales, cada uno para una funcin diversa. Un cauce multifuncin, puede llevar a cabo diferentes funciones, al mismo tiempo o en tiempos diferentes, mediante la interconexin de diferentes subconjuntos de
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

etapas. El ASC tiene cuatro cauces multifuncionales, los que son reconfigurables para realizar una amplia variedad de funciones lgicas y aritmticas en distintos tiempos.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

VII.4.2.2 - CAUCES ESTTICOS Y DINMICOS:

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Un cauce esttico, solo puede asumir una configuracin funcional por vez, adems pueden ser unifuncionales o multifuncionales. El encauzamiento puede ser realizado en estos cauces solamente cuando se ejecutan instrucciones del mismo tipo en forma continuada. En un cauce dinmico, se permiten varias configuraciones funcionales simultneas, en consecuencia el cauce debe ser obligadamente multifuncional. Al tiempo que un cauce esttico es preferentemente unifuncional. La configuracin dinmica necesita disponer de un control, y mecanismos de secuenciamiento mucho ms sofisticados que los de un cauce esttico. VII.4.2.3 - CAUCES ESCALARES Y VECTORIALES: En forma dependiente de los tipos de instrucciones o de datos, los cauces de procesamiento pueden ser clasificados como escalares o como vectoriales. Un cauce escalar, procesa una secuencia de operandos escalares, bajo el control de un bucle DO. Un cauce vectorial, es aquel diseado especialmente para operar con instrucciones vectoriales sobre operandos vectoriales. VII.4.3 - EJEMPLO DE CAUCE ARITMTICO: Segn vimos en los captulos II y IV, la multiplicacin de dos cantidades binarias en coma fija, es realizada por la ALU mediante operaciones reiteradas de suma y desplazamiento, siendo su cantidad acorde con la cantidad de dgitos de los operandos. Esto hace que la operacin sea muy lenta. Examinando la forma de realizar la operacin en forma manual, vemos que el proceso es equivalente a la adicin de pares mltiples de multiplicandos desplazados, lo que se observa en la figura VII.12. La suma de varios nmeros, puede ser llevada a cabo por un rbol de suma multinivel. El sumador propagador del arrastre, es de tipo convencional, que suma dos cifras binarias y da una salida. Mientras que el sumador salvador del arrastre es el que suma tres entradas, dando dos salidas, la correspondiente a la suma y la del arrastre que eventualmente puede producirse.

x a5b1 a4b2 a3b3 a2b4 a1b5 P6

+ P11

a5b4 a5b5 a4b5 P10 P9

a5b2 a5b3 a4b3 a4b4 a3b a3b5 a2b5 P8 P7

a5 b5 a5b0 a4b1 a3b2 a2b3 a1b4 a0b5 P5

a4 b4 a4b0 a3b1 a2b2 a1b3 a0b4 P4

a3 a2 a1 a0 b3 b2 b1 b0 a3b0 a2b0 a1b0 a0bo a2b1 a1b1 a0b1 a1b2 a0b2 a0b3

P3

P2

P1

P0

=A =B =W1 =W2 =W3 =W4 =W5 =W6 =AXB =P

Figura VII.12 - Ejemplo de multiplicacin de dos cantidades binarias


ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

El circuito resultante para el cauce de cinco etapas resultante, es el indicado en la figura VII.13, donde se aplican los dos tipos de sumadores, y un generador de multiplicandos desplazados.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

VII.5 - CARACTERSTICAS DEL PROCESAMIENTO VECTORIAL Un operando vectorial contiene un conjunto ordenado de de n elementos, donde n es la longitud del vector. Cada elemento del vector es una cantidad escalar, que puede ser un nmero en coma flotante, un entero, un valor lgico, o un caracter. Las instrucciones vectoriales pueden clasificarse en cuatro tipos principales:

f 1 : V V f 2 : V E f 3 : V V V f 4 : V E V

Donde los trminos V y E denotan respectivamente, Vector y Escalar. Adems, f1 y f2 denotan operaciones unitarias, o sea sobre un solo elemento, mientras que las restantes son binarias. Las cuatro pueden realizarse en un procesador encauzado, de acuerdo a lo indicado en la figura VII.14, mientras que en la tabla siguiente se se detallan algunas operaciones vectoriales representativas. Tipo f1 Nemotecnica VSQR VSIN VCOM f2 VSUM VMAX f3 VADD VMPY VAND VLAR VTGE Descripcin Raz Cuadrada Vectorial Vector Seno Complemento Vectorial Sumatoria Vectorial Vector Mximo Suma de vectores Multiplicacin de vectores And de vectores Vector mayor Prueba > vectorial Expresin
B(I) A(I)

B(I) sinA(I)

A(I) A(I)
S

A(I) I 1
1;n A

S max I
CI CI CI CI CI

AI

BI

A I B I A I andB I max A I , B I 0, siA I BI

CI
f4 SADD SDIV Suma de Vector y Escalar Divisn de Vector y Escalar

1, siA I
S AI AI S

BI

BI BI

Es posible emplear algunas instrucciones especiales para el trabajo con vectores, por ejemplo:
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

- Vector Booleano: que puede ser generado como resultado de la comparacin de dos vectores. - Mascara vectorial: para habilitar o no operaciones entre componentes de una instruccin vectorial. - Compresin: para acortar un vector bajo control de un vector mscara. - Combinacin: para combinar dos vectores bajo control de una mscara vectorial.

En general, las operaciones de mquina aptas para hacer cauces, son las que tienen las siguientes propiedades: - Procesos o funciones idnticas son invocados repetidamente y adems reiteradamente, cada una de las cuales puede ser descompuesta en una serie de sub-procesos, o sub-funciones. - Los operandos son sucesivamente alimentados a segmentos de requiriendo tan pocos buffers y controles locales como sea posible. cauce,

- Las operaciones ejecutadas por cauces diferentes deben ser capaces de compartir recursos caros, tales como memorias y buses del sistema. Estas caractersticas explican porque la mayora de los procesadores vectoriales tienen estructuras encauzadas. Las instrucciones vectoriales necesitan de la realizacin reiterada de la misma operacin sobre diferentes conjuntos de datos. Lo dicho no es cierto para el procesamiento escalar, que generalmente opera sobre un par de datos nicamente. Las instrucciones vectoriales son especificadas usualmente por los siguientes campos:

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

1 - El cdigo de operacin debe contener especificaciones para que permita la seleccin de la unidad funcional o para que configure una unidad multifuncional, a fin de que conforme la operacin especificada. Normalmente se utilizan microordenes de control para disponer los recursos necesarios. 2 - Para instrucciones con referencia a memoria, la direccin base es necesaria tanto para los opeandos fuente como para los vectores resultado. Si los operandos y los resultados son colocados en un archivo de registros vectoriales, se deben especificar dichos registros.

3 - El incremento de la direccin entre los elementos tambin debe ser especificado. 4 - El desplazamiento relativo de las direcciones con referencia a la direccin base, tambin debe ser especificado. 5 - La longitud del vector tambin debe ser indicada en la instruccin, para determinar la finalizacin del proceso. Es posible clasificar las computadoras vectoriales encauzadas en dos configuraciones arquitectnicas, segn donde son buscados los operandos. l - Arquitectura memoria a memoria, en la cual tanto los operandos como los resultados son dispuestos en la memoria central. 2 - Arquitectura registro a registro, en la cual los operandos y los resultados son buscados indirectamente en la memoria central mediante la utilizacin de una gran cantidad de registros vectoriales o escalares. Para finalizar, en la figura VII.15, tenemos la arquitectura tpica de un procesador vectorial con mltiples cauces funcionales. VII.5 - PROCESADORES MATRICIALES SIMD: Una matriz sincrnica de procesadores paralelo conforman un procesador matricial. Este computador consiste en un conjunto de elementos de procesamiento (EP), bajo supervisin de una unidad de control (UC), y puede manejar un flujo secuencial nico de instrucciones y mltiples datos flujos de datos, de alli la denominacin SIMD (Single Instruction Multiple Data), construidos con el objeto de efectuar clculos vectoriales sobre matrices (o conjuntos ordenados) de datos. Las computadoras SIMD aparecen en dos formas arquitectnicas, procesadores matriciales o procesadores asociativos, segn como utilicen la memoria. En el primer caso, utilizan una memoria comn de acceso aleatorio, en el segundo, utilizan memoria asociativa, o direccionable por el contenido.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

VII.5.1 - ORGANIZACIN DE LAS COMPUTADORAS SIMD: Los computadores matriciales pueden asumir dos configuraciones levemente diferentes, la que se ilustra en la figura VII.16, y corresponde a la Illiac IV (Illinois Automatic Computer, modelo 4), que ha sido estructurada con 64 elementos de procesamiento, todos bajo el control de una nica unidad de control. Esencialmente cada EP es una unidad lgica y aritmtica, con varios registros de trabajo y el agregado de una memoria local MEP, para el almacenamiento de datos distribuidos. La UC tambin posee una memoria para almacenar programas. El sistema operativo y los programas de usuario se cargan en la memoria de la UC, cuya funcin es la decodificar las instrucciones y determinar donde deber ser ejecutada. Las instrucciones escalares o de control son directamente ejecutadas dentro de la UC, mientras que las vectoriales son difundidas a todos los EP para su ejecucin distribuida, alcanzando un paralelismo espacial mediante la realizacin de la misma operacin aritmtica en todos los EP. Todos los EP llevan a cabo la misma funcin sincrnicamente, en una forma de paso-enganchado, bajo comando de la UC. Los operandos vectoriales son distribuidos a los EP antes de la ejecucin en paralelo, estos datos distribuidos pueden ser cargados a
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

las memorias locales desde una fuente externa, mediante un bus del sistema, o desde la UC mediante el bus de control, en modo de difusin.

Durante la ejecucin es posible tener sistemas de enmascarado a fin de controlar el estado de cada uno de los EP, los cuales pueden estar activos o inactivos durante un ciclo de instruccin. En otras palabras, no todos los EP deben participar en una ejecucin, sino solamente los necesarios, lo cual es definido mediante una mscara. Los intercambios de datos entre los EP es llevado a cabo por la red de interconexin inter-EP, la cual realiza todas las funciones de ruteado y funciones de manipulacin de datos, para lo cual est bajo control de la UC. Un procesador matricial normalmente est conectado a una mquina husped, a travs de la UC. Esta computadora husped normalmente es de propsitos generales, y tiene la funcin del "gerenciamiento de operaciones" de todo el sistema, consistente de ella y el procesador matricial. Las funciones de ste computador husped, incluyen el manejo de recursos y la supervisin de los perifricos y los sistemas de E/S, por lo que a la UC del procesador matricial le queda la supervisin de la ejecucin de los programas, por lo que puede ser considerado como un computador adjunto, o coprocesador. La segunda configuracin posible, es la indicada en la figura VII.17, donde vemos que difiere de la anterior en dos aspectos:

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

1 - Las memorias locales adjuntas a los EP, ahora son reemplazados por mdulos de memoria compartidos por todos ellos, mediante una malla de alineamiento. 2 - La malla de conmutacin inter-EP es reemplazada por la malla de alineamiento entre mdulos de memoria, la que es controlada siempre por la UC. Un buen ejemplo de esta configuracin es el BSP (Burroughs Scientific Processor), que posee 16 elementos de procesamiento. Formalmente, un computador SIMD es caracterizado por el siguiente conjunto de parmetros: C = < N,F,I,M > Donde: N = cantidad de EP del sistema. F = Conjunto de funciones de interconexin realizadas por la malla de interconexin o por la malla de alineamiento. I = Conjunto de instrucciones de la mquina para operaciones escalares, vectoriales, encaminado de datos y de manipulacin de la malla. M = Conjunto de esquemas de enmascarado. VII.5.1.1 - COMUNICACIONES INTER-EP: A continuacin, veremos cuales son las decisiones a tomar para el diseo de mallas de conexin inter-EP, enlas cuales intervienen los modos de operacin, las estrategias de control, las metodologas de conmutacin y las topologas de las mallas. VII.5.1.1.1 - MODO DE OPERACION: Es posible identificar dos tipos de comunicaciones: la sincrnica y la asincrnica. La primera es necesaria para establecer caminos sincrnicos tanto para la manipulacin de datos como para difusin de instrucciones. La comunicacin asincrnica es necesaria para el multiprocesamientoen el cual los requerimientos de interconexin son dinmicos. Es posible disear un sistema en el cual se tengan ambos tipos de funcionamiento. Por otra parte, los modos tpicos de operacin de las mallas de interconexin, puede ser clasificados en tres categoras:

1 - Sincrnico 2 - Asincrnico 3 - Combinado


De cualquier manera, todas las mquinas SIMD existentes han elegido el sistema sincrnico, en el cual se fuerza la operacin paso-enganchado en todos los EP.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

VII.5.1.1.2 - ESTRATEGIA DE CONTROL: Una malla de interconexin es un conjunto de elementos de conmutacin y enlaces para la conexin. Las funciones de interconexin son realizadas mediante el adecuando control de los elementos de conmutacin. Estas funciones de control pueden ser realizadas mediante un controlador central o por cada uno de los elementos de conmutacin. En el primer caso, tendremos el llamado control centralizado, mientras que en el segundo tendremos el control distribuido. La mayora de las mquinas SIMD existentes ha optado por la estrategia de control centralizado. VII.5.1.1.3 - METODOLOGA DE CONMUTACIN: Las dos principales metodologas de conmutacin son la de conmutacin de circuitos y la de conmutacin de paquetes, en el primer caso se establece un camino fsico entre los dispositivos fuente y destino. En la conmutacin de paquetes, los datos son contenidos en un paquete, y encaminados en la malla de interconexin sin formar un camino fsico. Generalmente, la conmutacin de circuitos es mucho ms prctica para la transmisin de grandes cantidades de datos, mientras que la conmutacin de paquetes es mucho ms eficiente para mensajes relativamente cortos.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Una tercera opcin, sera la de integrar las cualidades de cado uno de los dos mtodos anteriores, por lo que podramos tener una tercera categora, la de la conmutacin integrada. La mayora de las implementaciones de mquinas SIMD utilizan la conmutacin de circuitos, mientras que la conmutacin de paquetes se utiliza principalmente para transmisin de datos a gran distancia, y para las mquinas MIMD. VII.5.1.1.4 - TOPOLOGA DE LA RED: Una red puede ser imaginada como un grafo, en el cual los nodos representan puntos de conmutacin, y las lneas representan enlaces de comunicacin. Las topologas tienden a ser regulares, y pueden ser agrupadas en dos categoras:

1 - Estticas 2 - Dinmicas
Las estticas, el enlace entre dos EP es pasivo y dedicado, y no puede ser reconfigurado para conectar otros EP. En cambio los enlaces dinmicos, pueden ser reconfigurados mediante elementos de conmutacin activos. El espacio de las mallas de interconexin es representable mediante cuatro conjuntos de caractersticas de diseo:
[modo de operacin]x[estrategia de control]x[metodologa de conmutacin]x[topologa de la red]

No todas las combinaciones son de inters, y la seleccin de una malla particular, depende de las demandas de la aplicacin, los soportes tecnolgicos, y el costo. VII.5.1.2 - MALLAS DE INTERCONEXIN SIMD: Estas mallas de interconexin, pueden ser:

1 - de una etapa 2 - recirculantes 3 - multietapa


Adems, nos concentraremos en el primer modelo visto de comunicaciones inter-EP. VII.5.1.2.1 - MALLAS ESTTICAS Y MALLAS DINMICAS. Topolgicamente hablando, la estructura de un procesador matricial SIMD est caracterizada por la malla de enrutamiento de datos utilizada para la interconexin de los EP.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Formalmente, tales redes de interconexin pueden ser caracterizadas por un conjunto de funciones de enrutamiento de datos. Si identificamos las direcciones de los EP por un conjunto: S = {0,1,2,3,.....N-1} Cada funcin de enrutamiento f es una biyeccin (conexin uno a uno) de S a S. Cuando se ejecuta una funcin de enrutamiento f, por la malla de interconexin, el EP i copia el contenido de su registro Ri en el registro Rf(i) del EPf(i). Esta operacin de ruteo de datos, ocurre simultneamente en todos los EP activos. Un EP inactivo puede recibir datos de otros EP si se ejecuta la funcin de enrutamiento, pero el no puede transmitir datos. Para pasar datos entre EPs que no estn directamente conectados a la malla, deben pasar por un EP intermediario, ejecutando una secuencia de funciones de enrutamiento en la malla de interconexin. VII.5.1.2.1.1 - REDES ESTTICAS: Las topologas de las mallas estticas pueden ser clasificadas en acuerdo a las dimensiones requeridas para el trazado. En la figura VII.18, se tienen ilustradas las de una dimensin o unidimensionales, las de dos dimensiones o bidimensionales, las de tres dimensiones o tridimensionales y las hipercbicas que son las de ms de tres dimensiones. Entre las unidimensionales tenemos a la disposicin lineal, utilizada en algunos sistemas encauzados. Entre las de dos dimensiones, tenemos la disposicin en anillo, en estrella, en rbol, en matriz y en matriz sistlica. Las tridimensionales incluyen la de conexin completa, el anillo cordial, y la cbica. Las redes hipercbicas, tienen una cierta cantidad de nodos de cada dimensin, as una forma de indicarlos es diciendo cuantos nodos hay en cada esquina de un cubo, tal como el cubo de ciclo triple, de la figura VII.18.j. VII.5.1.2.1.2 - REDES DINMICAS: Consideraremos dos clases de mallas dinmicas, las monoetapa y las multietapa, que describiremos separadamente. VII.5.1.2.1.2.1 - REDES MONOETAPA: Una red monoetapa es una malla de conmutacin con N selectores de entrada (SE) y N selectores de salida (SS), tal como se muestra en la figura VII.19.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Cada SE es esencialmente un demultiplexor de 1 a D, y cada SS es un multiplexor M a 1, donde 1 < D < N; y 1 < M < N. Para establecer diferentes caminos, se debern dar diferentes datos de entrada a los selectores. Este tipo de malla, tambin es conocido como recirculante, dado que los datos deben recircular a travs de etapas de un solo nivel varias veces antes de alcanzar su terminal de destino. El nmero de recirculaciones necesarias depende de la conectividad de cada malla. En general, cuanto mayor es la conectividad del hardware, menor es el nmero de recirculaciones. La malla tipo crossbar es el caso lmite, donde hay una sola circulacin. VII.5.1.2.1.2.2 - REDES MULTIETAPA: Las redes multietapa estn formadas por varias etapas conectadas mediante conmutadores. Estas son descriptas por tres elementos que las caracterizan:

1 - la caja de llaves 2 - la topologa de la red 3 - la estructura de control


Cada caja de llaves, es un dispositivo de intercambio con dos entradas y dos salidas, tal como se indica en la figura VII.20, donde adems se indican los cuatro estados que puede asumir dicha caja de conexiones:

1 - lineal 2 - intercambio 3 - difusin superior 4 - difusin inferior


ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Cada una de las figuras correspondientes es suficientemente indicativa del significado de cada uno de los estados, al que podemos agregar el de no conexin.

Figura VII.20 Cajas de llaves. Una malla multietapa es capaz de conectar un cantidad arbitraria de terminales de entrada con una arbitraria cantidad de terminales de salida, adems pueden ser unilaterales o bilaterales. Las redes unilaterales, tienen sus puertos de E/S del mismo lado. Las bilaterales en cambio, tienen un lado de entrada y otro de salida y adems pueden ser divididas en tres clases:

1 - de bloqueo 2 - reconfigurable 3 - de no bloqueo


Las primeras se caracterizan por cuanto la conexin simultnea de ms de un par de terminales puede dar lugar a conflictos en el uso de los lazos de conexin. Ejemplos de este tipo de redes de bloqueo son: el manipulador de datos, el Omega, el flip, cubo-n, y la lnea base. Algunas de stas se incluyen en la figura VII.21.a. Se dice que una red es reconfigurable cuando puede llevar a cabo todas las conexiones posibles entre entradas y salidas, mediante la reconfiguracin de sus conexiones. En la figura VII.21.b, se muestra la red de Benes, que es perteneciente a sta clase.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Una malla que puede manejar todas las conexiones posibles sin bloquearse, es denominada red no bloqueante o de no bloqueo, de las cuales se han estudiado dos tipos, la red de Clos y la red Crossbar. La primera se muestra en la figura VII.21.c. VII.5.2 - PROCESAMIENTO MATRICIAL ASOCIATIVO: En este caso, en vez de utilizar memorias convencionales de acceso aleatorio, se construye la mquina teniendo como base un sistema de "memoria asociativa". La principal diferencia entre una RAM y una MA (memoria asociativa), es que su contenido es direccionable mediante el acceso paralelo a cierta cantidad de palabras a la vez, en vez que necesitar una secuencia de direcciones para acceder a cada una de las palabras. De esta forma se logra un gran impacto sobre la arquitectura de los procesadores asociativos, que son una clase especial de procesadores SIMD matriciales. VII.5.2.1 - ORGANIZACIONES DE MEMORIA ASOCIATIVA: Los datos almacenados en una memoria asociativa, son direccionados por su contenido, dicho de otra manera, los datos son buscados por su significado. Estas memorias tambin han sido denominadas: direccionables por su contenido, de bsqueda paralela, o multiacceso. Su principal ventaja frente a las RAM convencionales, es la capacidad de realizar bsquedas y comparaciones en paralelo, lo cual es muy til en sistemas de bases de datos de rpida variacin, tales como procesamiento de imgenes, seguimiento de seales de radar, visin de computadora e inteligencia artificial. Lgicamente, ello se consigue con el agregado de una gran cantidad de hardware, y por ende un costo mucho ms elevado que el de una RAM convencional. La estructura bsica de una MA es indicada en la figura VII.22, donde vemos que la matriz de memoria asociativa consta de n palabras de m bits cada una. Cada celda de bit en la matriz nxm, es un multivibrador asociado a una lgica de comparacin, que permite la comparacin del contenido con alguna configuracin de bits de bsqueda, y un control de lectura/escritura. Una tajada de bit (bit slice) es una columna de celdas de bit, correspondientes a la misma posicin de todas las palabras. Cada celda de bit puede ser accedida para escritura o lectura, o comparada con una seal externa de interrogacin. La operacin de bsqueda en paralelo incluye comparacin y enmascarado, siendo ejecutada de acuerdo a la organizacin de la MA. Existe adems una cierta cantidad de registros y contadores.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

El registro comparando, es utilizado para contener el operando clave, que est siendo comparado con el contenido de todas las palabras de la memoria, para buscar la/s palabra/s indicada/s. El registro de enmascaramiento, es utilizado para inhabilitar o habilitar los bits involucrados en la bsqueda paralela en todas las palabras de la memoria. El registro indicador (I), y uno o mas de los registros temporarios (T), se utilizan para contener los esquemas de comparacin actual y previo, respectivamente. Cada uno de estos registros puede ser seteado, reseteado o cargado desde una fuente externa, con cualquier patrn binario. Los contadores son utilizados para el rastreo de los valores de ndice de la matriz. Como ejemplo, consideremos una base de datos para alumnos, en la cual se indican el nombre, el sexo, la carrera, la edad, y el curso al cual pertenecen. Esta es indicada en la figura VII.23. En la misma, se desea buscar a todos los que tienen una edad comprendida entre los 21 y los 31 aos.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Para esto son necesarios dos patrones de bsqueda, uno para averiguar los que son mayores de 21 aos, y otro para los menores de 31. Despus de la primera bsqueda, en el registro indicador quedarn marcados con un "1" los mayores de 21. Luego se carga el segundo patrn, como nueva clave de bsqueda, y se pasa el contenido del registro I al registro T, y al final de la nueva comparacin, el registro I contendr un "1" por cada estudiante menor de 31 aos. Para determinar quienes son los comprendidos entre las dos edades indicadas, se hace un AND entre ambos registros, quedando as solamente los que cumplen con ambas condiciones. Es obvio que el registro de enmascaramiento solo permitir el acceso a la informacin de edad. VII.6 - ARQUITECTURAS MULTIPROCESADORES: Los multiprocesadores pueden ser groseramente caracterizados por dos atributos: 1 - Un multiprocesador es una computadora formada por muchos procesadores. 2 - Los procesadores pueden comunicarse y cooperar entre ellos a diferentes niveles, para resolver un dado problema. Esta comunicacin puede hacerse mediante mensajes entre ellos o mediante una memoria compartida.
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Hay algunas similitudes entre los sistemas multiprocesadores y los multicomputadores, dado que ambos han sido motivados por el mismo objetivo, la realizacin de operaciones concurrentes. Sin embargo, hay una diferencia importante entre ellos, fundada en la cantidad de recursos compartidos y la cooperacin en la resolucin de un problema. Un sistema multicomputadora, consiste en varias computadoras autnomas que pueden o no comunicarse entre ellas. Un sistema multiprocesador es controlado por un sistema operativo que provee interaccin entre los procesadores y sus programas, en los niveles de procesos, conjunto de datos y datos. Existen dos modelos arquitecturales de los sistemas multiprocesador:

1 - El levemente acoplado. 2 - El fuertemente acoplado.


VII.6.1 - MULTIPROCESADORES LEVEMENTE ACOPLADOS: En estos sistemas, cada procesador tiene un conjunto de dispositivos de entrada/salida y una gran memoria local, donde obtienen la mayora de sus instrucciones y datos. Nos referiremos al procesador, a su memoria y a sus dispositivos de E/S como un "mdulo computador". Los procesos que se ejecutan en diferentes mdulos computadores, se comunican mediante el intercambio de mensajes a travs de un sistema de transferencia de mensajes (STM). El grado de acoplamiento, o sea la interaccin procesador-procesador, en estos sistemas es muy pobre, tanto que a veces se los conoce como "sistemas de procesamiento distribuido", aunque en realidad, el trmino procesamiento distribuido se aplica al procesamiento de un problema y sus partes en diferentes computadores, interconectados de alguna manera. En la figura VII.24, se indica la conformacin de un mdulo computador y del sistema de conexin entre ellos. En la interfase de cada mdulo, hay un conmutador de arbitraje y un canal. El canal es un dispositivo particular de E/S, mientras que la llave de arbitraje es la que permite la conexin con el STM de acuerdo con los requerimientos que se establezcan para evitar colisiones.

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Un ejemplo actual de este tipo de computadores, ests dado por el IBM SP2, el trmino SP significa Scalable Processor, o sea que es ampliable en todo sentido, en componentes y en velocidad, cuenta con hasta 512 nodos de procesamiento, los cuales pueden ser de tres tipos:

- Nodo Pequeo - Nodo Pequeo 2 - Nodo Grande (o amplio)


El formato de cada nodo es el indicado en la figura VII.25, y los valores que corresponden a cada nodo en la tabla siguiente: NODO PEQUEO PEQUEO 2 GRANDE BUS DE MEMORIA 64 BITS 128 BITS 256 BITS MEMORIA 64 512 MB 64 512 MB 64 - 2040 MB CACH DE DATOS 64 KB 128 KB 256 KB CACH NIVEL 2 0 1 MB 0-128 MB 10 MB

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Bus de Instrucciones (32 bits)

Controlador de Bifurcaciones y Cach (128 kbytes)

Dos Unidades de Enteros y Administrador de Memoria 32 bits c/u

Dos Unidades de Punto Flotante NGyNP2 128 bits c/u N P 64 bits c/u

Microcanal

Cach de Datos Bus de I/O del sistema 64 bits

Bus de Memoria Memoria

Cachde denivel nivel22 C Cach

Figura VII.25 - Esquema lgico de los nodos del IBM SP2. VII.6.2 - MODELO FUERTEMENTE ACOPLADO. En el modelo fuertemente acoplado, los procesadores se comunican por medio de una memoria compartida, con lo cual la velocidad a la que se transfieren datos es del orden del ancho de banda de la memoria. Cada procesador puede tener asimismo una pequea cach o memoria local de alta velocidad, existiendo una total conectividad entre procesadores y memoria, la que puede ser implementada por una malla de interconexin o por una memoria multipuerto. La limitacin ms importante de este tipo de computadores, es la degradacin que sufre el rendimiento por los mltiples accesos a memoria necesarios para la comunicacin. Los multiprocesadores fuertemente acoplados, tienen un modelo tal como el expuesto en la figura VII.26, donde se tiene un conjunto de N procesadores, L mdulos de memoria y varios canales de E/S, conectados mediante un conjunto de tres mallas de interconexin:

1 - La red de conexin procesador-memoria 2 - La red de conexin procesador-E/S 3 - La red de conexin para interrupcin entre procesadores.
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

La primera es un sistema de conmutacin que conecta a cualquier procesador con cualquier mdulo de memoria, normalmente es un conmutador crossbar. La red de conexin procesador-E/S permite a un procesador cualquiera conectarse con uno de los dispositivos perifricos. Esta tambin es normalmente una red crossbar. Finalmente, la red interprocesadores, permite que cualquiera de ellos interrumpa a cualquier otro a fin de o bien transferirle datos, o informacin de estado. En este ltimo caso, la informacin puede ser la de mal funcionamiento, solicitando as su reemplazo. VII.6.3 - REDES DE INTERCONEXIN: La caracterstica principal de un sistema multiprocesador, es la habilidad, que cada procesador posee para compartir un conjunto de mdulos de memoria y de dispositivos de E/S. Esta capacidad es dada por la malla de interconexin que liga a cada uno de ellos. VII.6.3.1 - BUSES COMUNES EN TIEMPO COMPARTIDO: Es la forma de interconexin ms simple, cuyo esquema se indica en la figura VII.27. Esta organizacin es la mas simple y la ms fcil de reconfigurar. Adems, casi siempre es una malla totalmente pasiva, lo cual la hace al mismo tiempo la ms econmica. De cualquier manera, se deben complicar los distintos mdulos para que ellos puedan realizar transferencias sin interferencias y sin conflictos. El sistema de arbitraje centralizado, si bien simplifica la resolucin de conflictos, puede tener efectos negativos sobre la confiabilidad y flexibilidad del sistema. De cualquier modo, este sistema no es utilizado en aquellos multiprocesadores de alto rendimiento, por cuanto su desempeo es generalmente muy pobre, al permitir la conexin de solo dos mdulos por vez. Si bien es posible utilizar algn medio para difundir valores de datos o instrucciones, el mismo no es prctico cuando la cantidad de procesadores es relativamente elevada. Una extensin del sistema, que mejora en algo su rendimiento, es la ubicar dos buses unidireccionales, lo cual se indica en la figura VII.28, que si bien alivia algunos problemas, no los evita completamente, dado que hay transferencias simples que requieren el uso simultneo de ambos buses. El prximo paso, es la utilizacin de un sistema multibuses, en el cual estos se convierten en sistemas activos, con un conmutador en cada conexin. Si bien el mtodo es un poco ms complejo que los anterior, su costo es mucho mayor. Adems, dado que siempre un bus sirve solo para la interconexin de dos elementos, su aplicacin se reduce a pequeos sistemas, con pocos mdulos conectados.
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

En esta disposicin es donde se deben aplicar aquellos mtodos de arbitraje vistos en el captulo III.

Figura VII.26 Configuracin multiprocesador fuertemente acoplado.

VII.6.3.2 - CONMUTADOR CROSSBAR Y MEMORIAS MULTIPUERTO: Si se aumenta la cantidad de buses, es posible llegar al extremo de tener uno por cada mdulo, tal como se indica en la figura VII.29, si adems se instala un conmutador en cada cruce, con la estructura mostrada en la figura VII.30, tendremos un conmutador Crossbar del tipo que hace al sistema no bloqueable.
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Figura VII.29 Sistema multiprocesador con red Crossbar. El sistema crossbar (que significa barras cruzadas) provee una conectividad completa, dado que cada mdulo de memoria puede comunicarse con cada procesador, sin que pueda haber interferencia, si la comunicacin es uno a uno. Adems de la forma indicada es posible tener mltiples comunicaciones simultneas, siempre por pares. El conmutador indicado en la figura VII.30, va directamente conectado a los mdulos de memoria, por lo que el mismo trata los pedidos, y fija las opciones de acceso, que pueden estar dispuestas segn prioridades. De forma similar se puede actuar con las restantes mallas de conmutacin, en especial las que conectan los procesadores con los mdulos de E/S, en una disposicin tal como la mostrada en la figura VII.31.
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

Figura VII.31 - Mallas de interconexin crossbar para procesadores memoria y procesadores - entrada salida y perifricos. De cualquier manera, si bien el sistema crossbar, es el ms flexible y el que ofrece el mayor ancho de banda, es tambin muy caro, por lo que puede no ser adecuado para grandes sistemas. Tengamos en cuenta que el costo depende de la cantidad de nodos, o sea de conmutadores. En estos casos, a veces es preferible sacrificar algo de flexibilidad, por lo que pueden disponerse memorias multipuerto, tal como se indica en la figura VII.32. Este sistema que es apto tanto para sistemas monoprocesadores como multiprocesadores, tiene la cualidad de resolver muchos de los conflictos que se presentan en los accesos a memoria, para lo cual se dispone de un sistema de prioridades permanente asignadas a cada puerto.
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

P0

P1

M0

M1

M2

M3

E/S0

E/S1

Figura VII.32 Organizacin de memora multipunto sin prioridades. El sistema puede ser configurado segn las necesidades de cada instalacin, para que provea las adecuadas prioridades de acceso a cada unidad funcional, tal como se muestra en la figura VII.33. Excepto por esa prioridad asociada a cada puerto, los dos son idnticos.
P0 P1

0 M0 2

0 M1

1 M2

1 M3

E/S0

E/S1

Figura VII.33 Organizacin con memorias multipunto, con prioridades.

Otra de las posibilidades que ofrece este sistema, es la asignacin de porciones de los mdulos para que sean exclusivas de ciertos procesadores, unidades de E/S o cualquier combinacin.
ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

As es que, segn se observa, en la figura VII.34, donde los mdulos de memoria M0 y M3 son de uso privado de los procesadores P0 y P1 respectivamente. Este tipo de organizacin puede tener muchas ventajas mejorando la proteccin contra accesos no autorizados, y puede permitir el almacenamiento de rutinas de recuperacin, en reas de memoria no susceptibles de modificacin por el acceso de otros procesadores, sien embargo, esto tambin tiene serias desventajas para la recuperacin del sistema, si el otro procesador no es capaz de acceder a la informacin de estados y al control, en un bloque de memoria perteneciente a un procesador en falla.

P0

P1

M0

M1

M2

M3

E/S0

E/S1

Figura VII.34 Organizacin con mdulos de memoria privados. VII.7 - COMPUTADORES DE FLUJO DE DATOS: Las computadoras de flujo de datos estn basadas en el concepto de la computacin "conducida por datos", la cual difiere drsticamente del modelo de Von Neumann. Jack Dennis, investigador del MIT, en le ao 1979 identific las tres propiedades que permitiran el desarrollo de una arquitectura ideal para las computadoras:

1 - Alcanzar elevadas performances con mnimo costo. 2 - Igualar la relacin con el avance tecnolgico 3 - Ofrecer la mejor programabilidad en las reas de aplicacin.
El modelo de flujo de datos, parece satisfacer estas demandas, mientras que la microelectrnica VHSI y SHSI parecen estar proveyendo las bases tecnolgicas para el desarrollo de estas mquinas
ING. C. PALLY. C.

You might also like