UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

MAQUINAS Y COMPUTADORAS

COMPUTADORAS PARALELO

AÑO 2013

ING. C. PALLY. C.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO

E.P. INGENIERIA ELECTRONICA _ 2013

IX - INTRODUCCIÓN: La tendencia actual para alcanzar grandes velocidades y capacidades de elaboración de datos, que son necesarias para el llamado procesamiento de inteligencia, es la disponer varios procesadores en paralelo, actuando simultáneamente. Las ventajas de estos sistemas son notables, por cuanto hacen uso de procesadores estándar para alcanzar enormes velocidades de cálculo, 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 evolución 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 - Multiprogramación: 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 están cargados en la memoria, y se asigna un tiempo de ejecución para cada uno, en forma tal que parecen ejecutarse todos simultáneamente. 4 - Multiprocesamiento: En este caso se disponen varias unidades de procesamiento, en forma tal que operan simultáneamente sobre varios programas. También, desde el punto de vista de la arquitectura, se han tenido niveles de sofisticación crecientes, que podemos sintetizar en: 1 - Procesamiento de datos: es el tipo de procesamiento que mayormente se emplea aún actualmente, pues consiste en operar sobre datos alfanuméricos no relacionados 2 - Procesamiento de información: La información consiste en un cúmulo de datos, que están de alguna manera ligados mediante una estructura sintáctica o una relación espacial cualquiera. 3 - Procesamiento de conocimientos: El conocimiento, es una forma de información más algún significado semántico, o sea que forman un sub-espacio de la información. 4 - Procesamiento de inteligencia: La inteligencia, es derivada de una colección 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 cálculo 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 simultáneos 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 más elevado del procesamiento paralelo es el de llevar a cabo múltiples tareas mediante sistemas de multiprogramación, tiempo compartido y multiprocesamiento, por lo que, resumiendo, el procesamiento paralelo es un desafío que puede ser abordado desde cuatro niveles:

- de programación (Algoritmos) - de procedimientos (Interacción hard-soft) - de interisntrucciones (Interacción 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 construcción de sistemas con organizaciones que permitan la realización de tareas simultáneas. 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 máquinas, interconectadas de alguna manera, para la realización 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 lógica y aritmética, una unidad de entrada y salida, una unidad de memoria y una unidad de control, de las cuales hemos citado múltiples ejemplos, que por lo tanto no repetiremos aquí. VII.1.1 - MECANISMOS DE PROCESAMIENTO PARALELO: Según vimos, se han desarrollado una gran cantidad de mecanismos para la realización de algunas tareas en paralelo, los que pueden ser catalogados en seis categorías:

- Multiplicidad de unidades funcionales - Paralelismo y encauzamiento en la CPU - Solapamiento de las operaciones de E/S y de la CPU. - Uso de sistemas jerárquicos de memoria - Balanceo de los anchos de banda de los subsistemas - Multiprogramación 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 estándar más 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 cálculo para enteros, y una para números en coma flotante. En el caso del Power PC 620, ver figura VIII.20, tenemos tres Unidades Lógicas y Aritméticas para enteros y una para coma flotante. Existen otros ejemplos que hacen uso de múltiples módulos 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: Prácticamente todas las ALU actuales poseen algún tipo de sumador paralelo con anticipo del arrastre, además de realizar varias operaciones en paralelo, por tener varias unidades de cálculo, tal como en el Pentium y en el Power PC.

ING. C. PALLY. C.

INGENIERIA ELECTRONICA _ 2013 Por otra parte. por tanto.4 .3 .1. C. el uso de memorias jerárquicas permite. también se utilizan sistemas encauzados. Esto fue indicado en el capítulo V. VII. que es posible utilizar métodos de E/S que no afecten el funcionamiento de la CPU. .SOLAPAMIENTO DE LAS OPERACIONES DE E/S Y DE LA CPU: También vimos en capítulos anteriores. tal como veremos más adelante. tal es el caso de las operaciones de E/S por interrupción y por uso del DMA. C. VII.USO DE SISTEMAS JERÁRQUICOS DE MEMORIA: Recordemos que las CPU son mucho más veloces (mas de 100 veces) que las memorias. mediante la transferencia de diferentes cantidades de datos. sino también en la ALU. tratar de acercarse a esa gran velocidad.1.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. ING. correspondiente a la unidad de memoria.1. no solo para las instrucciones.P. PALLY.1.

C. diremos: Bp Donde: O tp (Operaciones/segundo) Bp = ancho de banda del procesador O = cantidad de operaciones tp = tiempo total para realizar la operación.5 – BALANCE O EQUILIBRADO DE LOS ANCHOS DE BANDA: En general. ING. y finalmente la memoria masiva. o externa). En nuestro caso serán bits. que el mayor corresponde a la CPU. el ancho de banda es la cantidad de Bytes o de bits que puede transferir en cada ciclo de memoria. En realidad.MIPS (Mega Instrucciones por segundo) En general. podemos decir sobre los anchos de banda. 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. . le sigue la memoria central (incluyendo cache.1.1. Así es posible decir que: B Donde: W t B es el ancho de banda W es la cantidad de información (palabras / bits / bytes) t es la unidad de tiempo considerada (segundos) Cuando hablamos de la memoria. INGENIERIA ELECTRONICA _ 2013 VII.MEGAFLOPS (Mega Operaciones en coma flotante por segundo) . se mide en: . PALLY. Bytes. o palabras por segundo. por lo que podemos escribir: Bm  Bp  Bd Donde el último término corresponde al ancho de banda de los dispositivos externos de almacenamiento.P. es conocido como ancho de banda a la cantidad de información que es posible transferir u operar en una unidad de tiempo. si la hay). C. la velocidad de cálculo de la CPU.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E.

Resumiendo. En la figura VII. el primer programa puede dar sus salidas. permite la utilización de tiempos muertos en algunas de las unidades. en forma tal que cada uno de ellos hace uso de la CPU un cierto tiempo. por lotes. podemos dividirlas en tres configuraciones arquitectónicas.1. donde se observa lo antedicho. se utiliza el sistema jerárquico. mientras que el segundo es ejecutado. ING. PALLY.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. . C.P. sin necesitar de la unidad de E/S. donde se cambia tiempo por cantidad. que siempre es menor al calculado anteriormente.2 . o dicho de otra manera. El procesamiento multiprogramado. C. VII. y esperar a que se desocupe la CPU. entre la memoria central y la caché se transfieren bloques de datos. si hay dos programas cargados en memoria. Para el equilibrado de los anchos de banda entre la CPU y la memoria. y entre la caché y la CPU se transfieren unidades de datos (palabras). y uno de ellos hace uso de la CPU.3. En el tiempo compartido en cambio. el uso de las diferentes unidades es repartido entre los programas. por ejemplo.ESTRUCTURAS DE COMPUTADORAS PARALELO: Los computadores paralelo son aquellos sistemas que enfatizan el procesamiento paralelo. INGENIERIA ELECTRONICA _ 2013 Es interesante considerar los efectos de las demoras existentes en las transferencias de datos.6 .MULTIPROGRAMACIÓN Y TIEMPO COMPARTIDO: Estas son dos formas de procesamiento que permiten cierto paralelismo en la ejecución de programas en sistemas monoprocesadores. cuando ello ocurre. Para el equilibrado de los anchos de banda entre la memoria y los dispositivos de almacenamiento masivo. tenemos lo indicado en la figura VII. Figura VII.1. el segundo programa puede hacer uso de ésta. y de acuerdo a los desarrollos realizados. y la común.3 – Equilibrado de los anchos de banda. para lo cual definiremos el llamado ancho de banda útil.4 se tiene un diagrama comparativo entre estas dos formas de operación. es posible utilizar una mayor cantidad de éstos. VII.

