Escolar Documentos
Profissional Documentos
Cultura Documentos
ARQUITECTURA DE COMPUTADORAS
CAPITULO VII
COMPUTADORAS
PARALELO
AO 2014
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.
- 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.
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)
Bm= W
tm
(palabras/segundo)
Donde:
Bp
Donde:
O
tp
(Operaciones/segundo)
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).
10
11
12
13
inst.
UP
datos
MM
14
15
Pa
En general, es:
i=1 P
Pa P
Pa
P =
i1 P
T.P
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:
16
17
18
19
20
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
22
23
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.
24
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,
25
26
27
1 - Las memorias locales adjuntas a los EP, ahora son reemplazados por
mdulos de memoria compartidos por todos ellos, mediante una malla de
alineamiento.
28
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.
29
30
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]
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.
31
32
33
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
34
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
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.
36
37
38
39
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.
40
41
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.
43
44
P0
45
P1
M0
M1
M2
M3
E/S0
E/S1
P1
1
M0
M1
3
E/S0
M2
2
0
M3
E/S1
46
P0
M0
P1
M1
M2
E/S0
M3
E/S1
47
c ij a ik .b kj
k1
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.
48
49
Figura VII.36 - Matriz sistlica para calcular el producto de dos matrices banda.