Problemas Grupo 6
-
Upload
cupido0005 -
Category
Documents
-
view
53 -
download
2
Transcript of Problemas Grupo 6
![Page 1: Problemas Grupo 6](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/3.jpg)
3
![Page 4: Problemas Grupo 6](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022072108/55cf9a6e550346d033a1ae52/html5/thumbnails/18.jpg)
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