Você está na página 1de 49

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

ARQUITECTURA DE COMPUTADORAS

CAPITULO VII

COMPUTADORAS
PARALELO

AO 2014

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

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 10 12 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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

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
operativos para tal objetivo, y terminando con la construccin de sistemas con
organizaciones que permitan la realizacin de tareas simultneas.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

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.
Por otra parte, tambin se utilizan sistemas encauzados, no solo para las
instrucciones, sino tambin en la ALU, tal como veremos ms adelante.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

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.

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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

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

(palabras/segundo)

Donde:

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.
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).

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

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.
-

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

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

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 nuevos conceptos de la 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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

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

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

10

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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

11

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

12

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)

VII.3.1 - MULTIPLICIDAD DE FLUJOS DE INSTRUCCIONES Y DE DATOS:

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

13

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.
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

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

14

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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

15

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:

i=1 P

Pa P

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 =

i1 P

T.P

Si la capacidad de un procesador es utilizada a pleno, o sea que es explotado


plenamente el paralelismo, tendremos que:
para cualquier i, y entonces,
i
lo que significa en porcentaje el
100%.

P P

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:

- 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).

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

16

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)
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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

17

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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

18

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
etapas. El ASC tiene cuatro cauces multifuncionales, los que son reconfigurables para
realizar una amplia variedad de funciones lgicas y aritmticas en distintos tiempos.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

19

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

20

VII.4.2.2 - CAUCES ESTTICOS Y DINMICOS:


Un cauce esttico, solo puede asumir una configuracin funcional por vez,
adems pueden ser unifuncionales o multifuncionales. El encauzamiento puede ser

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

21

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.

+
P11

a5b5
P10

a5b4
a4b5
P9

a5b3
a4b4
a3b5
P8

a5b2
a4b3
a3b
a2b5
P7

a5b1
a4b2
a3b3
a2b4
a1b5
P6

a5
b5
a5b0
a4b1
a3b2
a2b3
a1b4
a0b5
P5

a4
b4
a4b0
a3b1
a2b2
a1b3
a0b4

a3
b3
a3b0
a2b1
a1b2
a0b3

a2
b2
a2b0
a1b1
a0b2

a1
b1
a1b0
a0b1

a0
b0
a0bo

P4

P3

P2

P1

P0

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

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


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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

VII.5 - CARACTERSTICAS DEL PROCESAMIENTO VECTORIAL

22

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

23

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:

f1 : V V
f2 : V E
f3 : V V V
f4 : 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
Nemotecnica
Descripcin
Expresin
f1
VSQR
Raz Cuadrada Vectorial
B(I) A(I)
VSIN
Vector Seno
B(I) sinA(I)
VCOM
Complemento Vectorial
A(I) A(I)
f2

f3

VSUM

Sumatoria Vectorial

VMAX

Vector Mximo

VADD
VMPY
VAND
VLAR
VTGE

Suma de vectores
Multiplicacin de vectores
And de vectores
Vector mayor
Prueba > vectorial

S A(I)
I1

S max I1;n AI
CI AI BI
CI AI BI
CI AIandBI
CI maxAI, BI

CI 0, siAI BI
CI 1, siAI BI

f4

SADD
Suma de Vector y Escalar
BI S AI
SDIV
Divisn de Vector y Escalar BI AI S
Es posible emplear algunas instrucciones especiales para el trabajo con
vectores, por ejemplo:
- 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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

24

- 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:

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

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

25

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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

26

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 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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

27

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:

1 - Las memorias locales adjuntas a los EP, ahora son reemplazados por
mdulos de memoria compartidos por todos ellos, mediante una malla de
alineamiento.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

28

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
multiprocesamiento en 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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

29

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.
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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

30

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.
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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

31

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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

32

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

33

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

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

34

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.
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

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

35

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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

36

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

37

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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

38

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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

39

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.
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 procesadorprocesador, 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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

40