con recursos distribuidos. PALLY. INGENIERIA ELECTRONICA _ 2013 - Computadores Encauzados: son los que llevan a cabo tareas solapadas. Estos cauces son extensibles a la ULA. .Procesadores algorítmicos VLSI: generan algoritmos mediante hardware.Procesadores multirruta: denominados “multithread” en inglés.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. no son excluyentes entre ellos. según veremos más adelante. También es posible introducir tres computación: . mediante un conjunto de procesadores interactivos.Procesadores Matriciales: son los que utilizan diversas ALU sincronizadas.P. pueden operar asincrónicamente.Sistemas Multiprocesadores: es el que alcanza un paralelismo asincrónico. no a la secuencia de instrucciones. el matricial o el multiprocesador. y que su vez cada cascada está en paralelo con otra u otras. . . C. mientras que en el segundo. por lo que usan un paralelismo espacial. VII. C.COMPUTADORAS ENCAUZADAS: Ya hemos visto en capítulos anteriores a los computadores que tienen cauces de instrucciones.Computadores de Flujo de Datos: operan en base a los datos.1 . La diferencia fundamental entre ambos. Estos tres conceptos de paralelismo. y además pueden tener estructuras matriciales o multiprocesadores. por lo que explota el paralelismo temporal. nuevos conceptos de la ING. . sino que casi todas las computadoras actuales tienen cauces.2. los cuales operan en base a una cierta cantidad de procesadores conectados en cascada. aún varios en paralelo (superencauzadas y superescalares). . en que en el primero los elementos de proceso deben actuar sincrónicamente.

C. Cada uno de los EP opera sincrónicamente con los demás. Una estructura funcional típica de este tipo de computadores se indica en la figura VII. . La unidad de control se encarga de la elaboración de las instrucciones y del envío de las órdenes a todos los EP.2.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. es una computadora paralelo sincrónica con múltiples unidades lógicas y aritméticas. Mediante replicación de EP es posible lograr el llamado paralelismo espacial. INGENIERIA ELECTRONICA _ 2013 VII. llevando a cabo la misma función en el mismo tiempo. PALLY. para ello tiene un procesador de control CP y una ING.COMPUTADORES MATRICIALES: Un procesador matricial.P. también conocidas como elementos de procesamiento (EP). C.2 . que pueden operar en paralelo.5.

Malla de conmutación tipo crossbar . INGENIERIA ELECTRONICA _ 2013 memoria de control CM. además del procesador poseen una memoria para los datos. de la cual se han utilizado al presente tres modelos: . ING. primariamente.6.Memorias multipuerto. varios canales de E/S. Lo más importante es que todo el conjunto puede ser controlado por un sistema operativo integrado. es configurable por el control en forma tal de disponer espacialmente los EP a fin de resolver un dado problema.3 . por la estructura de interconexión utilizada entre memorias y procesadores. Los elementos de procesamiento a su vez. La intercomunicación entre procesadores puede ser a través de las memorias compartidas o por medio de una malla conmutada.Bus común de tiempo compartido .SISTEMAS MULTIPROCESADORES: La organización básica de un multiprocesador es la indicada en la figura VII. VII.2. además se encarga del encaminamiento de los datos. C. Todos los procesadores comparten el acceso a varios módulos de memoria. que provee interacción entre los procesadores y sus programas en varios niveles. La malla de conexión inter-EP. El sistema contiene dos o más procesadores de capacidades semejantes. y dispositivos periféricos. C.P. La organización del hardware es determinada.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. PALLY. . Cada procesador posee su propia memoria y puede tener sus dispositivos privados.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. . C. C. INGENIERIA ELECTRONICA _ 2013 ING. PALLY.P.

Considerando el grado de paralelismo y de encauzamiento (Händler 1977) ING.Comparando el procesamiento serie y el paralelo (Feng 1972) .3 .Teniendo en cuenta la multiplicidad de los flujos de instrucciones y de datos (Flynn 1966) .UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E.P.ESQUEMAS DE CLASIFICACIÓN DE LAS ARQUITECTURAS: Los esquemas arquitectónicos de las computadoras. INGENIERIA ELECTRONICA _ 2013 VII. PALLY. C. . . C. pueden ser clasificados de tres formas diferentes.

MULTIPLICIDAD DE FLUJOS DE INSTRUCCIONES Y DE DATOS: Dentro de este sistema de clasificación.3. y las corrientes de datos servidas por las instrucciones en cualquiera de los niveles. ING. pueden ser clasificados en éste grupo.ORGANIZACIÓN SIMD: Esta organización.1 .3 . VII.7.Simple flujo de instrucciones y multiples corrientes de datos (SIMD) .P. C.Multiple Flujo de instrucciones y simnple corriente de datos (MISD) . . donde hay n procesadores. Esta organización no ha sido estudiada.3.2 .1. representa todas las computadoras que operan actualmente en serie. INGENIERIA ELECTRONICA _ 2013 VII. C.a. cada uno de ellos recibiendo diferente instrucciones para operar sobre los mismos datos. mostrada en la figura VII. y aún varios sistemas de múltiples computadoras. PALLY. VII. y aun más algunos arquitectos de computadoras la consideran impracticable. solo se tiene en cuenta la secuencia de instrucciones realizada por la máquina.1.7.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. aún cuando posean múltiples unidades funcionales en la CPU y utilicen canales tanto de instrucciones como de operaciones. Las corrientes de datos fluyen bidireccionalmente entre los módulos de memoria y los procesadores. VII.1.b. Esto permite determinar cuatro categorías: .1.c. que consiste en una malla de procesadores controlados por una única unidad de control.Multiple flujo de instrucciones y múltiple flujo de datos (MIMD) En todos los casos las instrucciones son buscadas en los módulos de memoria.ORGANIZACIÓN MIMD: La mayoría de los sistemas multiprocesadores.1 . aunque operan sobre datos distintos. la que remite una corriente de ordenes a las unidades de procesamiento para le ejecución. por lo que todos ellos reciben las mismas órdenes. decodificadas por la unidad de control. el cual se ilustra en la figura VII. es la correspondiente a los sistemas matriciales.7.4 .3.b.ORGANIZACIÓN MISD: El concepto es ilustrado en la figura VII.Simple flujo de instrucciones y simple corriente de datos (SISD) .ORGANIZACIÓN SISD: Esta que es la mostrada en la figura VII.3. El subsistema de memoria compartida puede contener varios módulos.7.3. VII.

C. INGENIERIA ELECTRONICA _ 2013 En este caso. . instruccione s UC inst. PALLY. UP datos MM ING. C. n corrientes de datos son derivadas a m procesadores. Por tanto cada procesador ejecuta un programa distinto sobre un conjunto de datos diferentes.P. cada uno de los cuales recibiendo una de las múltiples corriente de instrucciones.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E.

