jueves, 11 de abril de 2013

ARQUITECTURA PARALELA VS SEGMENTADA


ARQUITECTURAS PARALELAS


Un computador paralelo es un conjunto de elementos de proceso que se comunican y cooperan para resolver rápidamente grandes problemas, se puede decir que la arquitectura paralela es la unión de la arquitectura convencional y la arquitectura de comunicación.

El procesamiento paralelo es un término que se usa para denotar un grupo de técnicas significativas que se usan para proporcionar tareas simultáneas de procesamiento de datos con el fin de aumentar la velocidad computacional de un sistema de computadoras. En lugar de procesar cada instrucción en forma secuencial como es una computadora convencional, un sistema de procesamiento paralelo puede ejecutar procesamiento concurrente de datos para conseguir un menor tiempo de ejecución. Por ejemplo, cuando se ejecuta una instrucción en la ALU, puede leerse la siguiente instrucción de la memoria.

“La arquitectura paralela o de líneas paralelas (pipe-line) es una técnica en la que se descompone un proceso secuencial en sub operaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos” (Morris, Pág. 322.)

El procesamiento paralelo puede considerarse de diversos niveles de complejidad. En el nivel mas bajo, distinguimos entre operaciones seriales y paralelas mediante el tipo de registros que utilizan. Los registros de corrimiento operan en forma serial un bit a la vez, mientras que los registros con carga paralela operan con todos los bits de la palabra en forma simultanea.

ARQUITECTURA DE FLYNN

La taxonomía de Flynn es una clasificación de arquitecturas de computadoras propuesta por Michael J. Flynn. En 1972.Las cuatro clasificaciones definidas por Flynn se basan en el número de instrucciones concurrentes (control) y en los flujos de datos disponibles en la arquitectura.

En 1966, Flynn propuso un sencillo modelo de organización de computadores que aun en la actualidad se utilizan conforme fue propuesto. Flynn Escrutó los componentes mas decisivos de la maquina, contando el numero de instrucciones paralelas y su flujo de datos, clasificando a posteriori los sistemas de información de las siguiente forma:

A.      SISD: Single Instruction; Single Data.
B.      SIMD: Single Instruction; Multiple Data.
C.      MISD: Multiple Instruction, Single data.
D.     MIMD: Multiple Instruction; Multiple Data

Las maquinas utilizadas por Flynn fueron los IBM 740 y 7090, modelos SISD de la época; Hoy en día podríamos utilizar los MIPS R2000 y R3000 como modelos SISD. Proponemos pues como arquitecturas para este tema, los SIMD y los MIMD.

·     Los computadores SIMD operan perfectamente sobre arrays (Vectores de datos). SIMD posee múltiples unidades funcionales para paralelizar el trabajo. Su virtud es que todas estas unidades funcionales de ejecución en paralelo están sincronizadas y todas responden adecuadamente a una sola instrucción que proviene de un único contador de programa.

Si analizamos las maquinas del tipo MIMD, encontraremos una idea de diseño bastante utópica; es llamado “El Dorado” de los computadores: Diseñar computadores potentes y mediante la conexión de otros de menor tamaño.

ARQUITECTURAS SEGMENTADAS

La segmentación (pipelining) es una técnica de implementación de procesadores que desarrolla el paralelismo a nivel de intrainstrucción. Mediante la segmentación se puede solapar la ejecución de múltiples instrucciones. El procesamiento segmentado aprovecha la misma filosofía de trabajo de fabricación en cadena, donde cada etapa de la segmentación completa una parte (subtarea) de la tarea total. Los segmentos están conectados cada uno con el siguiente, que forma de la salida de uno pasa a ser la entrada de la siguiente. Así los segmentos configuran un cauce a través del proceso de la tarea deseada, los procesadores segmentados también se conocen como procesadores encauzados. Una gran contribución de la segmentación es la posibilidad de comenzar una nueva tarea sin tener que acabar una anterior. La medida de eficacia de un procesador segmentado no es el tiempo transcurrido desde que comienza y termina una tarea, sino el tiempo máximo que puede pasar entre la finalización de dos tareas consecutivas.

Evidentemente no es posible la segmentación sin el incremento de recursos de procesos.

Fig.1. Tarea procesada secuencialmente.



Fuente:(Bastida, 2006).

Fig.2. Tarea ejecutada mediante un procesador segmentado.




Fuente:(BASTIDA, 2006).

Al número de segmentos del procesador, se le llama profundidad de la segmentación. Para que el tiempo de latencia de un procesador segmentado sea mínimo el procesador debe estar equilibrado, es decir que todas las tareas divididas tarden el mismo tiempo.

CLASIFICACIÓN

Puede establecerse una clasificación de los procesadores segmentados atendiendo al uso que se da a la segmentación. Esta clasificación fue propuesta por Handler (1977):
  •            Segmentación Aritmética.
  •      Segmentación de instrucciones.
  •      Segmentación de procesadores.

CONFLICTOS Y SUS TIPOS

Hay circunstancias que pueden disminuir el rendimiento de un procesador segmentado debido a que provocan la detención del cauce. Estas circunstancias se denominan riesgos o conflictos, existiendo tres tipos:
  • Conflictos estructurales.
  • Conflictos por dependencia de datos.
  • Conflictos de control (BASTIDA, 2006).
BIBLIOGRAFÍA
  • BASTIDA, Javier Ibañez (2006). Arquitectura de Computadores. Universidad de Valladolid. España.
  • M. Morris Mano (1994), Arquitectura de computadoras 3 Edicion. Editorial: Phyllis Morgan.



No hay comentarios:

Publicar un comentario