ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Procesadores Matriciales SIMD

EdgarS231115 de Mayo de 2013

8.724 Palabras (35 Páginas)1.702 Visitas

Página 1 de 35

ÍNDICE

Págs

ÍNDICE……………………………………………………………….1

INTRODUCCIÓN……………………………………………………2

CAPÍTLO I

DEFINICIÓN DE ARQUITECTURAS SIMD……………………...3

CAPÍTLO II

ORGANIZACIÓN DE LAS COMPUTADORAS SIMD…………...8

CAPITULO III

3.1 PROCESADORES ARRAY

DE ESTRUCTURA BIT-PLANE…………………………………..13

3.2 ARQUITECTURA DE PROCESADORES

ARRAY DE MEMORIA ASOCIATIVA………………………........14

3.3 SYSTOLIC ARRAYS (SISTÓLICOS)………………………...16

CAPÍTULO IV

MODELOS COMERCIALES Y CAMPO DE APLICACIÓN

DE LOS PROCESADORES MATRICIALES…………………….27

CONCLUSIÓN……………...……………………………………….39

BIBIOGRAFÍA…..…………………………………………………...40

ANEXOS…..…………………………………………………………41

INTRODUCCIÓN

En el presente trabajo práctico se abordará sobre el estudio de los Procesadores Matriciales SIMD, siglas en inglés que significan Flujo de instrucción simple y flujo de datos múltiple. La forma SIMD de procesamiento paralelo, es también llamada Array Processor y está especialmente diseñada para realizar cómputos vectoriales sobre matrices o arrays de datos. Es por ello que su uso es apropiado para resolver problemas numéricos que se puedan expresar en formato vectorial o matricial. El objetivo de este trabajo es presentar de una forma clara por medio de una investigación documental los conceptos y aplicaciones de las Arquitecturas SIMD, ello para ampliar o reforzar los conocimientos sobre este tipo de computadores y cumplir con las exigencias del objetivo 8 de la unidad 8, del módulo III de la asignatura Arquitectura del Computador (código 333). A continuación, para cumplir con el objetivo mencionado, se desarrollarán los siguientes puntos esbozados en capítulos: Capítulo I: DEFINICIÓN DE ARQUITECTURAS SIMD, Capítulo II: ORGANIZACIÓN DE LAS COMPUTADORAS SIMD, Capítulo III:subdividido en 3.1 PROCESADORES ARRAY DE ESTRUCTURA BIT-PLANE, 3.2 ARQUITECTURA DE PROCESADORES ARRAY DE MEMORIA ASOCIATIVA, 3.3 SYSTOLIC ARRAYS (SISTÓLICOS) y Capítulo IV: MODELOS COMERCIALES Y CAMPO DE APLICACIÓN DE LOS PROCESADORES MATRICIALES.

CAPÍTULO I

DEFINICIÓN DE ARQUITECTURAS SIMD

Antes de dar una definición de la arquitectura SIMD, veremos la clasificación de los Sistemas Paralelos, propuesta por Michael Flynn en 1966, aunque esta clasificación no cubre todas las posibles arquitecturas, proporciona una importante penetración en varias arquitecturas de computadoras y es la más popular, 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:

1.- 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 máquinas SISD poseen un registro simple que se llama contador de programa que asegura la ejecución en serie del programa. Conforme se van leyendo las instrucciones de la memoria, el contador de programa se actualiza para que apunte a la siguiente instrucción a procesar en serie. Prácticamente ningún computador puramente SISD se fabrica hoy en día ya que la mayoría de procesadores modernos incorporan algún grado de paralelización como es la segmentación de instrucciones o la posibilidad de lanzar dos instrucciones a un tiempo (superescalares).

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

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

Por ejemplo, el cálculo de la paga para cada trabajador en una empresa, es repetir la misma operación sencilla para cada trabajador; si se dispone de una arquitectura SIMD esto se puede calcular en paralelo para cada trabajador. Por esta facilidad en la paralelización de vectores de datos (los trabajadores formarían un vector) se les llama también procesadores matriciales.

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 datos 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 procesadores operando simultáneamente, sino que además hay varios programas (procesos) ejecutándose también al mismo tiempo. (ver en anexos otras clasificaciones más recientes)

Las arquitecturas SIMD (Single Instruction Multiple Data) ejecutan la misma instrucción sobre múltiples datos simultáneamente; de manera semejante a como un sargento ordena a todo el pelotón dar media vuelta, en lugar de hacerlo de soldado en soldado. Las Computadoras SIMD se usan para resolver problemas científicos y de ingeniería que son computacionalmente intensivos e implican estructuras de datos regulares como vectores y arreglos,

Figura 1: Diagrama de bloques de la arquitectura SIMD.

La característica principal de este tipo de arquitecturas es que cuentan con una sola unidad de control, quien es la responsable de interpretar y distribuir la misma instrucción a todos los procesadores. En caso de que no se desee ejecutar la misma instrucción en todos los procesadores, es posible habilitar sólo los procesadores necesarios por medio de una máscara. La figura 1 muestra un modelo de arquitectura SIMD de tres procesadores, cada uno operando con su propia memoria local. Todos los procesadores operan bajo el control de una sola secuencia de instrucciones emitida por una unidad de control central. Existen tres flujos de entrada de datos, uno por procesador, los cuales se operan de manera síncrona. En cada paso, todos los procesadores ejecutan la misma instrucción sobre un dato diferente.

La mayoría de las aplicaciones interesantes que utilizan este tipo de computadoras requieren que los procesadores puedan comunicarse entre sí con el fin de intercambiar datos o resultados intermedios. Esta comunicación se logra por alguno de los siguientes dos esquemas: mediante una memoria común (arquitecturas SIMD a memoria compartida) o mediante una red de interconexión (arquitecturas SIMD a memoria distribuida).

En las arquitecturas a memoria compartida todos los procesadores comparten el mismo espacio de memoria; esto significa que el conocimiento de donde se almacenan los datos no es preocupación para el usuario pues hay solamente una memoria para todos los procesadores. En las arquitecturas de memoria distribuida cada procesador tiene su propia memoria asociada. Los procesadores están conectados por medio de una red de interconexión que les permite intercambiar datos entres sus respectivas memorias cuando es necesario. En contraste con las máquinas de memoria compartida, el usuario debe estar enterado de la localización de los datos en las memorias locales y deberá mover o distribuir estos datos explícitamente cuando sea necesario.

Las principales

...

Descargar como (para miembros actualizados) txt (60 Kb)
Leer 34 páginas más »
Disponible sólo en Clubensayos.com