Está en la página 1de 2

Problema

Sea el siguiente fragmento de código:

x:=1;
S1: y:=1;
S2: Operación;
y:=y+1;
if (y<=10) goto S2 // Salto S2
x:=x+5;
if (x<=20) goto S1 // Salto S1

La máquina de estados situada a continuación representa una variante de un predictor de Smith de 2 bits de
historial y se utiliza para predecir la ejecución de los saltos que hay en el código.

Efectivo No efectivo
Predicción de saltar Predicción de saltar ST: Strongly Taken
ST WT SN: Strongly Not Taken
Efectivo
No efectivo WT: Weakly Taken
Efectivo
WN: Weakly Not Taken
No efectivo
Predicción de no saltar Predicción de no saltar
WN SN
Efectivo No efectivo

a) ¿Cuál es la secuencia de predicciones de los saltos existentes en el código para todas las iteraciones del código?
Considere que el historial de salto es exclusivo de cada salto, no se debe mezclar con el historial del otro salto y
que el estado inicial en ambos saltos es SN. Utilice una tabla por cada salto para presentar la solución. (vea el
ejemplo) (1.5 puntos)

S* x=… x=… …
Estado del predictor
Resultado del salto

b) Si el historial de salto ahora es único para todos los saltos, ¿cuál es la secuencia de predicciones que obtiene?
Utilice una tabla como la del ejemplo para presentar los resultados. (1.5 puntos)

x=… x=… …
y=… y=…
Estado del predictor
Resultado del salto
Salto asociado

c) ¿Cuáles son los porcentajes de acierto de la predicción conjunta y de cada salto que se han obtenido en los
apartados (a) y (b)? (1 punto)
Solución

a) Para la resolución del ejercicio es fundamental entender el diagrama de estados que muestra el enunciado.
Básicamente, el diagrama indica en función del resultado del salto actual y del historial de los dos saltos previos,
la predicción de lo que va a ocurrir con el siguiente salto. Es clave separar los historiales de cada instrucción
de salto, es decir, la evolución de la predicción de cada salto es independiente del otro.

S1 x=6 x=11 x=16 x=21

Estado SN WN ST ST WT
Resultado E E E NE

S2 y=2 y=3 y=… y=11 y=2 y=3 y=… y=11 y=2 y=3 y=… y=11 y=2 y=3 y=… y=11

Estado SN WN ST ST WT ST ST ST WT ST ST ST WT ST ST ST WT
Resultado E E E NE E E E NE E E E NE E E E NE

b)
y=2 y=3 y=… y=11 y=11 y=2 y=3 y=… y=11 y=11 y=2 y=3 y=… y=11 y=11 y=2 y=3 y=… y=11 y=11
x=1 x=1 x=1 x=1 x=6 x=6 x=6 x=6 x=6 x=11 x=11 x=11 x=11 x=11 x=16 x=16 x=16 x=16 x=16 x=21

E SN WN ST ST WT ST ST ST ST WT ST ST ST ST WT ST ST ST ST WT SN
R E E E NE E E E E NE E E E E NE E E E E NE NE
S S2 S2 S2 S2 S1 S2 S2 S2 S2 S1 S2 S2 S2 S2 S1 S2 S2 S2 S2 S1

c)
% acierto Historial de salto individual Historial global
S1 1/4: 25% 3/4: 75%
S2 34/40: 85% 34/40: 85%
Conjunto 35/44: 79,5% 37/44: 84%

También podría gustarte