ARQUITECTURAS SIMD Clase Práctica No 6. 1. Vector Processor M-M 1. Estime el tiempo de ejecución de una suma vectorial en un Vector Processor M-M basado.

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
1.3. PROGRAMACION PARALELA
FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.
UNIVERSIDAD NACIONAL DE INGENIERÍA UNI- NORTE
Carlos Rojas Kramer Universidad Cristóbal Colón
El Microprocesador.
Especialista en Business Intelligence Integration Services SSIS (Sesión 5) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o.
SQL Server Integration Services SSIS
TRANSFORMACIONES GEOMÉTRICAS
Operaciones con matrices
Prof. Ramón Garduño Juárez Modelado Molecular Diseño de Fármacos
El procesador: la ruta de datos y el control (II Parte)
Unidad aritmético-lógica
EMISION MULTIPLE DE INSTRUCCIONES
Unidad 3. Arquitecturas SIMD
Tema 6: Procesadores Vectoriales
Arquitectura del Computador
Distinguir y realizar los cálculos con las operaciones matriciales básicas. Las operaciones matriciales permiten el abordaje de los métodos del álgebra.
ARQUITECTURAS SIMD TIPOS
ALGORITMO DE FLOYD dik + dkj < dij
Informática empresarial
P(C) = m * nMAXIMO GRADO DE PARALELISMO WSBS ha sido llamado el procesamiento en serie de bits, ya que se procesa un bit por vez (n = m = 1). Es el procesamiento.
ANALISIS MATEMÁTICO PARA ECONOMISTAS IV
Procesamiento paralelo
Unidad 3. Arquitecturas SIMD
Segmentación No Lineal
Arquitectura de Máquinas Computadoras II
METODOLOGÍA DE LA PROGRAMACIÓN
Soporte HW para Administración de Memoria Cecilia Hernández
Propiedades de los determinantes.
Algebra Lineal.
TEMA 2: Organización de computadores
Funcionamiento de la CPU
M A T R I C E S MATRICES matrices.
UNIDAD 4 Clase 5.2 Tema: Determinantes
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.
Matrices Conceptos generales
Unidad aritmético-lógica
ALGORITMO DE FACTORIZACION DIRECTA.
Arquitectura de Von Neumann
Matrices – Determinantes Sistemas de Ecuaciones lineales
Multiplicación de matrices
003 MATRICES MATRICES.
Organización del Computador I Verano Aritmética (3 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Matemática Básica para Economistas MA99
JUAN LUIS CHAMIZO BLÁZQUEZ
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Capítulo 4 CPU y la memoria.
Tendencias Generales Dotación física Software lógica Más pequeño
INTRODUCCIÓN El rendimiento, costo de compra y costo de operación forman la base para la toma de decisiones, sobre que PC es mejor que otra y así adquirir.
Tema: Propiedades de los determinantes
Matrices: Definiciones, matrices especiales y operaciones con matrices
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.
III UNIDAD MATRICES.
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.
003 MATRICES MATRICES.
Matrices.
MENORES Y COFACTORES.
MATRICES.
6. Sistemas de ecuaciones diferenciales lineales
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
Método de cofactores para cálculo de determinantes
TEMA 2 : ALGEBRA DE MATRICES.
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Estructura y funcionamiento de un sistema de cómputo
Escuela de Ciencias Básicas, Tecnologías e Ingenierías Álgebra Lineal – Webconferencia Ing. Vivian Alvarez A. Puerto Colombia, Mayo 04 de 2016.
Transcripción de la presentación:

ARQUITECTURAS SIMD Clase Práctica No 6

1. Vector Processor M-M 1. Estime el tiempo de ejecución de una suma vectorial en un Vector Processor M-M basado en un cauce de 7 etapas que tiene un período de reloj de 200 ns y un tiempo de preparación de 20 ciclos, sabiendo que la operación se realiza sobre vectores de 128 elementos manteniendo ejecución en flujo continuo todo el tiempo.

1. Vector Processor M-M Recordemos Modelo tiempo de ejecución t v = t preparacion + t paso t v = t preparacion + k  + (N-1)  Reemplazando: t v = 20  + 7  + (N-1)  27+ N-1)   t v =  )  = 154*200ns  t v = 30,800ns = 30.8  s

2. Vector Processor R-R Suponga que usted ejecuta dos operaciones vectoriales con dependencia de datos R-D en un VP R-R. La primera operación la realiza una unidad vectorial basada en un cauce de 5 etapas. La segunda, en otra unidad de 7 etapas. Todas las unidades tienen un período de reloj de 100 ns y un tiempo de preparación de 10 ciclos. sabiendo que las operaciones se realizan sobre vectores de 128 elementos, estime: Tiempo de ejecución total si las operaciones se ejecutan secuencialmente. Tiempo de ejecución total si se emplea encadenamiento de cauces.

