1 / 18

Arquitecturas SIMD

Arquitecturas SIMD. Clase Práctica No 6. 1. Vector Processor M-M.

jereni
Download Presentation

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. Arquitecturas SIMD ClasePráctica No 6

  2. 1. Vector Processor M-M • 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.

  3. 1. Vector Processor M-M • RecordemosModelotiempo de ejecución tv = tpreparacion + tpaso tv = tpreparacion + kt + (N-1)t • Reemplazando: tv = 20t + 7t + (N-1)t = (27+ N-1)t • tv = (27+ 127)t = 154t = 154*200ns • tv = 30,800ns = 30.8ms

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

  5. 2. Vector Processor R-R • Casosecuencial: similar al anterior ttotal = [tprep1 + k1t +(N-1)t] + [tprep2 + k2t +(N-1)t] • Con Encadenamiento: ttotal = tprep1 + k1t + k2t +(N-1)t = tprep1 + (k1+k2+N-1)t tproducción  (N-1)t k1t tprep1 k2t tprep2 (N-1)t tprep1 k1t (N-1)t tprep2 k2t (N-1)t

  6. 3. Array Processor: S(k) • Explique el funcionamiento de un ArrayProcessor 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.

  7. 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= (A0, A1, ......AN-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 [log2N] pasos. • Por ejemplo, para N = 8 se usan 8 EP y se ejecuta en 3 pasos: [log28]=3. • Utiliza ruteo de datos y enmascaramiento de EP.

  8. 3. Array Processor: S(k) • Preparación: Se copiacadaelemento 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: + • Tercerpaso: 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: +

  9. 3. Array Processor: S(k)

  10. 4. Array Processor: C[] = A[]+B[] • Diseñe un ArrayProcessor 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.

  11. 4. Array Processor: C[] = A[]+B[] • Estaoperaciónesmás simple y puedeserdirectasiN(RedEP) > N(A|B). • Dado quees el caso: • Preparación: Se cargan los elementoscorrespondientes de A[] y B[] a los registros A y D de los EP. • Paso 1: Unidad de control instruye: + • Guardarresultado: Se almacenan los elementoscorrespondientes de los registros A de los EP a C[]. • Ejemplo en clase

  12. 5. WaveFrontProcessor: C[] = A[]*B[] • Diseñe un WaveFrontProcessor 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.

  13. 5. WaveFrontProcessor: C[] = A[]*B[] • Ejemplo de la clase. • Solo resta: • Aplicar la multiplicación con B[] comomatriz diagonal. • Derivarexpresión del rendimiento: tiempo de ejecución. • Calcularlasolasque se requieren para diferentestamaños de matrices  Expresión general en base a N. • Otrasconsideraciones: • Definir un tiempo de disparo y de propagación. • Considerar el tiempomedio de acceso de la memoria. • No se puedebasar en tporque la red esasíncrona.

  14. 6. ProcesadorSistó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.

  15. 6. ProcesadorSistólico C[]=A[]*B[] • Preparación: Configuración de lasceldas (control distribuido) • CeldaMultiplicativa-Aditiva (similar a la del WFP) • Se requeriráinvolucrar 3(N2 - 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.

  16. 6. ProcesadorSistólico C[]=A[]*B[]

  17. 6. ProcesadorSistólico C[]=A[]*B[]

  18. 7. ProcesadoresAsociativos • 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.

More Related