Вы находитесь на странице: 1из 1

1 en un procesdor vectorial a 1GHz, con registros vectoriales de 32 componentes

, tres unidades de carga/almacenamiento de momoria (LV/SV), un sumador, y un mul


tiplicadsor, se ejecuta el bucle:
for i:=1 to 512 do Z(i):= Z(i)+X[i]*Y[i]
determine el valor de Rinf teniendo en cueneta que el procesador puede encadenar
y solapar los cauces que cad uno de esos cauces, por separado, pueden terminar
un componentes por ciclo que pasaria si los registros vectoriales fuesen de 64 co
mponentes?
TLI(Mult)=24 ciclos;TLI(suma)=12ciclos,TLI(LV/SV)=8;Tbase = 8ciclos;Tbucle=10 ci
clos
2 en procesdor VLIW cuyas instrucciones puende codificar tresoperaciones (tres c
ampos o slots en cada instruccion VLIW), todas las operaciones pueden predicarse
. Para establecer los valores de los predicados se utilizan instrucciones de com
paracion (cmp) en el formato (p)p1[,p2] cmp.cnd x,y donde cnd es la condicion qu
e se comprueba entre x e y (lt, ge,eq,ne) si la condiciones es verdadera p1=1 [y
p2=0], y si es falsa, p1=0[y p2=1]. la operacion solo se ejecuta si el predicad
o p=1 (habr sido establecido por otra instruccion de comparacion)
indique como seria el codigo VLIW para la sentencia
if (X>3) then {Y=X; X=X/2;}else if ((X>0)and (X<1))then {Y=-X;X=2+X;};
sin ninguna operacion de salto, teniendo en cuenta que las instrucciones de com
pracion sol pueden aparecer en el primer campo o slot de la instruccion VLIW (el
resto de las instrucciones pueden aparecer en cualquier campo). considre que di
spone del nmero de unidades funcionales necesarias en cda momento
3Suponga la secuencia de instrucciones vectoriales en un procesador vectorial d
e 32 bits.
(1) LV
V1,R1
;carga en V1 a partir de la direccion contenida
en R1
(2) LV
V2,R2
;carga en V2 a partir de la direccion contenida
en R2
(3) MULTSV V3,F0,V1
;V3=F0*V1(F0 es un escalar)
(4) ADDV V4,V3,V2
V4=V3+V2
(5) SV
V4,R3
almacenar V4 a partir de la direccion en R3
Se disponde un unica bus para acceder a los datos de memoria, y las instruccione
s de carga LV no se encadenan (debe terminar completamente una para poder inicia
r la siguiente) ni entre ellas, ni con las de almacenamiento SB. los tiempos de
latencia de inicio para los cauces son TLI (LV)=5 ciclos, TLI (MULTSV)=10 ciclos
, TLI(ADDV)=5ciclos, y TLI(SV)=5 ciclos y los registros vectoriales tienen 24 co
mponentes (MLV=64)(a)cual es el valor de Rinf suponiendo que Tbase =15ciclos,Tbuc
le=10ciclos, y la frecuencia del procesdor es igual a 1GHz?;(b)Cual seria el codi
go escalar para una arquitectura LOAD/STORE que, implemente la secuencia de inst
rucciones vectoriales anteriores? (c) si es codigo escalar se ejecuta en un proc
esador superescalar de 32 bits a 1GHz que consigue terminar un promedio de 2 ins
trucciones por ciclo en dica ejecucion es mejor utilizar el procesador supoeresc
alar que el vectorial para algun tamao del problema?
4 en un procesador VLIW cuyas instrucciones pueden codificar tres operaciones (t
res campos o slots en cada instruccion VLIW), todas las operaciones pueden preid
carse. Para establecer los valores de los predicados se utilizan instrucciones d
e comparacion (cmp)cnon el formato (p)p1[,p2]cmp.cnd x,y donde cnd es la condici
on que se comprueba entre x e y (lt,ge,eq,ne...)si la condicion es verdadera p1=
1 [y p2=0], y si es falsa, p1=0 [y p2=1]. la operacion solo se ejecuta si el pre
dicado p=1 (habra sido establecido por otra instruccion de comparacion)
indique como escribiria la sentencia
for i=1 to 2 do if ((X[i])>Y[i]and (Y[i]>=o))then X[i]=-X[i]else if (Y[i]<0)then
X[i]=Y[i]

Вам также может понравиться