Problemas Grupo 6

18
1 PROCESADORES VECTORIALES PROBLEMAS PROBLEMA 1: Suponiendo que el tiempo de latencia de inicio (start-up), TLI, para una multiplicación vectorial es de 10 ciclos de reloj y que después, el tiempo por resultado, TPC, es de1 ciclo de reloj, ¿cuál es el número de ciclos de reloj por resultado, CPR, para un vector de 64 componentes?

Transcript of Problemas Grupo 6

Page 1: Problemas Grupo 6

1

PROCESADORES VECTORIALES

PROBLEMAS

PROBLEMA 1:

Suponiendo que el tiempo de latencia de inicio ( start-up ), TLI, para una multiplicación vectorial es de 10 ciclos de reloj y que después, el tiempo por resultado, TPC, es de1 ciclo de reloj, ¿cuál es el número de ciclos de reloj por resultado, CPR, para un vector de 64 componentes?

Page 2: Problemas Grupo 6

2

PROBLEMA 1:PROBLEMA 1:

PROBLEMA 1:PROBLEMA 1:

EvoluciEvolucióón del tiempo total de ejecucin del tiempo total de ejecucióón, con un n, con un incremento del TLI de 2 a 50 ciclos de relojincremento del TLI de 2 a 50 ciclos de reloj

Page 3: Problemas Grupo 6

3

Page 4: Problemas Grupo 6

4

PROBLEMA Nº 3• CALCULAR los valores Rinf y N1/2 para la

secuencia de instrucciones de las figura 6.20 suponiendo que se encuentran dentro de un bucle como resultado de aplicar la técnica de troceado de vector “strip minning”. La cecuencia de las instrucciones tarda un tiempo TCV = 241 ciclos, TCP = 3 ciclos, la frecuencia de reloj es de 300 Mhz y el tamaño de los registros vectoriales es de 64 componentes. Los valores de los tiempos TLI se dan en la tabla 6.4 ., TBASE = 5 y TBUCLE = 10

Solución:

– DATOS:�Rinf = ? N1/2 = ?�TCV = 241 ciclos�TCP = 3 ciclos� f = 300Mhz�ML, MVL = 64 componentes�TLI -> Tabla 6.4; Figura 6.20�TBASE = 5 ciclos �TBUCLE = 10 ciclos

Page 5: Problemas Grupo 6

5

DIAGRAMA DE TIEMPOS

12

7

12

6

12

76

84

153

160

241

Latencia simple

Comienza después del 1er LV

Encadenada a LV

No Encadenada

LV V1, RX

MULTV a, V1

LV V2, Ry

ADDV V3, V2,V1

SV Ry, V3

• T (n ≤ 64) = 12+1+7+n+1+5+1+6+n+5+12+n• T (n ≤ 64) = 57+3*n

50 + 3*n

TLI TPC

[ ] TPCkTLITMVL

kTT BUCLEBASEk ** ++

+=

fT

ksoperacioneR

kk *

)*(#lim ∞→∞ =

Page 6: Problemas Grupo 6

6

• Datos:• F=500 MHz• MVL=16• TLI=16 ciclos• Tbucle=10 ciclos

El bucleFor i:=1 to 342 do if (i mod 2 == 0 )Z[i]:=a*Z[i]

Page 7: Problemas Grupo 6

7

• El bucle vectorizado:• L.D F0,a• LV V1,RZ• MULTSV.D V2,V1,F0• SV RZ,V2

• Aplicamos la formula siguiente:

• Donde el denominador es el Tn evaluado al infinito, el numerador no depende de n, tenemos lo siguiente

Page 8: Problemas Grupo 6

8

capitulo 6: Problema 6

Un procesador vectorial con registros vectoriales de 8 elementos tiene una memoria de 1Mpalabra distribuida entre 8 módulos con entrelazado de orden superior y acceso de tipo C. Suponiendo que la primera componente se encuentra en la posición AA012h, ¿ En que posiciones situaremos los restantes componentes para que el acceso a dicho vector sea lo mas rápido posible ?

Page 9: Problemas Grupo 6

9

Solución

• Lectura del problema:capacidad: 1MpalabrasN = 8 elementosM = 8 módulosUtiliza:Entrelazado de memoria superiorAcceso de tipo CSuposición:La primera componente se encuentra en la posición AA012h.

Sabemos que:

B

Modulos

Mpalabras

00000100101010101000

82

12*13

20

==

Como se puede apreciar los 3 bits mas significativos indican el modulo y el resto la posición, en este caso se aprecia que la posición del primer elemento del vector tiene una dirección AA012h y una posición A012h en el 6 modulo.

NOTA: los códigos vectoriales generan accesos sucesivos a los datos correspondientes

Page 10: Problemas Grupo 6

10

000 001 010 011 100 101 110 111

AA012h

AA013h

AA014h

A015h

C8859h

Tomamos una porción del espacio de memoria alrededor de la dirección AA012h

AA012h

C885Ah

E70A2h

1058EAh

124132h

14297Ah

1611C2h

17FA0A

19E251h

Por ultimo las direcciones de los elementos del vector serán:

AhFAV

hCV

AhV

hV

EAhV

hAEV

AhCV

hAAV

017)8(

21611)7(

14297)6(

124132)5(

1058)4(

270)3(

885)2(

012)1(

========

Page 11: Problemas Grupo 6

11

capitulo 6: Problema 7

La memoria principal de un procesador vectorial con capacidad de 16 Mpalabras se encuentra distribuida entre 8 módulos utilizando entrelazado de memoria de orden inferior y acceso tipo S. Suponiendo que el compilador ha almacenado en memoria, por filas, una matriz de 4*4, obtener:

a) Las posiciones de memoria en las que se sitúa la segunda columna de la matriz teniendo en cuenta que la matriz comienza a partir de la posición A6BBh.