Figura VII 24 Sistema levemente acoplado.


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.25, 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

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

41

2 - La red de conexin procesador-E/S


3 - La red de conexin para interrupcin entre
procesadores.
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.26. 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.27, 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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

42

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.
En esta disposicin es donde se deben aplicar aquellos mtodos de
arbitraje vistos en el captulo III.

Figura VII.25 Configuracin multiprocesador fuertemente acoplado.

Figura VII.26 Configuracin multiprocesadores a bus nico.


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

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

43

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.

Figura VII.27 Sistema multiprocesador con buses ndireccionale.

Figura VII.28 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.29, 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.30.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

44

Figura VII.29 Estructura funcional de un punto de cruce en una red


crossbar.

Figura VII.30 - 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.31. 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.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

P0

45

P1

M0

M1

M2

M3

E/S0

E/S1

Figura VII.31 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.32. Excepto por esa prioridad asociada a cada puerto, los dos
son idnticos.
P0

P1

1
M0

M1
3

E/S0

M2
2

0
M3

E/S1

Figura VII.32 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.
As es que, segn se observa, en la figura VII.33, donde los mdulos
de memoria M0 y M3 son de uso privado de los procesadores P0 y P1 respectivamente.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

46

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

M0

P1

M1

M2

E/S0

M3

E/S1

Figura VII.33 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.
VII.8 - LA ARQUITECTURA MATRICIAL SISTLICA:
Este tipo de arquitecturas son el prototipo de lo establecido en los
incisos anteriores, utilizando estructuras paralelo donde cada EP solo se conecta con sus

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

47

vecinos. El concepto de matriz sistlica, ha sido desarrollado por Kung y asociados en la


Universidad Carnegie Mellon, mientras que se han realizado luego varias
implementaciones tanto en otras universidades, como en organizaciones industriales.
Un sistema sistlico consiste de una cierta cantidad de celdas
interconectadas, cada una de las cuales es capaz de llevar a cabo una operacin sencilla.
En la figura VII.34, se ilustra un sencillo ejemplo, en el cual se reemplaza un elemento de
procesamiento por un conjunto de ellos dispuestos en cascada como en un cauce.
La parte fundamental, es la de asegurar que en cada pulso de reloj,
los resultados de un EP sean llevados al siguiente, y que ellos sean todo lo necesario para
efectuar su clculo.

Figura VII.34 Concepto de procesador sistlico.


Existe una cierta cantidad de algoritmos que son pasibles de
implementacin en sistemas parecidos, casi todos ellos de tipo aritmtico. Consideremos
el caso de la multiplicacin de dos matrices banda tales como las indicadas en la figura
VII.36.a.
Sabemos que el producto es una tercera matriz cuyos elementos son
calculados mediante la expresin:

c ij a ik .b kj
k1

donde n es dimensin comn de ambas matrices A y B.


Cada EP tiene tres entradas y tres salidas, siendo las primeras a, b y
c, donde a y b son los elementos de las matrices A y B, correspondientes, mientras que c
es parte del clculo anteriormente hecho, segn la relacin:

c salida
c entrada
a ik .b kj
ij
ij
Al comienzo se hace: Cij = 0 , y all se tiene el primer elemento de la matriz
resultado.
Las salidas sern nuevamente a, b y c indicado como de salida, los
que son utilizados en EP prximos, segn se indica en la figura VII.36.b.
En cada pulso de reloj, se alimenta un nuevo nivel de datos en la
malla, y se tiene una salida en el lado c, todo opera como en el caso de la sstole del
corazn, que empuja la sangre en cada latido.

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

Otras formas de matrices sistlicas pueden verse en la figura VII.35.

Figura VII.35 Diversas configuraciones de matrices sistlicas.

48

Celeste DInca - Arquitectura de Computadoras - Capitulo 7 - Pgina

49

Figura VII.36 - Matriz sistlica para calcular el producto de dos matrices banda.

Você também pode gostar