Arquitecturas SIMD

Click here to load reader

download Arquitecturas  SIMD

of 18

  • date post

    10-Feb-2016
  • Category

    Documents

  • view

    38
  • download

    0

Embed Size (px)

description

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

Transcript of Arquitecturas SIMD

Arquitecturas SIMD

Arquitecturas SIMDClase Prctica No 51. Vector Processor M-MEstime el tiempo de ejecucin de una suma vectorial en un Vector Processor M-M basado en un cauce de 7 etapas que tiene un perodo de reloj de 200 ns y un tiempo de preparacin de 20 ciclos, sabiendo que la operacin se realiza sobre vectores de 128 elementos manteniendo ejecucin en flujo continuo todo el tiempo.

1. Vector Processor M-MRecordemos Modelo tiempo de ejecucintv = 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

2. Vector Processor R-RSuponga que usted ejecuta dos operaciones vectoriales con dependencia de datos R-D en un VP R-R. La primera operacin 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 perodo de reloj de 100 ns y un tiempo de preparacin de 10 ciclos. sabiendo que las operaciones se realizan sobre vectores de 128 elementos, estime:

Tiempo de ejecucin total si las operaciones se ejecutan secuencialmente.Tiempo de ejecucin total si se emplea encadenamiento de cauces.

2. Vector Processor R-RCaso secuencial: 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 tprep1k1t (N-1)ttprep2k2t (N-1)ttprep1k1ttproduccin (N-1)ttprep2k2t(N-1)t3. 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 operacin 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 posicin 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-1En el ArrayProcessor esta operacin 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.

3. Array Processor: S(k)Preparacin: 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 enva: +

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 enva: +

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 enva: +

3. Array Processor: S(k)

4. Array Processor: C[] = A[]+B[]Disee 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 operacin es ms simple y puede ser directa si N(RedEP) > N(A|B).Dado que es el caso:Preparacin: 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 clase5. WaveFront Processor: C[] = A[]*B[]Disee 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 propagacin de datos. Explique la funcionalidad de cada EP para que pueda realizar multiplicacin matricial. Corra una multiplicacin 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 multiplicacin con una matriz diagonal (idntico).Trate de derivar una expresin para determinar el desempeo del procesador en la multiplicacin de matrices.

5. WaveFront Processor: C[] = A[]*B[]Ejemplo de la clase.Solo resta:Aplicar la multiplicacin con B[] como matriz diagonal.Derivar expresin del rendimiento: tiempo de ejecucin.Calcular las olas que se requieren para diferentes tamaos de matrices Expresin general en base a N.Otras consideraciones:Definir un tiempo de disparo y de propagacin.Considerar el tiempo medio de acceso de la memoria.No se puede basar en t porque la red es asncrona.

6. Procesador Sistlico C[]=A[]*B[]Disee un procesador sistlico para multiplicacin 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 multiplicacin matricial. Derive una expresin para determinar el desempeo del procesador en la multiplicacin de matrices.6. Procesador Sistlico C[]=A[]*B[]Preparacin: Configuracin de las celdas (control distribuido)Celda Multiplicativa-Aditiva (similar a la del WFP)

Se requerir involucrar 3(N2 - N) + 1 celdas o EP para la operacin C[N] = A[N] * B[N].Tiempo: Se requieren 3N-1 pasos para ejecutar la operacin.

6. Procesador Sistlico C[]=A[]*B[]

6. Procesador Sistlico C[]=A[]*B[]

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