b) ¿ Puede el procesador leer la segunda columna realizando un único acceso a memoria? ¿ Por qué ?

Solución

• Lectura del problema:capacidad: 16MpalabrasM = 8 módulosUtiliza:Entrelazado de memoria inferiorAcceso de tipo SSuposición:Se almacena en memoria, por filas, una matriz de 4*4.

Page 12: Problemas Grupo 6

12

a) Sabemos que:

B

Modulos

Mpalabras

1110111010011010

82

162*163

20

==

Como se puede apreciar los 3 bits menos significativos indican el modulo y el resto la posición, en este caso se aprecia que la posición del primer elemento de la matriz tiene una dirección A6BBh y una posición 14D7h en el 4 modulo.

A(4,4)A(4,3)A(4,2)

A(4,1)A(3,4)A(3,3)A(3,2)A(3,1)A(2,4)A(2,3)A(2,2)

A(2,1)A(1,4)A(1,3)A(1,2)A(1,1)

000 001 010 011 100 101 110 111

Módulos

14D7h

14D8h

14D9h

14DAh

14DBh

A6BBh

Tomamos una porción del espacio de memoria alrededor de la dirección A6BBh

Page 13: Problemas Grupo 6

13

Por ultimo las direcciones de los elementos de la segunda columna serán:

hCAA

hCAA

hCAA

BChAA

86)2,1(

46)2,1(

06)2,2(

6)2,1(

====

b) No puede

Porque deben estar en la misma posición.

PROBLEMA Nº8

• En situación del problema anterior, obtenga el tiempo mínimo que necesitaría el procesador vectorial para acceder a la segunda columna de la matriz suponiendo una frecuencia de 100Mhz y un tiempo de acceso a memoria Ta=8t,donde t es el tiempo del ciclo del procesador.

Page 14: Problemas Grupo 6

14

Solución

Datos Frecuencia=100 Mhz

Ta=8tMatriz 4x4

(la segunda columna consta de cuatro elementos, esto es K=4)

Aplicamos la ecuación

T(k)= Ta + Kt

T(k)= 8t + 4tT(k)= 12t

Donde t =1/f=10nsegConcluimosT(k) = 120ns

Page 15: Problemas Grupo 6

15

9. Si para un cauce el tiempo de latencia de inicio, TLI, es de 6 ciclos y el tiempo por resultado, TPC, es 1 ciclo ¿Cuál ha de ser la longitud mínima del vector que procese ese cauce para que el TLI no represente más de un 5% del total del procesamiento?

Datos:• TLI=6 ciclos• TPC= 1 ciclo• k=? → TLI ≤ 5%TK

SoluciónTK=TLI+k*TPCTLI = 5%TK=0.05*TK

TK=20*TLI20*TLI=TLI+k*TPC

Page 16: Problemas Grupo 6

16

19*TLI=K*TPCk=19*TLI / TPCk=19*6 ciclos / 1ciclok=114

PROBLEMA Nº 10Datos:• TLI = Constante• TPC = Aumenta• K = Comprobar que disminuye• TLI = Tk / x

Consideraciones:La formula a usar es: TK=TLI+k*TPCTomaremos primero un Cualquiera de TLI igual a

una fraccion del tiempo total TjjjjjjjjjjjjjjjjjjjjK con valores arbitrarios de TPC y K.

Luego para ese tiempo hallado

Page 17: Problemas Grupo 6

17

Consideraciones:La formula a usar es: TK=TLI+k*TPCTomaremos primero un Cualquiera de TLI

igual a una fracción del tiempo total TK con valores arbitrarios de TPC y K.

Luego para ese valor de TK y TLI constantes probaremos las nuevas condiciones, aumentaremos TPC y comprobaremos si el valor de K es menor.

PROBLEMA Nº 10

SoluciónTK = TLI + k * TPCTK = (TK / 8) + 8 * 6uTK = 54.857u

TK = TLI + k * TPC54.857u = (54.857 / 8) + K * 12uK = 4

PROBLEMA Nº 10

Page 18: Problemas Grupo 6

18

Conclusión:

Comprobamos por los cálculos anteriormente mostrados que es cierto que al aumentar el TPC disminuye la longitud del vector en otras palabras disminuye los componetes del vector K.

PROBLEMA Nº 10