Unidad 3. Arquitecturas SIMD

Slides:



Advertisements
Presentaciones similares
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Advertisements

1.3. PROGRAMACION PARALELA
FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.
Multiprocesadores 3.1 Dominios de aplicación
Arquitectura de Computadores I
UNLaR IBA Ciclo
Módulo I: PRINCIPIOS Y CONCEPTOS BÁSICOS DE LA INFORMÁTICA (20%)
El Microprocesador.
Introducción a la Programación
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
LECCIÓN 8. DISEÑO DE SISTEMAS DIGITALES DE CONTROL
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
EMISION MULTIPLE DE INSTRUCCIONES
Arquitectura de Conjunto de Instrucciones (ISA)
Circuitos Secuenciales
Unidad 3. Arquitecturas SIMD
Composición Interna de un Procesador
Computadora Digital Arquitectura de John Von Neumann
Tema 6: Procesadores Vectoriales
Redes de Transmisión de Datos Unidad IV. Interconexion de Redes.
Arquitectura del Computador
Vista General del Funcionamiento del Computador y sus Interconexiones
ARQUITECTURAS SIMD TIPOS
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
ARQUITECTURA DE MÁQUINAS COMPUTADORAS III
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Diseño y Mantenimiento de un cluster para la dinámica de fluidos
Telecomunicaciones y redes Ing. Enrique Meneses. La revolución de las telecomunicaciones O Telecomunicación: comunicación de información por medios electrónicos,
Ing. Fabián Ruano.  Definición  Diferencias con BD Centralizadas.
REGISTROS DE DESPLAZAMIENTO
Procesamiento paralelo
Segmentación No Lineal
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Conexión entre dos computadoras.  Datos: son hechos que describen sucesos y entidades. No tienen ninguna información. Puede significar un numero, una.
ARQUITECTURAS SIMD Clase Práctica No Vector Processor M-M 1. Estime el tiempo de ejecución de una suma vectorial en un Vector Processor M-M basado.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
TEMA 2: Organización de computadores
Memorias RAM Características: Son de lectura escritura
SISTEMAS OPERATIVOS.
14 de diciembre de 2005 Universidad de Murcia1 Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de.
Tema 3: Paralelismo en Multiprocesadores (I)
Arquitectura y Ensamblaje de Computadores
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
ARQUITECTURAS PARALELAS
“Organización y Arquitectura de Computadores” William Stallings
PROCESADORES DE SEÑALES DE VIDEO VSP2000 PALOMA FUENTES Microprocesadores para Comunicaciones – 5º ETSIT.
Escuela Normal “Profr. Darío Rodríguez Cruz”
CLASIFICACION DE LAS COMPUTADORAS
Tema 7: UNIDAD CENTRAL DE PROCESOS (CPU) Cáceres Pari Ángel Raúl
Metodología de la programación
NOCIONES BÁSICAS COMPUTO II
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
ARQUICTECTURA DE SERVIDORES
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
Contenido Los puntos 9.7 y 9.8 no se dan 9.1. Revisión del concepto de máquina secuencial. Taxonomía Temporización en los circuitos lógicos síncronos.
Modos de direccionamiento
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Principio unidad 1.
MODOS DE TRANSMISION Pucallpa 15 de Enero del 2009.
* UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNIC IONES ADMINISTRACION DE SERVIDORES «ARQUITECTURA DE COMPUTADORAS»
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
Alumno: Gerardo Mario Valdés Ortega
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
SISTEMAS OPERTIVOS DE RED Los usuarios están conectados a la red y que pueden compartir recursos. Cada equipo ejecuta con sus propios recursos su propio.
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Arquitectura básica de la computadora
CAPITULO V Arquitectura de Von Neumann
Transcripción de la presentación:

Unidad 3. Arquitecturas SIMD Procesadores Vectoriales y Matriciales Docente: Ing. José Díaz Chow

Objetivos Enumerar los diferentes tipos de Arquitecturas SIMD, naturaleza de la solución y nivel de paralelismo de cada una de ellas. Describir el principio de diseño y funcionamiento de los Procesadores Matriciales. Explicar el funcionamiento del Procesador en Arreglo (Array Processor), el Procesador Sistólico, Procesador en Frente de Onda y Procesador Asociativo. Valorar la importancia del legado de las arquitecturas SIMD en la computación actual.

Recordemos … Limitaciones de desempeño en el campo de la computación científica. Necesidad de procesar gran volumen de información. Necesidad de procesar vectores y Matrices, no solo escalares.

Recordemos … Algoritmos secuenciales para cálculo vectorial. Ejemplo: Multiplicación de Matrices: C[] = A[] x B[] - Algoritmo costoso: O(n). FOR I = 1 TO N FOR J=1 TO M C[I,J] = 0.0 FOR K=1 TO L C[I,J] = C[I,J]+A[I,K]*B[K,J] END FOR t N

Arquitecturas SIMD Procesadores Vectoriales Procesadores Matriciales Arquitecturas Memoria a Memoria Arquitecturas Registro a Registro Procesadores Matriciales Array Processor Systolic Processors Associative Processors Wavefront Processors

Procesadores Matriciales Emular el tipo de datos y sus operaciones: Procesador como un arreglo de unidades de ejecución o Elementos o Unidades de Procesamiento (EP). Cada EP es una unidad de ejecución con ALU simple o completa y almacenamiento: registros y a veces memoria local. Toda la red de EP gobernada por una Unidad de Control o Procesador central. Procesador en Arreglo o Array Processor. Otras arquitecturas derivaron posteriormente.

