Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EJERCICIO 1
Dado el siguiente cdigo de MIPS64:
DADDI
Etq: LD
DADD
SD
DADDI
BNEZ
HALT
R1,R0,16
R2,10(R1)
R2,R2,R2
R2,10(R1)
R1,R1,-8
R1,Etq
EJERCICIO 2
Sobre un procesador MIPS64 se va a ejecutar el siguiente cdigo:
Etq: LD
LD
DADD
SD
DADDI
BNE
HALT
R1,1000(R3)
R2,2000(R3)
R1,R1,R2
R1,3000(R3)
R3,R3,8
R4,R3,Etq
Los valores iniciales de los registros R3 y R4 son 0 y 400 respectivamente. Si por causa
de un riesgo de control comienza la ejecucin de una instruccin que posteriormente se
descubre que no es la que debera ejecutarse, sta se aborta.
1) Indique las dependencias de datos existentes en el cdigo.
2) Muestre el diagrama temporal de la primera iteracin del programa cuando se utiliza
nicamente la tcnica de detencin del cauce.
3) Vuelva a mostrar el diagrama de la primera iteracin pero aadiendo adelantamiento
de datos (data forwarding) e indicando mediante flechas aquellos que se produzcan.
Ponga el origen de la flecha en la etapa donde se obtiene el operando y el final en la
etapa destino.
4) En esta mquina siempre se produce el mismo nmero de huecos de retardo tras una
instruccin de salto condicional. Indique cul es ese nmero y su causa.
5) Reordene el cdigo para utilizar la tcnica de bifurcacin retardada junto con el
adelantamiento de datos y muestre el nuevo diagrama temporal.
6) Calcule el tiempo (ciclos) total de ejecucin del programa utilizando adelantamiento de
datos y la reordenacin de cdigo del apartado anterior.
EJERCICIO 3
Calcular el tiempo de ejecucin del siguiente programa de MIPS64 suponiendo que el
cuerpo del bucle se ejecuta 3 veces.
Etq:
LD
LD
DADD
DADD
SD
SD
BNE
DADDI
HALT
R1,100(R5)
R2,200(R5)
R1,R1,R1
R2,R2,R2
R1,200(R5)
R2,100(R5)
R1,R2,etq
R5,R5,8
EJERCICIO 4
Tenemos un computador, con modelo de ejecucin registro-registro (LOAD, STORE), con
las fases tpicas de ejecucin de una instruccin, que se indican seguidamente, junto a los
tiempos empleados en cada una de ellas:
F
D
E
M
W
10ns
8ns
10ns
10ns
7ns
Tenemos otro computador con el mismo juego de instrucciones pero con un pipeline de 5
etapas, correspondientes a las 5 fases anteriores. La inclusin de registros de desacoplo
necesarios entre las etapas del pipeline introduce un retardo de 1ns en el paso de una
etapa a la siguiente. Adems, utiliza prediccin esttica de no salto y adelantamiento de
datos (forwarding).
SE PIDE:
1) Calcular el tiempo medio de ejecucin por instruccin para un programa completo
en ambos computadores, as como la mejora en la capacidad de procesamiento
(speedup) del computador con pipeline respecto al que no lo tiene. Sabemos que
las instrucciones ejecutadas en estos computadores tienen la siguiente distribucin:
40%
20%
20%
20%
S1:
S2:
OR
OR
OR
OR
ADD
LD
ADD
ST
ADD
CMP
BGT
ADD
CMP
BLT
OR
OR
; R0 inicializado a 0
; bifurcar si mayor
; bifurcar si menor
EJERCICIO 5
Dado el siguiente cdigo de MIPS64:
L.D
L.D
MUL.D
S.D
ADD.D
S.D
HALT
F0,100(R0)
F1,200(R0)
F2,F0,F0
F2,100(R0)
F2,F1,F1
F2,200(R0)