2 . En la figura VII.m)] Esta cantidad de bits operados en paralelo. la cantidad de bits operados en paralelo es de 4x8 = 32 bits. o sea que es explotado plenamente el paralelismo. si una unidad tiene cuatro canales y cada uno de ellos puede operar ocho bits a la vez. Si consideramos T ciclos del procesador. C. tiene en cuenta el efecto de los canales. y entonces. . lo que significa en porcentaje el 100%. es denominado "máximo grado de paralelismo" y es identificado con P. El máximo grado de paralelismo es representado por el producto de la longitud de palabra por la cantidad de bits operados en paralelo. por un sistema de computación. C. decimos que su grado de paralelismo es: P (64.8 se indica la clasificación de Feng para varias máquinas. tendremos que: P P para cualquier i. y en cada uno de ellos la cantidad de bits operados en paralelo. o el intervalo del ciclo de reloj.P i Por lo que podemos llamar relación de utilización.P. El máximo número de dígitos binarios (bits) que pueden ser procesados en una unidad de tiempo.32).3. PALLY. dentro de T ciclos. [ P(n. del gráfico se desprende que hay cuatro tipos de métodos de procesamiento: ING. o factor de utilización de un sistema de computación. es: P  i=1 T T i Pa P P  i 1 T. La unidad de tiempo considerada debe ser el intervalo de reloj. el grado promedio de paralelismo es: Pa En general. INGENIERIA ELECTRONICA _ 2013 VII.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. a la relación: T i   1 Pa P = Si la capacidad de un procesador es utilizada a pleno. Si además esa máquina tiene palabras de 64 bits de longitud.PROCESAMIENTO SERIE CONTRA PROCESAMIENTO PARALELO: Tsu-yun Feng ha sugerido el uso del "grado" de paralelismo para clasificar las arquitecturas de computadoras. Podemos intuir que la relación de utilización depende del programa que está siendo ejecutado.

PARALELISMO CONTRA ENCAUZAMIENTO. son la mayoría de las existentes.m = 1. y son denominadas de procesamiento de tajada de palabra (Word Slice). por cuanto se opera el bit de una palabra por vez. Finalmente las PPBP.3.Circuitos a nivel de bits (BLC) ING. C.Palabra Paralelo y Bit Serie (PPBS) . respondiendo a un sistema mínimo (n=m=1). INGENIERIA ELECTRONICA _ 2013 . Considera el procesamiento paralelo-encauzado dentro de los subsistemas en tres niveles: . Wolfgang Händler propuso un esquema de clasificación. o sea n > 1. en las que tanto n como m son mayores que la unidad.Unidad Lógica Aritmética (ALU) . Las computadoras PPBS.Palabra Serie y Bit Paralelo (PSBP) .P.Unidad de Control del procesador (PCU) .Palabra Paralelo y Bit Paralelo (PPBP) La primera también es conocida como procesamiento bit serie. m > 1) VII.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. C. PALLY. y en ellas es n = 1. Las PSBP. (n > 1. son las de procesamiento totalmente paralelo.3 .Palabra Serie y Bit Serie (PSBS) . en el cual se identifica el grado de paralelismo y el grado de encauzamiento. dentro de las estructuras de hardware de un sistema de computación. m > 1. han sido denominadas procesamiento por tajada de bit (Bit Slice). .

D' es la cantidad de ALU’s que pueden ser encauzadas. INGENIERIA ELECTRONICA _ 2013 Las funciones de la CPU y de la ALU son bastante conocidas por nosotros. W es la longitud de palabra de una ALU . en especial para las instrucciones. Esto nos entrega: P(ASC) = (1x1. K’.33. el que se tiene en la figura VII. realizado según el diagrama de flujo mostrado en la figura IV. tales como suma y resta de cantidades en coma flotante y producto de cantidades binarias o binarias codificadas.4x1. VII. y así sucesivamente. consideremos la computadora TI-ASC (Texas Instruments Advanced Scientific Computer).10. C.11. que corresponde a la lógica combinacional necesaria para llevar a cabo operaciones de 1 bit en la ALU. D es la cantidad de ALU’s bajo control de una CPU.64x8) = (1. que controla cuatro cauces aritméticos de ocho etapas. Según Händler. la que lleva " ' ". Como puede observarse. K' es la cantidad de procesadores que pueden ser encauzados. consta de un nivel de registros seguido de una etapa de cálculo.P. Como ejemplo.CLASIFICACIÓN DE LOS PROCESADORES ENCAUZADOS: De acuerdo con los niveles de procesamiento.9. y cada uno con 64 bits de longitud de palabra.4 . un sistema de computación C. PALLY. y vale uno. o sea. En la figura VII. VII.DxD'. no así la BLC. el mismo no es escrito.4.64x8) Cuando tenemos una segunda entidad. C. se tiene la forma genérica de un cauce lineal. el ya citado Händler propuso un esquema de clasificación de los procesadores encauzados.WxW') Donde: K es la cantidad de procesadores de la computadora (PCU). en la forma que se ilustra en la figura VII. . más otro nivel de registros.1 . es caracterizado por el tríptico que contiene seis entidades independientes.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. W' es el número de etapas de los cauces de todas las ALU’s. ahora podemos ampliar el concepto a las unidades lógicas y aritméticas. ING. definido por: P(C) = (KxK'.4. en las cuales se utiliza para la realización de aquellas operaciones complejas. que tiene un controlador. podemos implementar el sumador de dos cantidades expresadas en coma flotante.SISTEMAS ENCAUZADOS: Ya vimos en el capítulo anterior los principios del encauzamiento. Como ejemplo. D’ y W’.

C. en el cual cada uno de los procesadores conforma una etapa del cauce.11.4.P.3 . al mismo tiempo o en tiempos diferentes.1.CAUCES UNIFUNCIÓN Y MULTIFUNCIÓN: Un cauce que tiene una función fija y determinada.c.CLASIFICACIÓN SEGÚN RAMAMOORTHY Y LI: Estos estudiosos de los sistemas encauzados. INGENIERIA ELECTRONICA _ 2013 VII. se tiene un cauce lineal del tipo correspondiente al de 8 etapas de la ASC.a. .2. VII. y hasta 16 del Cyber-205.1 . En la figura VII. solapando la ejecución de una con la búsqueda de la siguiente.1.2 . se muestra como actúa el cauce. según lo expuesto en el capítulo anterior.ENCAUZAMIENTO DE PROCESADORES: Esto se refiere a un sistema multiprocesadores. mediante la interconexión de diferentes subconjuntos de ING. buscando primero una instrucción.4. El primer procesador recibe los datos de la memoria. luego un dato. VII. propusieron otro tipo de clasificación basado en la configuración del cauce y sus estrategias de control. realiza su operación y devuelve el resultado a un módulo de memoria. C. tal como un sumador de coma flotante. VII.4.11. VII.b.4.1. que es accesible por el segundo procesador. puede llevar a cabo diferentes funciones.2 . y devolviendo los resultados.11. PALLY. Un cauce multifunción.CAUCES DE INSTRUCCIONES: La ejecución de una corriente de instrucciones puede ser encauzada.. es denominado cauce unifuncional. tal como se indica en la figura VII.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. el cual realiza una operación semejante. o más. etc. La Cray-1 tiene 12 cauces unifuncionales.4. cada uno para una función diversa. En la figura VII.1 . o al de hasta 14 etapas del Cray-1.CAUCES ARITMÉTICOS: La unidad lógica y aritmética puede ser segmentada para realizar operaciones encauzadas con varios formatos de datos.

los que son reconfigurables para realizar una amplia variedad de funciones lógicas y aritméticas en distintos tiempos. C. C. El ASC tiene cuatro cauces multifuncionales. . PALLY. INGENIERIA ELECTRONICA _ 2013 etapas. ING.P.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E.

UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. INGENIERIA ELECTRONICA _ 2013 VII.2. C. C.2 . PALLY.P. .CAUCES ESTÁTICOS Y DINÁMICOS: ING.4.

lo que se observa en la figura VII. es aquel diseñado especialmente para operar con instrucciones vectoriales sobre operandos vectoriales. puede ser llevada a cabo por un árbol de suma multinivel.12 . la correspondiente a la suma y la del arrastre que eventualmente puede producirse. VII. Mientras que el sumador salvador del arrastre es el que suma tres entradas. El sumador propagador del arrastre. y mecanismos de secuenciamiento mucho más sofisticados que los de un cauce estático. PALLY. 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. es realizada por la ALU mediante operaciones reiteradas de suma y desplazamiento. se permiten varias configuraciones funcionales simultáneas. bajo el control de un bucle DO.Ejemplo de multiplicación de dos cantidades binarias ING. la multiplicación de dos cantidades binarias en coma fija. que suma dos cifras binarias y da una salida. siendo su cantidad acorde con la cantidad de dígitos de los operandos.4. vemos que el proceso es equivalente a la adición de pares múltiples de multiplicandos desplazados. procesa una secuencia de operandos escalares.3 . Un cauce vectorial. los cauces de procesamiento pueden ser clasificados como escalares o como vectoriales.2. INGENIERIA ELECTRONICA _ 2013 Un cauce estático. C. es de tipo convencional.12.4.P. además pueden ser unifuncionales o multifuncionales.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. C. Un cauce escalar.CAUCES ESCALARES Y VECTORIALES: En forma dependiente de los tipos de instrucciones o de datos. VII. La configuración dinámica necesita disponer de un control. La suma de varios números. Esto hace que la operación sea muy lenta.EJEMPLO DE CAUCE ARITMÉTICO: Según vimos en los capítulos II y IV. solo puede asumir una configuración funcional por vez. . dando dos salidas. El encauzamiento puede ser realizado en estos cauces solamente cuando se ejecutan instrucciones del mismo tipo en forma continuada. Al tiempo que un cauce estático es preferentemente unifuncional. En un cauce dinámico. Examinando la forma de realizar la operación en forma manual. en consecuencia el cauce debe ser obligadamente multifuncional.3 .

P. donde se aplican los dos tipos de sumadores. C. PALLY. INGENIERIA ELECTRONICA _ 2013 El circuito resultante para el cauce de cinco etapas resultante. . C.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. y un generador de multiplicandos desplazados.13. ING. es el indicado en la figura VII.

un entero. Vector y Escalar.n A n S max I CI CI CI CI CI I AI BI A I B I A I andB I max A I . PALLY. de acuerdo a lo indicado en la figura VII. Además.CARACTERÍSTICAS DEL PROCESAMIENTO VECTORIAL Un operando vectorial contiene un conjunto ordenado de de n elementos. o sea sobre un solo elemento. INGENIERIA ELECTRONICA _ 2013 VII. donde n es la longitud del vector. mientras que en la tabla siguiente se se detallan algunas operaciones vectoriales representativas. C.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. C. B I 0. . Cada elemento del vector es una cantidad escalar. un valor lógico. Las cuatro pueden realizarse en un procesador encauzado. Tipo f1 Nemotecnica VSQR VSIN VCOM f2 VSUM VMAX f3 VADD VMPY VAND VLAR VTGE Descripción Raíz Cuadrada Vectorial Vector Seno Complemento Vectorial Sumatoria Vectorial Vector Máximo Suma de vectores Multiplicación de vectores And de vectores Vector mayor Prueba > vectorial Expresión B(I) A(I) B(I) sinA(I) A(I) A(I) S A(I) I 1 1.5 . f1 y f2 denotan operaciones unitarias. por ejemplo: ING. siA I S AI AI  S BI BI BI Es posible emplear algunas instrucciones especiales para el trabajo con vectores.14. 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 términos V y E denotan respectivamente. mientras que las restantes son binarias. o un caracter.P. que puede ser un número en coma flotante. siA I BI CI f4 SADD SDIV Suma de Vector y Escalar Divisón de Vector y Escalar 1.

. PALLY. C. tales como memorias y buses del sistema.P.Combinación: para combinar dos vectores bajo control de una máscara vectorial. . Lo dicho no es cierto para el procesamiento escalar. INGENIERIA ELECTRONICA _ 2013 . . las operaciones de máquina aptas para hacer cauces. cauce. En general. cada una de las cuales puede ser descompuesta en una serie de sub-procesos.Mascara vectorial: para habilitar o no operaciones entre componentes de una instrucción vectorial.Compresión: para acortar un vector bajo control de un vector máscara. Estas características explican porque la mayoría de los procesadores vectoriales tienen estructuras encauzadas. son las que tienen las siguientes propiedades: . .Procesos o funciones idénticas son invocados repetidamente y además reiteradamente.Los operandos son sucesivamente alimentados a segmentos de requiriendo tan pocos buffers y controles locales como sea posible. . Las instrucciones vectoriales necesitan de la realización reiterada de la misma operación sobre diferentes conjuntos de datos. .UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. o sub-funciones. Las instrucciones vectoriales son especificadas usualmente por los siguientes campos: ING. que generalmente opera sobre un par de datos únicamente. C.Vector Booleano: que puede ser generado como resultado de la comparación de dos vectores.Las operaciones ejecutadas por cauces diferentes deben ser capaces de compartir recursos caros.

y puede manejar un flujo secuencial único de instrucciones y múltiples datos flujos de datos. Normalmente se utilizan microordenes de control para disponer los recursos necesarios.El incremento de la dirección entre los elementos también debe ser especificado. la dirección base es necesaria tanto para los opeandos fuente como para los vectores resultado. se deben especificar dichos registros. En el primer caso. en la cual tanto los operandos como los resultados son dispuestos en la memoria central. 2 . según donde son buscados los operandos. de alli la denominación SIMD (Single Instruction Multiple Data).El código de operación debe contener especificaciones para que permita la selección de la unidad funcional o para que configure una unidad multifuncional. para determinar la finalización del proceso.La longitud del vector también debe ser indicada en la instrucción. INGENIERIA ELECTRONICA _ 2013 1 . l . o direccionable por el contenido. bajo supervisión de una unidad de control (UC).Arquitectura memoria a memoria. utilizan memoria asociativa. utilizan una memoria común de acceso aleatorio. en la cual los operandos y los resultados son buscados indirectamente en la memoria central mediante la utilización de una gran cantidad de registros vectoriales o escalares. C. 3 .El desplazamiento relativo de las direcciones con referencia a la dirección base.15. Para finalizar.Arquitectura registro a registro. 2 . 4 .P. C. Este computador consiste en un conjunto de elementos de procesamiento (EP). 5 . según como utilicen la memoria. PALLY.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. VII.PROCESADORES MATRICIALES SIMD: Una matriz sincrónica de procesadores paralelo conforman un procesador matricial. en el segundo. construidos con el objeto de efectuar cálculos vectoriales sobre matrices (o conjuntos ordenados) de datos. Si los operandos y los resultados son colocados en un archivo de registros vectoriales. tenemos la arquitectura típica de un procesador vectorial con múltiples cauces funcionales. a fin de que conforme la operación especificada.5 . . Es posible clasificar las computadoras vectoriales encauzadas en dos configuraciones arquitectónicas. procesadores matriciales o procesadores asociativos. también debe ser especificado.Para instrucciones con referencia a memoria. Las computadoras SIMD aparecen en dos formas arquitectónicas. ING. en la figura VII.

en una forma de paso-enganchado. Los operandos vectoriales son distribuidos a los EP antes de la ejecución en paralelo. mientras que las vectoriales son difundidas a todos los EP para su ejecución distribuida. con varios registros de trabajo y el agregado de una memoria local MEP. y corresponde a la Illiac IV (Illinois Automatic Computer. alcanzando un paralelismo espacial mediante la realización de la misma operación aritmética en todos los EP. bajo comando de la UC.ORGANIZACIÓN DE LAS COMPUTADORAS SIMD: Los computadores matriciales pueden asumir dos configuraciones levemente diferentes. que ha sido estructurada con 64 elementos de procesamiento. PALLY. la que se ilustra en la figura VII. C. cuya función es la decodificar las instrucciones y determinar donde deberá ser ejecutada. El sistema operativo y los programas de usuario se cargan en la memoria de la UC. INGENIERIA ELECTRONICA _ 2013 VII. Todos los EP llevan a cabo la misma función sincrónicamente.16. Las instrucciones escalares o de control son directamente ejecutadas dentro de la UC. C. La UC también posee una memoria para almacenar programas. Esencialmente cada EP es una unidad lógica y aritmética.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. estos datos distribuidos pueden ser cargados a ING. para el almacenamiento de datos distribuidos.5.P. modelo 4).1 . . todos bajo el control de una única unidad de control.

P. en modo de difusión. C. para lo cual está bajo control de la UC. o coprocesador. PALLY. y tiene la función del "gerenciamiento de operaciones" de todo el sistema. Las funciones de éste computador huésped. donde vemos que difiere de la anterior en dos aspectos: ING. sino solamente los necesarios. Un procesador matricial normalmente está conectado a una máquina huésped. En otras palabras. por lo que puede ser considerado como un computador adjunto. La segunda configuración posible. incluyen el manejo de recursos y la supervisión de los periféricos y los sistemas de E/S. no todos los EP deben participar en una ejecución. los cuales pueden estar activos o inactivos durante un ciclo de instrucción. INGENIERIA ELECTRONICA _ 2013 las memorias locales desde una fuente externa. Durante la ejecución es posible tener sistemas de enmascarado a fin de controlar el estado de cada uno de los EP. o desde la UC mediante el bus de control. Los intercambios de datos entre los EP es llevado a cabo por la red de interconexión inter-EP. . mediante un bus del sistema. consistente de ella y el procesador matricial.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. C.17. lo cual es definido mediante una máscara. a través de la UC. por lo que a la UC del procesador matricial le queda la supervisión de la ejecución de los programas. la cual realiza todas las funciones de ruteado y funciones de manipulación de datos. es la indicada en la figura VII. Esta computadora huésped normalmente es de propósitos generales.

Combinado De cualquier manera. 2 .5.1.1.F. en el cual se fuerza la operación paso-enganchado en todos los EP. Un buen ejemplo de esta configuración es el BSP (Burroughs Scientific Processor). Formalmente. puede ser clasificados en tres categorías: 1 . I = Conjunto de instrucciones de la máquina para operaciones escalares. F = Conjunto de funciones de interconexión realizadas por la malla de interconexión o por la malla de alineamiento. C. La primera es necesaria para establecer caminos sincrónicos tanto para la manipulación de datos como para difusión de instrucciones. PALLY.MODO DE OPERACION: Es posible identificar dos tipos de comunicaciones: la sincrónica y la asincrónica. veremos cuales son las decisiones a tomar para el diseño de mallas de conexión inter-EP. vectoriales.Las memorias locales adjuntas a los EP. la que es controlada siempre por la UC. INGENIERIA ELECTRONICA _ 2013 1 . VII.COMUNICACIONES INTER-EP: A continuación. Por otra parte. los modos típicos de operación de las mallas de interconexión. Es posible diseñar un sistema en el cual se tengan ambos tipos de funcionamiento.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. . VII.5. que posee 16 elementos de procesamiento. un computador SIMD es caracterizado por el siguiente conjunto de parámetros: C = < N. las estrategias de control.Asincrónico 3 . las metodologías de conmutación y las topologías de las mallas.1 . todas las máquinas SIMD existentes han elegido el sistema sincrónico.1 .1.Sincrónico 2 .I. La comunicación asincrónica es necesaria para el multiprocesamientoen el cual los requerimientos de interconexión son dinámicos.P.M > Donde: N = cantidad de EP del sistema. mediante una malla de alineamiento. encaminado de datos y de manipulación de la malla. enlas cuales intervienen los modos de operación. C. ING.La malla de conmutación inter-EP es reemplazada por la malla de alineamiento entre módulos de memoria. M = Conjunto de esquemas de enmascarado. ahora son reemplazados por módulos de memoria compartidos por todos ellos.

5. la conmutación de circuitos es mucho más práctica para la transmisión de grandes cantidades de datos.3 . Las funciones de interconexión son realizadas mediante el adecuando control de los elementos de conmutación. La mayoría de las máquinas SIMD existentes ha optado por la estrategia de control centralizado. Estas funciones de control pueden ser realizadas mediante un controlador central o por cada uno de los elementos de conmutación. . mientras que la conmutación de paquetes es mucho más eficiente para mensajes relativamente cortos.1. los datos son contenidos en un paquete.1. En la conmutación de paquetes. Generalmente. ING. C.2 . En el primer caso. mientras que en el segundo tendremos el control distribuido. INGENIERIA ELECTRONICA _ 2013 VII.ESTRATEGIA DE CONTROL: Una malla de interconexión es un conjunto de elementos de conmutación y enlaces para la conexión.P. VII. en el primer caso se establece un camino físico entre los dispositivos fuente y destino. C.METODOLOGÍA DE CONMUTACIÓN: Las dos principales metodologías de conmutación son la de conmutación de circuitos y la de conmutación de paquetes.5. y encaminados en la malla de interconexión sin formar un camino físico. PALLY.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E.1. tendremos el llamado control centralizado.1.

pueden ser reconfigurados mediante elementos de conmutación activos.1. depende de las demandas de la aplicación.1.2 .TOPOLOGÍA DE LA RED: Una red puede ser imaginada como un grafo. En cambio los enlaces dinámicos. Topológicamente hablando.MALLAS DE INTERCONEXIÓN SIMD: Estas mallas de interconexión. y pueden ser agrupadas en dos categorías: 1 . INGENIERIA ELECTRONICA _ 2013 Una tercera opción. VII.5. el enlace entre dos EP es pasivo y dedicado.1. . y no puede ser reconfigurado para conectar otros EP.P.Dinámicas Las estáticas. los soportes tecnológicos. la de la conmutación integrada.de una etapa 2 . C. C. y las líneas representan enlaces de comunicación. pueden ser: 1 .4 .MALLAS ESTÁTICAS Y MALLAS DINÁMICAS.1 . La mayoría de las implementaciones de máquinas SIMD utilizan la conmutación de circuitos. en el cual los nodos representan puntos de conmutación. VII.5. sería la de integrar las cualidades de cado uno de los dos métodos anteriores. mientras que la conmutación de paquetes se utiliza principalmente para transmisión de datos a gran distancia. y el costo.5. por lo que podríamos tener una tercera categoría. la estructura de un procesador matricial SIMD está caracterizada por la malla de enrutamiento de datos utilizada para la interconexión de los EP. y para las máquinas MIMD. nos concentraremos en el primer modelo visto de comunicaciones inter-EP.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. Las topologías tienden a ser regulares.recirculantes 3 . ING. El espacio de las mallas de interconexión es representable mediante cuatro conjuntos de características de diseño: [modo de operación]x[estrategia de control]x[metodología de conmutación]x[topología de la red] No todas las combinaciones son de interés. VII.2.1.Estáticas 2 .multietapa Además. y la selección de una malla particular. PALLY.

en matriz y en matriz sistólica.18.2. Entre las unidimensionales tenemos a la disposición lineal.1. C. tales redes de interconexión pueden ser caracterizadas por un conjunto de funciones de enrutamiento de datos. tienen una cierta cantidad de nodos de cada dimensión. las de dos dimensiones o bidimensionales. Las tridimensionales incluyen la de conexión completa. Entre las de dos dimensiones. VII. VII. en árbol. pero el no puede transmitir datos.2.REDES DINÁMICAS: Consideraremos dos clases de mallas dinámicas. el anillo cordial. y la cúbica. en estrella.19.P. En la figura VII.3.1 . INGENIERIA ELECTRONICA _ 2013 Formalmente. las de tres dimensiones o tridimensionales y las hipercúbicas que son las de más de tres dimensiones.18. PALLY. tal como se muestra en la figura VII.1. tenemos la disposición en anillo.1 .UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. Cuando se ejecuta una función de enrutamiento f. ocurre simultáneamente en todos los EP activos. deben pasar por un EP intermediario. VII. el EP i copia el contenido de su registro Ri en el registro Rf(i) del EPf(i)..j.. C.5. que describiremos separadamente. utilizada en algunos sistemas encauzados.REDES MONOETAPA: Una red monoetapa es una malla de conmutación con N selectores de entrada (SE) y N selectores de salida (SS). Si identificamos las direcciones de los EP por un conjunto: S = {0. se tienen ilustradas las de una dimensión o unidimensionales. ejecutando una secuencia de funciones de enrutamiento en la malla de interconexión. así una forma de indicarlos es diciendo cuantos nodos hay en cada esquina de un cubo. de la figura VII.1.. .1.REDES ESTÁTICAS: Las topologías de las mallas estáticas pueden ser clasificadas en acuerdo a las dimensiones requeridas para el trazado. Un EP inactivo puede recibir datos de otros EP si se ejecuta la función de enrutamiento. Para pasar datos entre EPs que no están directamente conectados a la malla.. Las redes hipercúbicas.2. las monoetapa y las multietapa..2.1.1.5. tal como el cubo de ciclo triple.2 . por la malla de interconexión.N-1} Cada función de enrutamiento f es una biyección (conexión uno a uno) de S a S. Esta operación de ruteo de datos.1.2. ING.5.

PALLY.P. C. .UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. INGENIERIA ELECTRONICA _ 2013 ING. C.

donde además se indican los cuatro estados que puede asumir dicha caja de conexiones: 1 .difusión superior 4 .2 .2. y cada SS es un multiplexor M a 1. El número de recirculaciones necesarias depende de la conectividad de cada malla. también es conocido como recirculante.lineal 2 .difusión inferior ING.1. C.intercambio 3 .la estructura de control Cada caja de llaves. donde 1 < D < N.REDES MULTIETAPA: Las redes multietapa están formadas por varias etapas conectadas mediante conmutadores. Estas son descriptas por tres elementos que las caracterizan: 1 . Para establecer diferentes caminos. tal como se indica en la figura VII. cuanto mayor es la conectividad del hardware.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. INGENIERIA ELECTRONICA _ 2013 Cada SE es esencialmente un demultiplexor de 1 a D.2. es un dispositivo de intercambio con dos entradas y dos salidas. se deberán dar diferentes datos de entrada a los selectores.la topología de la red 3 . PALLY.20.la caja de llaves 2 . menor es el número de recirculaciones. dado que los datos deben recircular a través de etapas de un solo nivel varias veces antes de alcanzar su terminal de destino. En general. C. y 1 < M < N. La malla tipo crossbar es el caso límite.P. donde hay una sola circulación. Este tipo de malla.1. VII.5. .

21. al que podemos agregar el de no conexión. y la línea base.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. se muestra la red de Benes. el Omega. que es perteneciente a ésta clase. Las redes unilaterales. cubo-n.de no bloqueo Las primeras se caracterizan por cuanto la conexión simultánea de más de un par de terminales puede dar lugar a conflictos en el uso de los lazos de conexión.21. En la figura VII. Las bilaterales en cambio.a. el flip. Se dice que una red es reconfigurable cuando puede llevar a cabo todas las conexiones posibles entre entradas y salidas. Algunas de éstas se incluyen en la figura VII. tienen un lado de entrada y otro de salida y además pueden ser divididas en tres clases: 1 . mediante la reconfiguración de sus conexiones. Una malla multietapa es capaz de conectar un cantidad arbitraria de terminales de entrada con una arbitraria cantidad de terminales de salida. tienen sus puertos de E/S del mismo lado. ING. .P. C.de bloqueo 2 . Figura VII. INGENIERIA ELECTRONICA _ 2013 Cada una de las figuras correspondientes es suficientemente indicativa del significado de cada uno de los estados. además pueden ser unilaterales o bilaterales. Ejemplos de este tipo de redes de bloqueo son: el manipulador de datos. C.reconfigurable 3 . PALLY.20 – Cajas de llaves.b.

P.5. ING. La estructura básica de una MA es indicada en la figura VII. PALLY. es denominada red no bloqueante o de no bloqueo. tales como procesamiento de imágenes.PROCESAMIENTO MATRICIAL ASOCIATIVO: En este caso. y un control de lectura/escritura. que son una clase especial de procesadores SIMD matriciales. Cada celda de bit puede ser accedida para escritura o lectura. La primera se muestra en la figura VII. Su principal ventaja frente a las RAM convencionales.2.c. . y por ende un costo mucho más elevado que el de una RAM convencional.5.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. son direccionados por su contenido.ORGANIZACIONES DE MEMORIA ASOCIATIVA: Los datos almacenados en una memoria asociativa. Cada celda de bit en la matriz nxm. Lógicamente. siendo ejecutada de acuerdo a la organización de la MA. en vez de utilizar memorias convencionales de acceso aleatorio. de búsqueda paralela. de las cuales se han estudiado dos tipos. 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.1 . dicho de otra manera. seguimiento de señales de radar. Existe además una cierta cantidad de registros y contadores. visión de computadora e inteligencia artificial. INGENIERIA ELECTRONICA _ 2013 Una malla que puede manejar todas las conexiones posibles sin bloquearse. es un multivibrador asociado a una lógica de comparación. o multiacceso. C. que permite la comparación del contenido con alguna configuración de bits de búsqueda. La operación de búsqueda en paralelo incluye comparación y enmascarado. correspondientes a la misma posición de todas las palabras. VII. Estas memorias también han sido denominadas: direccionables por su contenido. VII. los datos son buscados por su significado.21. La principal diferencia entre una RAM y una MA (memoria asociativa). es la capacidad de realizar búsquedas y comparaciones en paralelo. ello se consigue con el agregado de una gran cantidad de hardware. es que su contenido es direccionable mediante el acceso paralelo a cierta cantidad de palabras a la vez.2 . o comparada con una señal externa de interrogación.22. donde vemos que la matriz de memoria asociativa consta de n palabras de m bits cada una. lo cual es muy útil en sistemas de bases de datos de rápida variación. se construye la máquina teniendo como base un sistema de "memoria asociativa". Una tajada de bit (bit slice) es una columna de celdas de bit. C. la red de Clos y la red Crossbar.

PALLY. C. C. .UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. INGENIERIA ELECTRONICA _ 2013 ING.P.

respectivamente. INGENIERIA ELECTRONICA _ 2013 El registro comparando. ING. la edad. que está siendo comparado con el contenido de todas las palabras de la memoria. y el curso al cual pertenecen. el sexo. . PALLY. Esta es indicada en la figura VII. Como ejemplo. y uno o mas de los registros temporarios (T). El registro de enmascaramiento. se desea buscar a todos los que tienen una edad comprendida entre los 21 y los 31 años. es utilizado para inhabilitar o habilitar los bits involucrados en la búsqueda paralela en todas las palabras de la memoria. la carrera. C. con cualquier patrón binario. Cada uno de estos registros puede ser seteado.23. C. en la cual se indican el nombre. El registro indicador (I). se utilizan para contener los esquemas de comparación actual y previo. es utilizado para contener el operando clave. para buscar la/s palabra/s indicada/s. En la misma. consideremos una base de datos para alumnos. Los contadores son utilizados para el rastreo de los valores de índice de la matriz.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E.P. reseteado o cargado desde una fuente externa.

Un multiprocesador es una computadora formada por muchos procesadores. Luego se carga el segundo patrón. y al final de la nueva comparación.Los procesadores pueden comunicarse y cooperar entre ellos a diferentes niveles. para resolver un dado problema. Para determinar quienes son los comprendidos entre las dos edades indicadas. y otro para los menores de 31. quedando así solamente los que cumplen con ambas condiciones. y se pasa el contenido del registro I al registro T.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. se hace un AND entre ambos registros. INGENIERIA ELECTRONICA _ 2013 Para esto son necesarios dos patrones de búsqueda. como nueva clave de búsqueda. Después de la primera búsqueda.ARQUITECTURAS MULTIPROCESADORES: Los multiprocesadores pueden ser groseramente caracterizados por dos atributos: 1 .P. 2 . Esta comunicación puede hacerse mediante mensajes entre ellos o mediante una memoria compartida. uno para averiguar los que son mayores de 21 años. PALLY.6 . VII. ING. el registro I contendrá un "1" por cada estudiante menor de 31 años. C. . C. en el registro indicador quedarán marcados con un "1" los mayores de 21. Es obvio que el registro de enmascaramiento solo permitirá el acceso a la información de edad.

C. Un sistema multiprocesador es controlado por un sistema operativo que provee interacción entre los procesadores y sus programas. En la interfase de cada módulo. tanto que a veces se los conoce como "sistemas de procesamiento distribuido".P. cada procesador tiene un conjunto de dispositivos de entrada/salida y una gran memoria local.El fuertemente acoplado.MULTIPROCESADORES LEVEMENTE ACOPLADOS: En estos sistemas.El levemente acoplado. se indica la conformación de un módulo computador y del sistema de conexión entre ellos. donde obtienen la mayoría de sus instrucciones y datos. C.24. fundada en la cantidad de recursos compartidos y la cooperación en la resolución de un problema. En la figura VII. Sin embargo. en estos sistemas es muy pobre. o sea la interacción procesador-procesador. ING. interconectados de alguna manera. El grado de acoplamiento. 2 . Existen dos modelos arquitecturales de los sistemas multiprocesador: 1 .6. .1 . hay una diferencia importante entre ellos. hay un conmutador de arbitraje y un canal. dado que ambos han sido motivados por el mismo objetivo. mientras que la llave de arbitraje es la que permite la conexión con el STM de acuerdo con los requerimientos que se establezcan para evitar colisiones. Un sistema multicomputadora. a su memoria y a sus dispositivos de E/S como un "módulo computador". la realización de operaciones concurrentes. El canal es un dispositivo particular de E/S. INGENIERIA ELECTRONICA _ 2013 Hay algunas similitudes entre los sistemas multiprocesadores y los multicomputadores. aunque en realidad. PALLY. conjunto de datos y datos.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. consiste en varias computadoras autónomas que pueden o no comunicarse entre ellas. se comunican mediante el intercambio de mensajes a través de un sistema de transferencia de mensajes (STM). Nos referiremos al procesador. el término procesamiento distribuido se aplica al procesamiento de un problema y sus partes en diferentes computadores. en los niveles de procesos. VII. Los procesos que se ejecutan en diferentes módulos computadores.

Nodo Grande (o amplio) El formato de cada nodo es el indicado en la figura VII.P. en componentes y en velocidad. INGENIERIA ELECTRONICA _ 2013 Un ejemplo actual de este tipo de computadores. C. PALLY. el término SP significa “Scalable Processor”.25. cuenta con hasta 512 nodos de procesamiento. .Nodo Pequeño .Nodo Pequeño 2 .UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. o sea que es ampliable en todo sentido. C. estás dado por el IBM SP2.2040 MB CACHÉ DE DATOS 64 KB 128 KB 256 KB CACHÉ NIVEL 2 0 – 1 MB 0-128 MB 10 MB ING. los cuales pueden ser de tres tipos: . y los valores que corresponden a cada nodo en la tabla siguiente: NODO PEQUEÑO PEQUEÑO 2 GRANDE BUS DE MEMORIA 64 BITS 128 BITS 256 BITS MEMORIA 64 – 512 MB 64 – 512 MB 64 .

26.P.Esquema lógico de los nodos del IBM SP2. 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 Cachéde denivel nivel22 C Caché Figura VII.25 .2 .La red de conexión para interrupción entre procesadores. la que puede ser implementada por una malla de interconexión o por una memoria multipuerto. C. existiendo una total conectividad entre procesadores y memoria. La limitación más importante de este tipo de computadores.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. es la degradación que sufre el rendimiento por los múltiples accesos a memoria necesarios para la comunicación. . Los multiprocesadores fuertemente acoplados. C. donde se tiene un conjunto de N procesadores. conectados mediante un conjunto de tres mallas de interconexión: 1 . VII.La red de conexión procesador-memoria 2 .MODELO FUERTEMENTE ACOPLADO.La red de conexión procesador-E/S 3 . PALLY. los procesadores se comunican por medio de una memoria compartida. ING. con lo cual la velocidad a la que se transfieren datos es del orden del ancho de banda de la memoria. tienen un modelo tal como el expuesto en la figura VII. L módulos de memoria y varios canales de E/S. Cada procesador puede tener asimismo una pequeña caché o memoria local de alta velocidad. En el modelo fuertemente acoplado.6.

se deben complicar los distintos módulos para que ellos puedan realizar transferencias sin interferencias y sin conflictos. con pocos módulos conectados. o información de estado. dado que hay transferencias simples que requieren el uso simultáneo de ambos buses. C. la información puede ser la de mal funcionamiento. Esta también es normalmente una red crossbar. que mejora en algo su rendimiento. . lo cual la hace al mismo tiempo la más económica. que cada procesador posee para compartir un conjunto de módulos de memoria y de dispositivos de E/S. El sistema de arbitraje centralizado. Esta capacidad es dada por la malla de interconexión que liga a cada uno de ellos. en el cual estos se convierten en sistemas activos. no los evita completamente. cuyo esquema se indica en la figura VII. su costo es mucho mayor. con un conmutador en cada conexión. la red interprocesadores. Si bien el método es un poco más complejo que los anterior. De cualquier manera. si bien simplifica la resolución de conflictos. Finalmente.28.6.1 . permite que cualquiera de ellos interrumpa a cualquier otro a fin de o bien transferirle datos. es la utilización de un sistema multibuses. C. Esta organización es la mas simple y la más fácil de reconfigurar. por cuanto su desempeño es generalmente muy pobre.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. PALLY. ING. Además.REDES DE INTERCONEXIÓN: La característica principal de un sistema multiprocesador. INGENIERIA ELECTRONICA _ 2013 La primera es un sistema de conmutación que conecta a cualquier procesador con cualquier módulo de memoria. Si bien es posible utilizar algún medio para difundir valores de datos o instrucciones.3. su aplicación se reduce a pequeños sistemas. este sistema no es utilizado en aquellos multiprocesadores de alto rendimiento.27.3 . dado que siempre un bus sirve solo para la interconexión de dos elementos. casi siempre es una malla totalmente pasiva. lo cual se indica en la figura VII.6. es la ubicar dos buses unidireccionales. La red de conexión procesador-E/S permite a un procesador cualquiera conectarse con uno de los dispositivos periféricos.BUSES COMUNES EN TIEMPO COMPARTIDO: Es la forma de interconexión más simple. que si bien alivia algunos problemas.P. normalmente es un conmutador crossbar. es la habilidad. De cualquier modo. puede tener efectos negativos sobre la confiabilidad y flexibilidad del sistema. VII. Una extensión del sistema. al permitir la conexión de solo dos módulos por vez. solicitando así su reemplazo. El próximo paso. Además. VII. el mismo no es práctico cuando la cantidad de procesadores es relativamente elevada. En este último caso.

29.30. tal como se indica en la figura VII.2 .CONMUTADOR CROSSBAR Y MEMORIAS MULTIPUERTO: Si se aumenta la cantidad de buses. C. INGENIERIA ELECTRONICA _ 2013 En esta disposición es donde se deben aplicar aquellos métodos de arbitraje vistos en el capítulo III. . ING. Figura VII. PALLY. si además se instala un conmutador en cada cruce.3. tendremos un conmutador Crossbar del tipo que hace al sistema no bloqueable. con la estructura mostrada en la figura VII.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. VII. C.26 – Configuración multiprocesador fuertemente acoplado.6. es posible llegar al extremo de tener uno por cada módulo.P.

sin que pueda haber interferencia. ING.31. INGENIERIA ELECTRONICA _ 2013 Figura VII.P.30. dado que cada módulo de memoria puede comunicarse con cada procesador. va directamente conectado a los módulos de memoria. en especial las que conectan los procesadores con los módulos de E/S. y fija las opciones de acceso. PALLY. por lo que el mismo trata los pedidos. . C.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. De forma similar se puede actuar con las restantes mallas de conmutación. Además de la forma indicada es posible tener múltiples comunicaciones simultáneas. siempre por pares. El conmutador indicado en la figura VII. en una disposición tal como la mostrada en la figura VII.29 – Sistema multiprocesador con red Crossbar. C. si la comunicación es uno a uno. que pueden estar dispuestas según prioridades. El sistema crossbar (que significa barras cruzadas) provee una conectividad completa.

por lo que pueden disponerse memorias multipuerto. Tengamos en cuenta que el costo depende de la cantidad de nodos. tal como se indica en la figura VII. si bien el sistema crossbar. . es también muy caro. PALLY.31 . a veces es preferible sacrificar algo de flexibilidad. es el más flexible y el que ofrece el mayor ancho de banda. C.entrada salida y periféricos.P. por lo que puede no ser adecuado para grandes sistemas. En estos casos. tiene la cualidad de resolver muchos de los conflictos que se presentan en los accesos a memoria. C. De cualquier manera.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. INGENIERIA ELECTRONICA _ 2013 Figura VII. para lo cual se dispone de un sistema de prioridades permanente asignadas a cada puerto. Este sistema que es apto tanto para sistemas monoprocesadores como multiprocesadores. ING.32. o sea de conmutadores.Mallas de interconexión crossbar para procesadores – memoria y procesadores .

33. unidades de E/S o cualquier combinación. El sistema puede ser configurado según las necesidades de cada instalación. PALLY. Otra de las posibilidades que ofrece este sistema.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. es la asignación de porciones de los módulos para que sean exclusivas de ciertos procesadores. tal como se muestra en la figura VII. con prioridades. P0 P1 0 M0 2 1 0 M1 1 1 M2 0 1 M3 0 3 3 2 2 3 3 2 E/S0 E/S1 Figura VII. los dos son idénticos. ING. para que provea las adecuadas prioridades de acceso a cada unidad funcional.P. C.32 – Organización de memora multipunto sin prioridades. .33 – Organización con memorias multipunto. Excepto por esa prioridad asociada a cada puerto. INGENIERIA ELECTRONICA _ 2013 P0 P1 M0 M1 M2 M3 E/S0 E/S1 Figura VII. C.

en la figura VII. P0 P1 M0 M1 M2 M3 E/S0 E/S1 Figura VII. si el otro procesador no es capaz de acceder a la información de estados y al control. esto también tiene serias desventajas para la recuperación del sistema. 2 . VII. .COMPUTADORES DE FLUJO DE DATOS: Las computadoras de flujo de datos están basadas en el concepto de la computación "conducida por datos". INGENIERIA ELECTRONICA _ 2013 Así es que. sien embargo. investigador del MIT. la cual difiere drásticamente del modelo de Von Neumann. mientras que la microelectrónica VHSI y SHSI parecen estar proveyendo las bases tecnológicas para el desarrollo de estas máquinas ING. y puede permitir el almacenamiento de rutinas de recuperación. en un bloque de memoria perteneciente a un procesador en falla.Ofrecer la mejor programabilidad en las áreas de aplicación. según se observa.UNIVERSIDAD NACIONAL DEL ALTIPLANO_PUNO E. Jack Dennis.P. Este tipo de organización puede tener muchas ventajas mejorando la protección contra accesos no autorizados.Igualar la relación con el avance tecnológico 3 . en le año 1979 identificó las tres propiedades que permitirían el desarrollo de una arquitectura ideal para las computadoras: 1 . donde los módulos de memoria M0 y M3 son de uso privado de los procesadores P0 y P1 respectivamente.7 . PALLY.34 – Organización con módulos de memoria privados. El modelo de flujo de datos.34. en áreas de memoria no susceptibles de modificación por el acceso de otros procesadores. C. parece satisfacer estas demandas.Alcanzar elevadas performances con mínimo costo. C.

Sign up to vote on this title
UsefulNot useful