Procesadores Matriciales Procesador en arreglo (Array Processor). Procesador sistólico (Systolic Processor). Procesador de frente de onda (Wavefront Processor). Procesador Asociativo (Associative Processor)  

Array Processor Red o matriz de EP con una Unidad de Control Central. Todos los EP comunicados con Memoria EP comunicados entre sí. Red Síncrona. Ciclo de carga de datos + ejecución de instrucción. UC difunde (broadcast) la instrucción a todos los EP.

Array Processor Memoria común accedida por los EP o red de módulos de memoria de EP coordinada por control. Los EPs pueden Habilitarse o deshabilitarse (enmascararse) desde la UC. Enmascaramiento: limitar estructura y configurar operaciones. Bus de Control UC Modo Bus Común EP EP EP Routing PMEM PMEM PMEM Enrutamiento entre diferentes EP para comunicar resultados parciales en esquemas de ejecución.

Array Processor – Routing Network 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 i-8 12 i-1 i+1 19 20 21 28 i+8

Systolic Array Processors Concepto introducido por Kung y colegas (Carnegie-Mellon) Sistólico porque la memoria funciona como el corazón, inyectando datos al arreglo en cada pulso de reloj Consigue mejoras de procesamiento sin necesidad de incrementar el ancho de banda de la memoria

Systolic Array Processors Cauce en formación matricial con múltiples flujos de datos. Conjunto de celdas simples (Unas sola operación con entradas y Registro). Control e interconexión simples (No Broadcasting)

Systolic Array Processors Datos fluyen de forma encauzada, estructurada y son accesibles sólo en las fronteras. Interconexión en matriz o árbol.

Systolic Array Processors Empleado para Aritmética Matricial de alto nivel: Multiplicación Inversión de Matrices Descomposición L - U Fácil de expandir mediante VLSI debido a la simplicidad de diseño de la celda o EP. Desventaja: Limitado por la velocidad de memoria y/o Entrada Salida. Requiere aún gran ancho de banda pues la red es todavía síncrona. Memorias especializadas.

Wave Front Processors Redes sincrónicas vs. redes asíncronas Los Array Processor emplean broadcasting síncrono. Los Systolic processor no usan broadcasting pero su red es síncrona. Requieren Memorias de alta velocidad. Altos costos de construcción. ¿ Es una red asíncrona factible? Proceder hasta que el dato esté disponible. Esperar a que memoria entregue datos. Celdas o EP calculan por “eventos”  Disaparan

Wave Front Processors Procesador basado en red de EP asíncrona. Celdas simples y comunicación simple (similar al sistólico). Cuando hay datos válidos en las entradas, la celda de dispara (computa) y expande entradas o resultado a las salidas.

Wave Front Processors Los datos entran por las celdas de la frontera y generan disparos. Los disparos activan las celdas contiguas. Nuevos datos generan nuevos disparos: tren de disparos similar a un frente de ondas: sonido, perturbación en agua, etc. De esta analogía su nombre.

Associative Processors Procesadores paralelos basados en estructuras de datos asociativas (Memorias asociativas) Aplican la instrucción sobre todos los datos cuya clave satisface los parámetros o argumentos de búsqueda. Problema de la construción de memoria asociativas grandes: Comparación en paralelo de todos los bits de todas las palabras de la memoria (bit-paralelo, palabra-paralela) Comparación en serie de los i-ésimos bits (bitslice) de todas las palabras (bit-serie, palabra-paralela) Taxonomía de Feng desarrollada sobre este paradigma para definir el nivel de paralelismo: bit-{serie|paralelo},palabra-{serie|paralela}

Associative Processors En la actualidad estas arquitecturas han dado pie a nuevos paradigmas computacionales con soporte de hardware para bases de datos y aplicaciones que demandan procesamiento paralelo de conjuntos de datos. Ejemplos: PEPE (Burrogs Corp., 1972) STARAN (Goodyear, 1972). Construído para la Marina USA, orientado al procesamiento de objetos de radar. Posteriormente: procesadores asociativos masivamente paralelos para apoyo en campos y aplicaciones específicos tales como RDBMS (RAP, Neocore LCC) e Inteligencia Artificial (AM3, IXM2).

Estructuras de Interconexión SIMD Necesaria una estructura que interconecte todos los EPs. Decisiones de diseño: Modo de operación: Sincrónica – Asíncrona Estrategia de Control: Centralizado o Distribuido. Metodología de Comunicación: Conmutación de Circuitos o Conmutación de Paquetes. Topología de Red: Estáticas – Dinámicas

Algoritmos SIMD Son más complejos pero con mejor rendimiento. Reproducen el comportamiento natural de la operación. Ganancia significativa sobre homólogo secuencial. Ejemplos: Multiplicación de matrices. Secuencial es O(n3) Con VP O(n2) Carga de vectores, barrer filas por columnas. Con Array Processor basado en hipercubos: O(n log2 n)

Legado de las arquitecturas SIMD Procesamiento de multimedia presenta mismos requerimientos de procesamiento en flujo continuo. Principios y técnicas aplicadas son apropiadas para el procesamiento de streams de multimedia. Extensiones multimedia en procesadores actuales las emplean: Intel’s MMX AMD’s 3DNow! Intel’s SSE

Gracias