1 / 23

Unidad 3. Arquitecturas SIMD

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 .

norm
Download Presentation

Unidad 3. Arquitecturas SIMD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 (ArrayProcessor), 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.

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

  4. Recordemos … • Algoritmossecuenciales para cálculovectorial. • Ejemplo: Multiplicación de Matrices: C[] = A[] x B[] - Algoritmocostoso: 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 END FOR END FOR t N

  5. Arquitecturas SIMD • ProcesadoresVectoriales • ArquitecturasMemoria a Memoria • ArquitecturasRegistro a Registro • ProcesadoresMatriciales • Array Processor • Systolic Processors • Associative Processors • Wavefront Processors

  6. ProcesadoresMatriciales • Emular el tipo de datos y susoperaciones: Procesadorcomo 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 gobernadaporunaUnidad de Control o Procesador central. • Procesador en Arreglo o Array Processor. • Otrasarquitecturasderivaronposteriormente.

  7. ProcesadoresMatriciales • Procesador en arreglo (ArrayProcessor). • Procesadorsistólico (Systolic Processor). • Procesador de frente de onda (Wavefront Processor). • ProcesadorAsociativo (Associative Processor)

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

  9. Array Processor • Memoriacomúnaccedidapor los EP o red de módulos de memoria de EP coordinadapor 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 comunicarresultadosparcialesen esquemas de ejecución.

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

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

  12. 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)

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

  14. 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. • Requiereaún gran ancho de bandapues la red estodavíasíncrona. • Memoriasespecializadas.

  15. Wave Front Processors • Redes sincrónicas vs. redes asíncronas • Los ArrayProcessor emplean broadcastingsíncrono. • Los Systolic processor no usan broadcasting perosu red essíncrona. • Requieren Memorias de alta velocidad. • Altos costos de construcción. • ¿ Esuna red asíncronafactible? • Proceder hasta que el dato esté disponible. • Esperar a que memoria entregue datos. • Celdas o EP calculanpor “eventos”  Disaparan

  16. Wave Front Processors • Procesadorbasado 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.

  17. Wave Front Processors • Los datosentranporlasceldas de la frontera y generandisparos. • Los disparosactivanlasceldascontiguas. • Nuevosdatosgenerannuevosdisparos: tren de disparos similar a un frente de ondas:sonido, perturbación en agua, etc. • De esta analogía su nombre.

  18. 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 memoriaasociativasgrandes: • Comparación en paralelo de todos los bits de todaslaspalabras de la memoria (bit-paralelo, palabra-paralela) • Comparación en serie de los i-ésimos bits (bitslice) de todaslaspalabras (bit-serie, palabra-paralela) • Taxonomía de Feng desarrollada sobre este paradigma para definir el nivel de paralelismo: bit-{serie|paralelo},palabra-{serie|paralela}

  19. 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).

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

  21. 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 ArrayProcessor basado en hipercubos: • O(n log2 n)

  22. Legado de lasarquitecturas SIMD • Procesamiento de multimedia presentamismosrequerimientos de procesamiento en flujo continuo. • Principios y técnicasaplicadas son apropiadas para el procesamiento de streams de multimedia. • Extensiones multimedia en procesadoresactualeslasemplean: • Intel’s MMX • AMD’s 3DNow! • Intel’s SSE

  23. Gracias

More Related