SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
ARQUITECTURA DE COMPUTADORA 
Jhonny del Carmen Marín Real. 
1 División Académica de Informática y Sistemas, Universidad Juárez Autónoma de Tabasco, 
Carretera Cunduacán-Jalpa km. 1, Cunduacán, Tabasco, México 
{jcmr_gato}@hotmail.com 
La arquitectura paralela o de líneas paralelas (pipe-line), es una técnica en la que se descomponen un proceso secuencial en suboperaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. 
El procesamiento paralelo puede ocurrir en el flujo de instrucciones, en el flujo de datos o en ambos. La clasificación de Flynn divide a las computadoras en cuatro grupo principales de la manera siguiente: 
Flujo de instrucción único, Flujo de datos único (SISD) 
Flujo de instrucción único, Flujo de datos Múltiple (SIMD) 
Flujo de instrucción Múltiple, Flujo de datos único (MISD) 
Flujo de instrucción Múltiple, Flujo de datos Múltiple (MIMD [1] 
Los computadores paralelos son aquellos sistemas que enfatizan el procesamiento paralelo, y de acuerdo a los desarrollos realizados, podemos dividirlas en tres configuraciones arquitectónicas. 
Computadores Encauzados Procesadores Matriciales Sistemas Multiprocesadores 
Estos tres conceptos de paralelismo, no son excluyentes entre ellos, sino que casi todas las computadoras actuales tienen cauces, y además pueden tener estructuras matriciales o multiprocesadores [2]. 
I. HISTORIA 
Todos estos sistemas están basados en la arquitectura Von Neumann con un procesador y memoria donde se guardan datos y programa, es decir, una maquina secuencial que procesa datos escalares. Esta arquitectura se ha ido perfeccionando incluyendo el paralelismo de las unidades de control, de cálculo, etc., pero sigue siendo una máquina de ejecución con un único flujo de instrucciones. 
No hay una frontera definida entre la arquitectura monoprocesador y las masiva- mente paralelas. De hecho, las actuales arquitecturas monoprocesador son realmente maquinas paralelas a nivel de instrucción. La evolución de la arquitectura basada en monoprocesador ha venido ligada con la creación de más y mejores supercomputadores que tenían que librarse del concepto de monoprocesador para poder hacer frente a las demandas de computación. 
El primer paso hacia la paralelización de las arquitecturas de los computadores, se da con la aparición de los procesadores o sistemas vectoriales. Los procesadores vectoriales extienden el concepto de paralelismo por segmentación al tratamiento de grandes cadenas de datos. El hecho de que los procesadores segmentados hayan venido asociados a los supercomputadores paralelos, los pone en la entrada a lo que son los sistemas paralelos, si bien siguen siendo una extensión del concepto de segmentación. [3] 
II. ARQUITECTURA PARALELA 
La arquitectura paralela o de líneas paralelas (pipe- line), es una técnica en la que se descomponen un proceso secuencial en suboperaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. Una línea puede considerarse como un conjunto de segmentos de procesamiento por el que fluye información binaria. Cada segmento ejecuta un procesamiento parcial, dictado por la manera en que se divide la tarea. El resultado obtenido del cálculo en cada segmento se transfiere al siguiente segmento en la línea. El resultado final se obtiene después de que los datos han recorrido todos los segmentos. El nombre “línea” implica un flujo reinformación similar a una línea de ensamblado industrial. Es característico de las líneas que varios cálculos puedan estar en proceso en distintos segmentos, al mismo tiempo. La simultaneidad de los cálculos es posible al asociar un registro con cada segmento en la línea. Los registros proporcionan aislamiento entre cada segmento para que cada uno pueda operar sobre datos distintos en forma simultánea. 
Imagen 1: Arquitectura paralela
Tal vez la manera más simple de apreciar la arquitectura de líneas paralelas es imaginar que cada segmento consta de un registro de entrada seguido de un circuito combinatorio. [2] 
III. PARALELISMO EN 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í. [4] 
IV. MECANISMOS DE PROCESAMIENTO PARALELO 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. [4] 
V. PROCESAMIENTO SERIE CONTRA PROCESAMIENTO PARALELO Tsu-yun Feng ha sugerido el uso del "grado" de paralelismo para clasificar las arquitecturas de computadoras. 
El máximo número de dígitos binarios (bits) que pueden ser procesados en una unidad de tiempo, por un sistema de computación, es denominado "máximo 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. 
La clasificación de Feng para varias máquinas, del gráfico se desprende que hay cuatro tipos de métodos 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 también es conocida como procesamiento bit serie, por cuanto se opera el bit de una palabra por vez, respondiendo a un sistema mínimo (n=m=1). 
Las computadoras PPBS, han sido denominadas procesamiento por tajada de bit (Bit Slice), y en ellas es n = 1, m > 1. 
Las PSBP, o sea n > 1,m = 1, son la mayoría 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). 
VI. PARALELISMO CONTRA ENCAUZAMIENTO Wolfgang Händler propuso un esquema de clasificación, 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. Considera el procesamiento paralelo-encauzado dentro de los subsistemas en tres niveles: 
Unidad de Control del procesador (PCU) Unidad Lógica Aritmética (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 lógica combinacional necesaria para llevar a cabo operaciones de 1 bit en la ALU. 
Según Händler, un sistema de computación C, es caracterizado por el tríptico que contiene seis entidades independientes, definido por: 
P(C) = (KxK',DxD',WxW') 
Dónde: K es la cantidad de procesadores de la computadora (PCU). K' es la cantidad de procesadores que pueden ser encauzados. D es la cantidad de ALU’s bajo control de una CPU. D' es la cantidad de ALU’s que pueden ser encauzadas. W es la longitud de palabra de una ALU . W' es el número de etapas de los cauces de todas las ALU’s. [4] 
V. SISTEMAS ENCAUZADOS Se utiliza para la realización de aquellas operaciones complejas, tales como suma y resta de cantidades en coma flotante y producto de cantidades binarias o binarias codificadas. 
Imagen 2 Procesamiento de serie vs procesamiento paralelo
V. CLASIFICACIÓN DE LOS SISTEMAS PARALELOS De acuerdo con los niveles de procesamiento, el ya citado Händler propuso un esquema de clasificación de los procesadores encauzados. 
VII. CAUCES ARITMÉTICOS 
La unidad lógica y aritmética puede ser segmentada para realizar operaciones encauzadas con varios formatos de datos. 
VIII. CAUCES DE INSTRUCCIONES 
La ejecución de una corriente de instrucciones puede ser encauzada, solapando la ejecución de una con la búsqueda de la siguiente. 
IX. ENCAUZAMIENTO DE PROCESADORES Esto se refiere a un sistema multiprocesadores, en el cual cada uno de los procesadores conforma una etapa del cauce. 
X. CLASIFICACIÓN SEGÚN RAMAMOORTHY Y LI Estos estudiosos de los sistemas encauzados, propusieron otro tipo de clasificación basado en la configuración del cauce y sus estrategias de control. 
XI. CAUCES UNIFUNCIÓN Y MULTIFUNCIÓN Un cauce que tiene una función 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 función diversa. Un cauce multifunción, puede llevar a cabo diferentes funciones, al mismo tiempo o en tiempos diferentes, mediante la interconexión de diferentes subconjuntos de etapas. El ASC tiene cuatro cauces multifuncionales, los que son reconfigurables para realizar una amplia variedad de funciones lógicas y aritméticas en distintos tiempos. [4] 
Imagen 3 clasificación de los sistemas paralelos 
Imagen 3 
Imagen 4 
Imagen 6 cauces unifuncional y multifuncional 
Imagen 5
XII. CAUCES ESTÁTICOS Y DINÁMICOS 
Un cauce estático, solo puede asumir una 
configuración funcional por vez, además pueden ser 
unifuncionales o multifuncionales. El encauzamiento 
puede ser realizado en estos cauces solamente cuando 
se ejecutan instrucciones del mismo tipo en forma 
continuada. 
En un cauce dinámico, se permiten varias 
configuraciones funcionales simultáneas, en 
consecuencia el cauce debe ser obligadamente 
multifuncional. Al tiempo que un cauce estático es 
preferentemente unifuncional. 
La configuración dinámica necesita disponer de un 
control, y mecanismos de secuenciamiento mucho 
más sofisticados que los de un cauce estático. 
XIII. 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 diseñado especialmente 
para operar con instrucciones vectoriales sobre 
operandos vectoriales. [4] 
XIV. CLASIFICACIÓN DE LOS SISTEMAS PARALELOS 
Probablemente la clasificación más popular de 
computadores sea la clasificación de Flynn. Esta 
taxonomía de las arquitecturas está basada en la 
clasificación atendiendo al flujo de datos e 
instrucciones en un sistema. Un flujo de instrucciones 
es el conjunto de instrucciones secuenciales que son 
ejecutadas por un único procesador, y un flujo de 
datos es el flujo secuencial de datos requeridos por el 
flujo de instrucciones. Con estas consideraciones, 
Flynn clasifica los sistemas en cuatro categorías: 
SISD (Single Instruction stream, Single Data 
stream) Flujo único de instrucciones y flujo único de 
datos. Este el concepto de arquitectura serie de Von 
Neumann donde, en cualquier momento, sólo se está 
ejecutando una única instrucción. A menudo a los 
SISD se les conoce como computadores serie 
escalares. Todas las maquinas SISD poseen un 
registro simple que se llama contador de programa 
que asegura la ejecución en serie del programa. [4] 
MISD (Multiple Instruction stream, Single Data 
stream) Flujo múltiple de instrucciones y único flujo 
de datos. Esto significa que varias instrucciones 
actúan sobre el mismo y único trozo de datos. Este 
tipo de máquinas se pueden interpretar de dos 
maneras. Una es considerar la clase de máquinas que 
requerirían que unidades de procesamiento diferentes 
recibieran instrucciones distintas operando sobre los 
mismos datos. Esta clase de arquitectura ha sido 
clasificada por numerosos arquitectos de 
computadores como impracticable o imposible, y en 
estos momentos no existen ejemplos que funcionen 
siguiendo este modelo. Otra forma de interpretar los 
MISD es como una clase de máquinas donde un 
mismo flujo de datos fluye a través de numerosas 
unidades procesadoras. Arquitecturas altamente 
segmentadas, como los arrays sistólicos o los 
procesadores vectoriales, son clasificados a menudo 
bajo este tipo de máquinas. Las arquitecturas 
segmentadas, o encauzadas, realizan el procesamiento 
vectorial a través de una serie de etapas, cada una 
ejecutando una función particular produciendo un 
resultado intermedio. La razón por la cual dichas 
arquitecturas son clasificadas como MISD es que los 
elementos de un vector pueden ser considerados como 
pertenecientes al mismo dato, y todas las etapas del 
cauce representan múltiples instrucciones que son 
aplicadas sobre ese vector. [4] 
SIMD Single Instruction stream, Multiple Data 
stream Flujo de instrucción simple y flujo de datos 
múltiple. Esto significa que una única instrucción es 
aplicada sobre diferentes datos al mismo tiempo. En 
las máquinas de este tipo, varias unidades de 
UC UP MM 
instrucciones 
inst. datos 
Imagen 7: Taxonomía de Flynn 
Imagen 8: SISD 
Imagen 9: MISD
procesado diferentes son invocadas por una única unidad de control. Al igual que las MISD, las SIMD soportan procesamiento vectorial (matricial) asignando cada elemento del vector a una unidad funcional diferente para procesamiento concurrente. [4] 
MIMD (Multiple Instruction stream, Multiple Data stream) Flujo de instrucciones múltiple y flujo de datos múltiple. Son máquinas que poseen varias unidades procesadoras en las cuales se pueden realizar múltiples instrucciones sobre da- tos diferentes de forma simultánea. Las MIMD son las más complejas, pero son también las que potencialmente ofrecen una mayor eficiencia en la ejecución concurrente o paralela. Aquí la concurrencia implica que no sólo hay varios procesado- res operando simultáneamente, sino que además hay varios programas (procesos) ejecutándose también al mismo tiempo. [4] 
XV. OTRAS CLASIFICACIONES La clasificación de Flynn ha demostrado funcionar bastante bien para la tipificación de sistemas, y se ha venido usando desde décadas por la mayoría de los arquitectos de computadores. La imagen 7 muestra una taxonomía ampliada que incluye alguno de los avances en arquitecturas de computadores en los últimos años. [4] 
XVI. MULTIPROCESADOR Un multiprocesador se puede ver como un computador paralelo compuesto por varios procesadores interconectados que pueden compartir un mismo sistema de memoria. Los procesadores se pueden configurar para que ejecute cada uno una parte de un programa o varios programas al mismo tiempo. A los multiprocesadores también se les llama sistemas de memoria compartida. Dependiendo de la forma en que los procesadores comparten la memoria, podemos hacer una subdivisión de los multipro- cesadores: UMA (Uniform Memory Access) En un modelo de Memoria de Acceso Uniforme, la memoria física ésta uniformemente compartida por todos los procesadores. Esto quiere decir que todos los procesadores tienen el mismo tiempo de acceso a todas las palabras de memoria. 
NUMA Un multiprocesador de tipo NUMA es un sistema de memoria compartida donde el tiempo de acceso varía según el lugar donde se encuentre localizado el acceso. La ventaja de estos sistemas es que el acceso a la memoria local es más rápido que en los UMA aunque un acceso a memoria no local es más lento. 
Imagen 10: SIMD 
Imagen 11: MIMD 
Imagen 12: clasificaciones 
Imagen 13: UMA
COMA (Cache Only Memory Access) Un multiprocesador que sólo use caché como memoria es considerado de tipo COMA. En realidad, el modelo COMA es un caso especial del NU- MA donde las memorias distribuidas se convierten en cachés. No hay jerarquía de memoria en cada módulo procesador. 
XVII. MULTICOMPUTADORAS Un multicomputador se puede ver como un computador paralelo en el cual cada procesador tiene su propia memoria local. La memoria del sistema se encuentra distribuida entre todos los procesadores y cada procesador sólo puede direccionar su memoria local; para acceder a las memorias de mensajes. Esto significa que un procesador tiene acceso directo sólo a su memoria lo- cal, siendo indirecto el acceso al resto de memorias del resto de procesadores. Este acceso local y privado a la memoria es lo que diferencia los multicomputadores de los multiprocesadores. Los demás procesadores debe hacerlo por paso de 
XVIII. MULTICOMPUTADORES CON MEMORIA VIRTUAL COMPARTIDA En un multicomputador, un proceso de usuario puede construir un espacio global de direccionamiento virtual. El acceso a dicho espacio global de direccionamiento se puede realizar por software mediante un paso de mensajes explícito. Otra forma de tener un espacio de memoria virtual compartido es mediante el uso de páginas. En estos sistemas una colección de procesos tiene una región de direcciones compartidas pero, para cada proceso, sólo las páginas que son locales son accesibles de forma directa. [4] 
XIX. MÁQUINAS DE FLUJO DE DATOS Hay dos formas de procesar la información, una es mediante la ejecución en serie de una lista de comandos y la otra es la ejecución de un comando demandado por los datos disponibles. La segunda forma de ver el procesamiento de datos quizá es algo menos directa, pero desde el punto de vista de la paralelización resulta mucho más interesante puesto que las instrucciones se ejecutan en el momento tienen los datos necesarios para ello, y naturalmente se debería poder ejecutar todas las instrucciones demandadas en un mismo tiempo. [4] En una arquitectura de flujo de datos una instrucción está lista para su ejecución cuando los datos que necesita están disponibles. La disponibilidad de los datos se consigue por la canalización de los resultados de las instrucciones ejecutadas con anterioridad a los operandos de las instrucciones que esperan. [4] 
XX. PROCESADORES MATRICIALES Un procesador matricial consiste en un conjunto de elementos de proceso y un procesador escalar que operan bajo una unidad de control. La unidad de control busca y decodifica las instrucciones de la memoria central y las manda bien al procesador escalar o bien a los nodos procesadores dependiendo del tipo de instrucción. La instrucción que ejecutan los nodos procesadores es la misma simultáneamente, los datos serán los de cada memoria de procesador y por tanto serán diferentes. [5] 
XXI. PROCESADORES VECTORIALES Un procesador vectorial ejecuta de forma segmentada instrucciones sobre vectores. La diferencia con los matriciales es que mientras los matriciales son comandados por las instrucciones, los vectoriales son comandados por flujos de datos continuos. A este tipo se le considera MISD. [5] 
XXII. ARRAYS SISTÓLICOS Otro tipo de máquinas que se suelen considerar MISD son los arrays sistólicos. En un arrays sistólico hay un gran número de elementos de proceso (EPs) idénticos con una limitada memoria local. Los EPs están colocados en forma de matriz (arrays) de manera que sólo están permitidas las conexiones con los EPs vecinos. Por lo tanto, todos los procesadores 
Imagen 14: NUMA 
Imagen 15: COMA 
Imagen 16: flujo de datos
se encuentran organizados en una estructura segmentada de forma lineal o matricial. Los datos fluyen de unos EPs a sus vecinos a cada ciclo de reloj, y durante ese ciclo de reloj, o varios, los elementos de proceso realizan una operación sencilla. El adjetivo sistólico viene precisamente del hecho de que todos los procesadores vienen sincronizados por un único reloj que hace de “corazón” que hace moverse a la máquina. [6] 
XXIII. ARRAYS SISTÓLICOS 
Por un lado estaba la paralelización de código que se consigue con las máquinas de tipo MIMD, y por otro lado estaba la paralelización de los datos conseguida con arquitecturas SIMD y MISD. En la práctica, el mayor beneficio en paralelismo viene de la paralelización de los datos. Esto es debido a que el paralelismo de los datos explota el paralelismo en proporción a la cantidad de los datos que forman el cálculo a realizar. Sin embargo, muchas veces resulta imposible explotar el paralelismo inherente en los datos del problema y se hace necesario utilizar tanto el paralelismo de control como el de datos. Por lo tanto, procesadores que tienen características de MIMD y SIMD (o MISD) a un tiempo, pueden resolver de forma efectiva un elevado rango de problemas. [6] 
REFERENCIAS [1] http://informatica.uv.es/iiguia/AAC/AA/apuntes/aic_intro.pdf [2]http://www.monografias.com/trabajos16/arquitectura- paralela/arquitectura-paralela.shtml [3] http://www.frbb.utn.edu.ar/hpc/lib/exe/fetch.php?media=2013- 02-aquitecturas.pdf [4] http://www.fing.edu.uy/inco/cursos/hpc/material/clases/Clase2- 2009.pdf 
[5] P. Conway, N. Kalyanasundharam, G. Donley, K. Lepak, and B. Hughes. Cache hierarchy and memory subsystem of the AMD Opteron processor. 
[6] G. Ananth, G. Anshul, K. George, and K. Vipin. Introduction to parallel computing, 2003.

Más contenido relacionado

La actualidad más candente

Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemMirna L. Torres Garcia
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasanibalsmit
 
Diagrama de bloques de un computador
Diagrama de bloques de un computadorDiagrama de bloques de un computador
Diagrama de bloques de un computadorJose Diaz Silva
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Arquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasArquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasAntonio Soria
 
Tema manejo de la entrada
Tema manejo de la entradaTema manejo de la entrada
Tema manejo de la entradaSasil Catzim
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de softwarejhonatanalex
 

La actualidad más candente (20)

Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modem
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capas
 
Frame Relay & X25
Frame Relay & X25Frame Relay & X25
Frame Relay & X25
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Arquitecturas de computadoras
Arquitecturas de computadorasArquitecturas de computadoras
Arquitecturas de computadoras
 
Diagrama de bloques de un computador
Diagrama de bloques de un computadorDiagrama de bloques de un computador
Diagrama de bloques de un computador
 
Sistema operativo de red
Sistema operativo de redSistema operativo de red
Sistema operativo de red
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Distribución de aplicaciones
Distribución de aplicacionesDistribución de aplicaciones
Distribución de aplicaciones
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Unidad 5 interfaces
Unidad 5  interfacesUnidad 5  interfaces
Unidad 5 interfaces
 
Arquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasArquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos Distribuidas
 
Agentes inteligentes
Agentes inteligentesAgentes inteligentes
Agentes inteligentes
 
Tema manejo de la entrada
Tema manejo de la entradaTema manejo de la entrada
Tema manejo de la entrada
 
Dispositivos de Redes
Dispositivos de RedesDispositivos de Redes
Dispositivos de Redes
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de software
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Sistemas de archivos
Sistemas de archivosSistemas de archivos
Sistemas de archivos
 

Destacado

Procesamiento paralelo
Procesamiento paraleloProcesamiento paralelo
Procesamiento paralelowarrionet
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadorascamiche97
 
Arquitectura Paralela
Arquitectura ParalelaArquitectura Paralela
Arquitectura Paralelaurumisama
 
Conceptos sobre arquitectura de computadoras
Conceptos sobre arquitectura de computadorasConceptos sobre arquitectura de computadoras
Conceptos sobre arquitectura de computadorasWaldogeremia
 
Sistemas gestores de base de datos relacionales
Sistemas gestores de base de datos relacionalesSistemas gestores de base de datos relacionales
Sistemas gestores de base de datos relacionalesUlises WD
 
Multiprocesamiento (S.O)
Multiprocesamiento (S.O)Multiprocesamiento (S.O)
Multiprocesamiento (S.O)Javier Alvarez
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 

Destacado (12)

Procesamiento paralelo
Procesamiento paraleloProcesamiento paralelo
Procesamiento paralelo
 
arquitecturas-SISD%SIMD%MISD%MIMD
arquitecturas-SISD%SIMD%MISD%MIMDarquitecturas-SISD%SIMD%MISD%MIMD
arquitecturas-SISD%SIMD%MISD%MIMD
 
Paralelismo de nivel de bit
Paralelismo de nivel de bitParalelismo de nivel de bit
Paralelismo de nivel de bit
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Arquitectura Paralela
Arquitectura ParalelaArquitectura Paralela
Arquitectura Paralela
 
Multiprocesamiento
MultiprocesamientoMultiprocesamiento
Multiprocesamiento
 
Conceptos sobre arquitectura de computadoras
Conceptos sobre arquitectura de computadorasConceptos sobre arquitectura de computadoras
Conceptos sobre arquitectura de computadoras
 
Procesamiento segmentado
Procesamiento segmentado   Procesamiento segmentado
Procesamiento segmentado
 
Sistemas gestores de base de datos relacionales
Sistemas gestores de base de datos relacionalesSistemas gestores de base de datos relacionales
Sistemas gestores de base de datos relacionales
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Multiprocesamiento (S.O)
Multiprocesamiento (S.O)Multiprocesamiento (S.O)
Multiprocesamiento (S.O)
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 

Similar a Unidad 2 clasificacion de arquitectura paralela

Similar a Unidad 2 clasificacion de arquitectura paralela (20)

Tarea 1.1
Tarea 1.1Tarea 1.1
Tarea 1.1
 
Arquitectura del computador trabajo finalizado
Arquitectura del computador trabajo finalizadoArquitectura del computador trabajo finalizado
Arquitectura del computador trabajo finalizado
 
Procesamiento segmentado - INFORME
Procesamiento segmentado - INFORMEProcesamiento segmentado - INFORME
Procesamiento segmentado - INFORME
 
Arquitectura tipos lupe
Arquitectura tipos lupeArquitectura tipos lupe
Arquitectura tipos lupe
 
Lectura fundamental 3
Lectura fundamental 3Lectura fundamental 3
Lectura fundamental 3
 
ARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdfARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdf
 
Arquitectura primer tutorial
Arquitectura primer tutorialArquitectura primer tutorial
Arquitectura primer tutorial
 
Modelos de arquitecturas de computo
Modelos de arquitecturas de computoModelos de arquitecturas de computo
Modelos de arquitecturas de computo
 
Microsoft word tipos de sistemas operativos.doc
Microsoft word   tipos de sistemas operativos.docMicrosoft word   tipos de sistemas operativos.doc
Microsoft word tipos de sistemas operativos.doc
 
Tiposso
TipossoTiposso
Tiposso
 
Adec -cap_7
Adec  -cap_7Adec  -cap_7
Adec -cap_7
 
Practica4
Practica4Practica4
Practica4
 
Documental de Arquitecturas Avanzadas (Computación)
Documental de Arquitecturas Avanzadas (Computación)Documental de Arquitecturas Avanzadas (Computación)
Documental de Arquitecturas Avanzadas (Computación)
 
ARQUITECTURAS PARALELAS
ARQUITECTURAS PARALELASARQUITECTURAS PARALELAS
ARQUITECTURAS PARALELAS
 
computación paralela
computación paralelacomputación paralela
computación paralela
 
Trabajo 1 s. operativos ii
Trabajo 1 s. operativos iiTrabajo 1 s. operativos ii
Trabajo 1 s. operativos ii
 
Estructura de un Sistema Operativo
Estructura de un Sistema Operativo Estructura de un Sistema Operativo
Estructura de un Sistema Operativo
 
Estructura básica de un Sistema Operativo
Estructura básica de un Sistema Operativo Estructura básica de un Sistema Operativo
Estructura básica de un Sistema Operativo
 
Cpu
CpuCpu
Cpu
 
Aso 3
Aso 3Aso 3
Aso 3
 

Último

Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 

Último (20)

Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 

Unidad 2 clasificacion de arquitectura paralela

  • 1. ARQUITECTURA DE COMPUTADORA Jhonny del Carmen Marín Real. 1 División Académica de Informática y Sistemas, Universidad Juárez Autónoma de Tabasco, Carretera Cunduacán-Jalpa km. 1, Cunduacán, Tabasco, México {jcmr_gato}@hotmail.com La arquitectura paralela o de líneas paralelas (pipe-line), es una técnica en la que se descomponen un proceso secuencial en suboperaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. El procesamiento paralelo puede ocurrir en el flujo de instrucciones, en el flujo de datos o en ambos. La clasificación de Flynn divide a las computadoras en cuatro grupo principales de la manera siguiente: Flujo de instrucción único, Flujo de datos único (SISD) Flujo de instrucción único, Flujo de datos Múltiple (SIMD) Flujo de instrucción Múltiple, Flujo de datos único (MISD) Flujo de instrucción Múltiple, Flujo de datos Múltiple (MIMD [1] Los computadores paralelos son aquellos sistemas que enfatizan el procesamiento paralelo, y de acuerdo a los desarrollos realizados, podemos dividirlas en tres configuraciones arquitectónicas. Computadores Encauzados Procesadores Matriciales Sistemas Multiprocesadores Estos tres conceptos de paralelismo, no son excluyentes entre ellos, sino que casi todas las computadoras actuales tienen cauces, y además pueden tener estructuras matriciales o multiprocesadores [2]. I. HISTORIA Todos estos sistemas están basados en la arquitectura Von Neumann con un procesador y memoria donde se guardan datos y programa, es decir, una maquina secuencial que procesa datos escalares. Esta arquitectura se ha ido perfeccionando incluyendo el paralelismo de las unidades de control, de cálculo, etc., pero sigue siendo una máquina de ejecución con un único flujo de instrucciones. No hay una frontera definida entre la arquitectura monoprocesador y las masiva- mente paralelas. De hecho, las actuales arquitecturas monoprocesador son realmente maquinas paralelas a nivel de instrucción. La evolución de la arquitectura basada en monoprocesador ha venido ligada con la creación de más y mejores supercomputadores que tenían que librarse del concepto de monoprocesador para poder hacer frente a las demandas de computación. El primer paso hacia la paralelización de las arquitecturas de los computadores, se da con la aparición de los procesadores o sistemas vectoriales. Los procesadores vectoriales extienden el concepto de paralelismo por segmentación al tratamiento de grandes cadenas de datos. El hecho de que los procesadores segmentados hayan venido asociados a los supercomputadores paralelos, los pone en la entrada a lo que son los sistemas paralelos, si bien siguen siendo una extensión del concepto de segmentación. [3] II. ARQUITECTURA PARALELA La arquitectura paralela o de líneas paralelas (pipe- line), es una técnica en la que se descomponen un proceso secuencial en suboperaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. Una línea puede considerarse como un conjunto de segmentos de procesamiento por el que fluye información binaria. Cada segmento ejecuta un procesamiento parcial, dictado por la manera en que se divide la tarea. El resultado obtenido del cálculo en cada segmento se transfiere al siguiente segmento en la línea. El resultado final se obtiene después de que los datos han recorrido todos los segmentos. El nombre “línea” implica un flujo reinformación similar a una línea de ensamblado industrial. Es característico de las líneas que varios cálculos puedan estar en proceso en distintos segmentos, al mismo tiempo. La simultaneidad de los cálculos es posible al asociar un registro con cada segmento en la línea. Los registros proporcionan aislamiento entre cada segmento para que cada uno pueda operar sobre datos distintos en forma simultánea. Imagen 1: Arquitectura paralela
  • 2. Tal vez la manera más simple de apreciar la arquitectura de líneas paralelas es imaginar que cada segmento consta de un registro de entrada seguido de un circuito combinatorio. [2] III. PARALELISMO EN 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í. [4] IV. MECANISMOS DE PROCESAMIENTO PARALELO 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. [4] V. PROCESAMIENTO SERIE CONTRA PROCESAMIENTO PARALELO Tsu-yun Feng ha sugerido el uso del "grado" de paralelismo para clasificar las arquitecturas de computadoras. El máximo número de dígitos binarios (bits) que pueden ser procesados en una unidad de tiempo, por un sistema de computación, es denominado "máximo 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. La clasificación de Feng para varias máquinas, del gráfico se desprende que hay cuatro tipos de métodos 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 también es conocida como procesamiento bit serie, por cuanto se opera el bit de una palabra por vez, respondiendo a un sistema mínimo (n=m=1). Las computadoras PPBS, han sido denominadas procesamiento por tajada de bit (Bit Slice), y en ellas es n = 1, m > 1. Las PSBP, o sea n > 1,m = 1, son la mayoría 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). VI. PARALELISMO CONTRA ENCAUZAMIENTO Wolfgang Händler propuso un esquema de clasificación, 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. Considera el procesamiento paralelo-encauzado dentro de los subsistemas en tres niveles: Unidad de Control del procesador (PCU) Unidad Lógica Aritmética (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 lógica combinacional necesaria para llevar a cabo operaciones de 1 bit en la ALU. Según Händler, un sistema de computación C, es caracterizado por el tríptico que contiene seis entidades independientes, definido por: P(C) = (KxK',DxD',WxW') Dónde: K es la cantidad de procesadores de la computadora (PCU). K' es la cantidad de procesadores que pueden ser encauzados. D es la cantidad de ALU’s bajo control de una CPU. D' es la cantidad de ALU’s que pueden ser encauzadas. W es la longitud de palabra de una ALU . W' es el número de etapas de los cauces de todas las ALU’s. [4] V. SISTEMAS ENCAUZADOS Se utiliza para la realización de aquellas operaciones complejas, tales como suma y resta de cantidades en coma flotante y producto de cantidades binarias o binarias codificadas. Imagen 2 Procesamiento de serie vs procesamiento paralelo
  • 3. V. CLASIFICACIÓN DE LOS SISTEMAS PARALELOS De acuerdo con los niveles de procesamiento, el ya citado Händler propuso un esquema de clasificación de los procesadores encauzados. VII. CAUCES ARITMÉTICOS La unidad lógica y aritmética puede ser segmentada para realizar operaciones encauzadas con varios formatos de datos. VIII. CAUCES DE INSTRUCCIONES La ejecución de una corriente de instrucciones puede ser encauzada, solapando la ejecución de una con la búsqueda de la siguiente. IX. ENCAUZAMIENTO DE PROCESADORES Esto se refiere a un sistema multiprocesadores, en el cual cada uno de los procesadores conforma una etapa del cauce. X. CLASIFICACIÓN SEGÚN RAMAMOORTHY Y LI Estos estudiosos de los sistemas encauzados, propusieron otro tipo de clasificación basado en la configuración del cauce y sus estrategias de control. XI. CAUCES UNIFUNCIÓN Y MULTIFUNCIÓN Un cauce que tiene una función 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 función diversa. Un cauce multifunción, puede llevar a cabo diferentes funciones, al mismo tiempo o en tiempos diferentes, mediante la interconexión de diferentes subconjuntos de etapas. El ASC tiene cuatro cauces multifuncionales, los que son reconfigurables para realizar una amplia variedad de funciones lógicas y aritméticas en distintos tiempos. [4] Imagen 3 clasificación de los sistemas paralelos Imagen 3 Imagen 4 Imagen 6 cauces unifuncional y multifuncional Imagen 5
  • 4. XII. CAUCES ESTÁTICOS Y DINÁMICOS Un cauce estático, solo puede asumir una configuración funcional por vez, además pueden ser unifuncionales o multifuncionales. El encauzamiento puede ser realizado en estos cauces solamente cuando se ejecutan instrucciones del mismo tipo en forma continuada. En un cauce dinámico, se permiten varias configuraciones funcionales simultáneas, en consecuencia el cauce debe ser obligadamente multifuncional. Al tiempo que un cauce estático es preferentemente unifuncional. La configuración dinámica necesita disponer de un control, y mecanismos de secuenciamiento mucho más sofisticados que los de un cauce estático. XIII. 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 diseñado especialmente para operar con instrucciones vectoriales sobre operandos vectoriales. [4] XIV. CLASIFICACIÓN DE LOS SISTEMAS PARALELOS Probablemente la clasificación más popular de computadores sea la clasificación de Flynn. Esta taxonomía de las arquitecturas está basada en la clasificación atendiendo al flujo de datos e instrucciones en un sistema. Un flujo de instrucciones es el conjunto de instrucciones secuenciales que son ejecutadas por un único procesador, y un flujo de datos es el flujo secuencial de datos requeridos por el flujo de instrucciones. Con estas consideraciones, Flynn clasifica los sistemas en cuatro categorías: SISD (Single Instruction stream, Single Data stream) Flujo único de instrucciones y flujo único de datos. Este el concepto de arquitectura serie de Von Neumann donde, en cualquier momento, sólo se está ejecutando una única instrucción. A menudo a los SISD se les conoce como computadores serie escalares. Todas las maquinas SISD poseen un registro simple que se llama contador de programa que asegura la ejecución en serie del programa. [4] MISD (Multiple Instruction stream, Single Data stream) Flujo múltiple de instrucciones y único flujo de datos. Esto significa que varias instrucciones actúan sobre el mismo y único trozo de datos. Este tipo de máquinas se pueden interpretar de dos maneras. Una es considerar la clase de máquinas que requerirían que unidades de procesamiento diferentes recibieran instrucciones distintas operando sobre los mismos datos. Esta clase de arquitectura ha sido clasificada por numerosos arquitectos de computadores como impracticable o imposible, y en estos momentos no existen ejemplos que funcionen siguiendo este modelo. Otra forma de interpretar los MISD es como una clase de máquinas donde un mismo flujo de datos fluye a través de numerosas unidades procesadoras. Arquitecturas altamente segmentadas, como los arrays sistólicos o los procesadores vectoriales, son clasificados a menudo bajo este tipo de máquinas. Las arquitecturas segmentadas, o encauzadas, realizan el procesamiento vectorial a través de una serie de etapas, cada una ejecutando una función particular produciendo un resultado intermedio. La razón por la cual dichas arquitecturas son clasificadas como MISD es que los elementos de un vector pueden ser considerados como pertenecientes al mismo dato, y todas las etapas del cauce representan múltiples instrucciones que son aplicadas sobre ese vector. [4] SIMD Single Instruction stream, Multiple Data stream Flujo de instrucción simple y flujo de datos múltiple. Esto significa que una única instrucción es aplicada sobre diferentes datos al mismo tiempo. En las máquinas de este tipo, varias unidades de UC UP MM instrucciones inst. datos Imagen 7: Taxonomía de Flynn Imagen 8: SISD Imagen 9: MISD
  • 5. procesado diferentes son invocadas por una única unidad de control. Al igual que las MISD, las SIMD soportan procesamiento vectorial (matricial) asignando cada elemento del vector a una unidad funcional diferente para procesamiento concurrente. [4] MIMD (Multiple Instruction stream, Multiple Data stream) Flujo de instrucciones múltiple y flujo de datos múltiple. Son máquinas que poseen varias unidades procesadoras en las cuales se pueden realizar múltiples instrucciones sobre da- tos diferentes de forma simultánea. Las MIMD son las más complejas, pero son también las que potencialmente ofrecen una mayor eficiencia en la ejecución concurrente o paralela. Aquí la concurrencia implica que no sólo hay varios procesado- res operando simultáneamente, sino que además hay varios programas (procesos) ejecutándose también al mismo tiempo. [4] XV. OTRAS CLASIFICACIONES La clasificación de Flynn ha demostrado funcionar bastante bien para la tipificación de sistemas, y se ha venido usando desde décadas por la mayoría de los arquitectos de computadores. La imagen 7 muestra una taxonomía ampliada que incluye alguno de los avances en arquitecturas de computadores en los últimos años. [4] XVI. MULTIPROCESADOR Un multiprocesador se puede ver como un computador paralelo compuesto por varios procesadores interconectados que pueden compartir un mismo sistema de memoria. Los procesadores se pueden configurar para que ejecute cada uno una parte de un programa o varios programas al mismo tiempo. A los multiprocesadores también se les llama sistemas de memoria compartida. Dependiendo de la forma en que los procesadores comparten la memoria, podemos hacer una subdivisión de los multipro- cesadores: UMA (Uniform Memory Access) En un modelo de Memoria de Acceso Uniforme, la memoria física ésta uniformemente compartida por todos los procesadores. Esto quiere decir que todos los procesadores tienen el mismo tiempo de acceso a todas las palabras de memoria. NUMA Un multiprocesador de tipo NUMA es un sistema de memoria compartida donde el tiempo de acceso varía según el lugar donde se encuentre localizado el acceso. La ventaja de estos sistemas es que el acceso a la memoria local es más rápido que en los UMA aunque un acceso a memoria no local es más lento. Imagen 10: SIMD Imagen 11: MIMD Imagen 12: clasificaciones Imagen 13: UMA
  • 6. COMA (Cache Only Memory Access) Un multiprocesador que sólo use caché como memoria es considerado de tipo COMA. En realidad, el modelo COMA es un caso especial del NU- MA donde las memorias distribuidas se convierten en cachés. No hay jerarquía de memoria en cada módulo procesador. XVII. MULTICOMPUTADORAS Un multicomputador se puede ver como un computador paralelo en el cual cada procesador tiene su propia memoria local. La memoria del sistema se encuentra distribuida entre todos los procesadores y cada procesador sólo puede direccionar su memoria local; para acceder a las memorias de mensajes. Esto significa que un procesador tiene acceso directo sólo a su memoria lo- cal, siendo indirecto el acceso al resto de memorias del resto de procesadores. Este acceso local y privado a la memoria es lo que diferencia los multicomputadores de los multiprocesadores. Los demás procesadores debe hacerlo por paso de XVIII. MULTICOMPUTADORES CON MEMORIA VIRTUAL COMPARTIDA En un multicomputador, un proceso de usuario puede construir un espacio global de direccionamiento virtual. El acceso a dicho espacio global de direccionamiento se puede realizar por software mediante un paso de mensajes explícito. Otra forma de tener un espacio de memoria virtual compartido es mediante el uso de páginas. En estos sistemas una colección de procesos tiene una región de direcciones compartidas pero, para cada proceso, sólo las páginas que son locales son accesibles de forma directa. [4] XIX. MÁQUINAS DE FLUJO DE DATOS Hay dos formas de procesar la información, una es mediante la ejecución en serie de una lista de comandos y la otra es la ejecución de un comando demandado por los datos disponibles. La segunda forma de ver el procesamiento de datos quizá es algo menos directa, pero desde el punto de vista de la paralelización resulta mucho más interesante puesto que las instrucciones se ejecutan en el momento tienen los datos necesarios para ello, y naturalmente se debería poder ejecutar todas las instrucciones demandadas en un mismo tiempo. [4] En una arquitectura de flujo de datos una instrucción está lista para su ejecución cuando los datos que necesita están disponibles. La disponibilidad de los datos se consigue por la canalización de los resultados de las instrucciones ejecutadas con anterioridad a los operandos de las instrucciones que esperan. [4] XX. PROCESADORES MATRICIALES Un procesador matricial consiste en un conjunto de elementos de proceso y un procesador escalar que operan bajo una unidad de control. La unidad de control busca y decodifica las instrucciones de la memoria central y las manda bien al procesador escalar o bien a los nodos procesadores dependiendo del tipo de instrucción. La instrucción que ejecutan los nodos procesadores es la misma simultáneamente, los datos serán los de cada memoria de procesador y por tanto serán diferentes. [5] XXI. PROCESADORES VECTORIALES Un procesador vectorial ejecuta de forma segmentada instrucciones sobre vectores. La diferencia con los matriciales es que mientras los matriciales son comandados por las instrucciones, los vectoriales son comandados por flujos de datos continuos. A este tipo se le considera MISD. [5] XXII. ARRAYS SISTÓLICOS Otro tipo de máquinas que se suelen considerar MISD son los arrays sistólicos. En un arrays sistólico hay un gran número de elementos de proceso (EPs) idénticos con una limitada memoria local. Los EPs están colocados en forma de matriz (arrays) de manera que sólo están permitidas las conexiones con los EPs vecinos. Por lo tanto, todos los procesadores Imagen 14: NUMA Imagen 15: COMA Imagen 16: flujo de datos
  • 7. se encuentran organizados en una estructura segmentada de forma lineal o matricial. Los datos fluyen de unos EPs a sus vecinos a cada ciclo de reloj, y durante ese ciclo de reloj, o varios, los elementos de proceso realizan una operación sencilla. El adjetivo sistólico viene precisamente del hecho de que todos los procesadores vienen sincronizados por un único reloj que hace de “corazón” que hace moverse a la máquina. [6] XXIII. ARRAYS SISTÓLICOS Por un lado estaba la paralelización de código que se consigue con las máquinas de tipo MIMD, y por otro lado estaba la paralelización de los datos conseguida con arquitecturas SIMD y MISD. En la práctica, el mayor beneficio en paralelismo viene de la paralelización de los datos. Esto es debido a que el paralelismo de los datos explota el paralelismo en proporción a la cantidad de los datos que forman el cálculo a realizar. Sin embargo, muchas veces resulta imposible explotar el paralelismo inherente en los datos del problema y se hace necesario utilizar tanto el paralelismo de control como el de datos. Por lo tanto, procesadores que tienen características de MIMD y SIMD (o MISD) a un tiempo, pueden resolver de forma efectiva un elevado rango de problemas. [6] REFERENCIAS [1] http://informatica.uv.es/iiguia/AAC/AA/apuntes/aic_intro.pdf [2]http://www.monografias.com/trabajos16/arquitectura- paralela/arquitectura-paralela.shtml [3] http://www.frbb.utn.edu.ar/hpc/lib/exe/fetch.php?media=2013- 02-aquitecturas.pdf [4] http://www.fing.edu.uy/inco/cursos/hpc/material/clases/Clase2- 2009.pdf [5] P. Conway, N. Kalyanasundharam, G. Donley, K. Lepak, and B. Hughes. Cache hierarchy and memory subsystem of the AMD Opteron processor. [6] G. Ananth, G. Anshul, K. George, and K. Vipin. Introduction to parallel computing, 2003.