2. Vector Processor R-R Caso secuencial: similar al anterior t total = [tprep 1 + k 1  +(N-1)  ] + [tprep 2 + k 2  +(N-1)  ] Con Encadenamiento: t total = tprep 1 + k 1  + k 2  +(N-1)  tprep 1 + (k 1 +k 2 +N-1)  t prep1 k1k1 (N-1)  t prep2 k2k2 (N-1)  t prep1 k1k1 t producción  (N-1)  t prep2 k2k2 (N-1) 

3. Array Processor: S(k) Explique el funcionamiento de un Array Processor para calcular Suma S(k) de las primeras k componentes de un vector A. Recuerde que esta arquitectura se basa en una red de EPs con UC central. Aproveche las operaciones de ruteo y enmascaramiento para calcular las sumas recursivamente.

3. Array Processor: S(k) Se desea implementar operación S(k) o suma de las primeras k componentes de un vector A para todo k = 0,1, N-1, dado A= (A 0, A 1,......A N-1 ) Resulta un vector donde cada elemento vale S(K): la suma de las componentes inferiores o igual a la posición del elemento. Se puede calcular recursivamente realizando N-1 iteraciones definidas como: S(0) = A(0) S(k) = S(k-1) + A(k) para k = 1,2,...., N-1 En el ArrayProcessor esta operación requiere uso de N EPs y se ejecuta en [log 2 N] pasos. Por ejemplo, para N = 8 se usan 8 EP y se ejecuta en 3 pasos: [log 2 8]=3. Utiliza ruteo de datos y enmascaramiento de EP.

3. Array Processor: S(k) Preparación: Se copia cada elemento del vector al registro A de su EP correspondiente (ALU: A = A + D). Primer paso:  i = 0 a N-2, enrutar el valor del registro A del EP (i) al registro D del EP (i+1) y la unidad de control envía: + Segundo paso:  i = 0 a N-3, enrutar el valor del registro A del EP (i) al registro D del EP (i+2) y la unidad de control envía: + Tercer paso:  i = 0 a N-5 enrutar el valor del registro A del EP (i) al registro D del EP (i+4) y la unidad de control envía: +

3. Array Processor: S(k)

4. Array Processor: C[] = A[]+B[] Diseñe un Array Processor de 4x4 celdas. Recuerde que esta arquitectura se basa en una red de EPs con UC central. Explique la funcionalidad de cada EP para que pueda realizar suma matricial. Corra una suma matricial de 2 matrices de 4X4 en este procesador, explicando el proceso.

4. Array Processor: C[] = A[]+B[] Esta operación es más simple y puede ser directa si N(RedEP) > N(A|B). Dado que es el caso: Preparación: Se cargan los elementos correspondientes de A[] y B[] a los registros A y D de los EP. Paso 1: Unidad de control instruye: + Guardar resultado: Se almacenan los elementos correspondientes de los registros A de los EP a C[]. Ejemplo en clase

5. WaveFront Processor: C[] = A[]*B[] Diseñe un WaveFront Processor de 2x2 celdas para multiplicar matrices. Recuerde que esta arquitectura se basa en una red de EPs con control distribuido en la red y los EPs con disparos de celdas y propagación de datos. Explique la funcionalidad de cada EP para que pueda realizar multiplicación matricial. Corra una multiplicación matricial 2x2 para verificar el funcionamiento del WFP. Carque las celdas de la periferia con vectores filas de la primera matriz en las entradas X y vectores columnas de la segunda matriz por las entradas Y. Verifique la multiplicación con una matriz diagonal (idéntico). Trate de derivar una expresión para determinar el desempeño del procesador en la multiplicación de matrices.

5. WaveFront Processor: C[] = A[]*B[] Ejemplo de la clase. Solo resta: Aplicar la multiplicación con B[] como matriz diagonal. Derivar expresión del rendimiento: tiempo de ejecución. Calcular las olas que se requieren para diferentes tamaños de matrices  Expresión general en base a N. Otras consideraciones: Definir un tiempo de disparo y de propagación. Considerar el tiempo medio de acceso de la memoria. No se puede basar en  porque la red es asíncrona.

6. Procesador Sistólico C[]=A[]*B[] Diseñe un procesador sistólico para multiplicación de matrices 2x2. Recuerde que esta arquitectura se basa en una red de EPs con control distribuido en la red y los EPs. Explique la funcionalidad de cada EP para que pueda realizar multiplicación matricial. Derive una expresión para determinar el desempeño del procesador en la multiplicación de matrices.

6. Procesador Sistólico C[]=A[]*B[] Preparación: Configuración de las celdas (control distribuido) Celda Multiplicativa-Aditiva (similar a la del WFP) Se requerirá involucrar 3(N 2 - N) + 1 celdas o EP para la operación C[N] = A[N] * B[N]. Tiempo: Se requieren 3N-1 pasos para ejecutar la operación.

6. Procesador Sistólico C[]=A[]*B[]

7. Procesadores Asociativos Investigue el funcionamiento de una memoria asociativa, diferenciando los niveles bit serie-palabra paralelo y bit paralelo-palabra paralelo. Abordado en clase Consultar el Hwang o Internet.