Anda di halaman 1dari 11

CAPÍTULO 1

Problema 1:
En un programa que se ejecutan en un procesador no segmentado que funciona a 500 MHz, hay
un 30% de instrucciones LOAD que necesitan 4 ciclos, un 10% de instrucciones STORE que
necesitan 3 ciclos, un 40% de instrucciones de operaciones con la ALU que necesitan 6 ciclos, y
un 20% de instrucciones de salto que necesitan 3 ciclos. Utilice la ley de Amdahl para
determinar: ¿Cuál es la máxima ganancia que se puede obtener por reducción en el tiempo de
las operaciones con la ALU?

Solución:

Instrucción Porcentaje Ciclos Porcentaje * Ciclos Sin ALU


LOAD 0.3 4 1.2 1.2
STORE 0.1 3 0.3 0.3
ALU 0.4 6 2.4 0
BRANCH 0.2 3 0.6 0.6
= ( ∗ ) 4.5 2.1

El tiempo de ejecución es:


= ∗ ∗

= ∗ 4.5 ∗

= ∗ 2.1 ∗

Ahora:

∗ 2.1 ∗ 2.1
= = = 0.47
∗ 4.5 ∗ 4.5

Partimos de la Ley de Amdahl:


1 + ( − 1)

Para obtener la máxima ganancia por reducción del tiempo en operaciones en la ALU, la mejora
que se realiza debe ser máxima, es decir, → ∞

1 1
lim = lim = = = 2.127
→ → 1 + ( − 1) 0.47

1/11
Problema 2:
Un empresario está pensando en actualizar el servidor web de su empresa. El problema es que
no está seguro de sí debería cambiar el procesador por uno que funcione a más frecuencia o
bien comprar un disco duro más rápido. Si el 50% del tiempo de ejecución el servidor está
accediendo a ficheros almacenados en el disco duro, el 15% del tiempo es procesando datos y el
resto del tiempo está realizando otro tipo de operaciones de E/S y memoria. ¿Debería comprar
un disco duro un 60% más rápido o bien cambiar el procesador de 1GHz por uno de 3GHz?
Utilice la Ley de Amdahl para ayudarle a escoger la mejor alternativa.

Solución:

La fracción de tiempo sin mejora del disco duro es 50%, entonces f=0.5, además el disco duro que
se pretende comprar es 60% más rápido por lo que la mejora es de 1.6.

La fracción de tiempo sin mejora del procesador es 85%, entonces f=0.85, además el procesador
que se pretende comprar es de 3GHz por lo que la mejora es de 3.

Dispositivo Ejecución f p
Disco Duro 0.5 0.5 1.6
Procesador 0.15 0.85 3

De la ley de Amdahl:


1 + ( − 1)

1.6
= = = 1.23
1 + ( − 1) 1 + 0.5(1.6 − 1)

3
= = = 1.11
1 + ( − 1) 1 + 0.85(3 − 1)

Debería comprar un disco duro 60% más rápido.

Problema 3:
Considere un oblea de 35cm de diámetro, ¿Qué incremento se producirá en el coste del dado al
pasar de dados de 0.75 cm de lado a dados de 0.80 cm de lado si el número de defectos por
unidad de superficie no cambia y es igual a 0.6 por cm2?

Nota: Se supone que el coste de la oblea se mantiene constante y el rendimiento de la oblea


también permanece constante e igual a 0.9, α=4.

Solución:
∗ ∗
= 2 −
á 2∗á

2/11

∗á
= ∗ 1+

=

35
∗ 2 ∗ 35
. = − = 1606.75
75 √2 ∗ 75

0.6 ∗ 0.75
. = 0.9 ∗ 1 + = 0.651
4

35
∗ 2 ∗ 35
. = − = 1406.11
80 √2 ∗ 80

0.6 ∗ 0.80
. = 0.9 ∗ 1 + = 0.624
4

= 1406.11 ∗ 0.624 = 1.192


.

.
1606.75 ∗ 0.651

Se produce un incremento del 19.2%

¿Qué pasaría con el coste si a la vez que se aumenta el tamaño del dado se reduce el número de
defectos a 0.4 por cm2?


0.4 ∗ 0.80
. = 0.9 ∗ 1 + = 0.702
4

= 1406.11 ∗ 0.702 = 1.0596


.

.
1606.75 ∗ 0.651

Se produce un incremento de tan solo 5.96%

3/11
Problema 4:
Si la tensión de alimentación de un circuito integrado pasa de 2V a 1.6V, ¿A qué valor debe
pasar la tensión de alimentación umbral V umbral=0.6V para que se pueda mantener la frecuencia
de funcionamiento del circuito?

Nota: T=315 ºK; q=1.602x10-19 Coulombios; k=1.381x10-19 J/ºK

Solución:

( − ) (2 − 0.6)
á = = = 0.98
2

(1.6 − . )
0.98 =
1.6

. = 0.3478

¿Qué factor de reducción en el consumo de potencia dinámica se consigue considerando el


factor de actividad, A, la capacidad de puerta, C, y la frecuencia se mantienen constantes?

= + +

á . (1.6)
= = 0.64
á . (2)

Se redujo un 36% la potencia dinámica.

¿En qué porcentaje varía el término asociado a la corriente de pérdidas en la expresión


= + + ?

. ∗ ∗ .
. 1.6 ∗ . ∗ ∗ 1.5979
= . ∗ ∗ .
= = 0.8008
. 1.9953
2.0 ∗ . ∗ ∗

Varía en un término del 19.92%

4/11
Problema 5:
Considere un procesador no segmentado con una arquitectura de tipo LOAD/STORE en la que
las operaciones solo se utilizan como operandos los registros de la CPU. Para un conjunto de
programas representativos de su actividad se tiene que el 43% de las instrucciones son
operaciones con la ALU (3 CPI), el 21% son operaciones LOAD (4 CPI), el 12% son operaciones
STORE (4 CPI) y el 24% son saltos (4 CPI). Además un 25% de las operaciones con la ALU utilizan
operandos en registros que no se vuelven a utilizar. ¿Se mejorarían las prestaciones si para
sustituir ese 25% de operaciones se añaden instrucciones con un dato en un registro y otro en
memoria teniendo en cuenta que para ella el valor de CPI es 4 y ocasionarían un incremento de
1 ciclo en el CPI de los saltos pero que no afectaría el ciclo de reloj?

Solución:

Instrucción Porcentaje Ciclos Porcentaje * Ciclos


ALU 0.43 3 1.29
LOAD 0.21 4 0.84
STORE 0.12 4 0.48
BRANCH 0.24 4 0.96
= ( ∗ ) 3.57

= 3.57

Ahora el 25% de las instrucciones de la ALU (que son el 43% de todas las instrucciones ejecutadas)
pasan a ser instrucciones de registro-memoria lo que afecta los tres primeros componentes. Hay
(0.25*0.43) menos operaciones de la ALU, (0.25*0.43) menos cargas (LOAD) y (0.25*0.43) nuevas
instrucciones registro-memoria (STORE) de la ALU. Los saltos (BRANCH) ahora emplean 5 ciclos. La
nueva cuenta de instrucciones es (0.43*0.25) menor que la antigua.

Instrucción Porcentaje Ciclos Porcentaje * Ciclos


ALU 0.43 – (0.43*0.25) 3 0.97
LOAD 0.21 – (0.43*0.25) 4 0.41
STORE 0.12 + (0.43*0.25) 4 0.91
BRANCH 0.24 5 1.20
∑ ∗
= 3.91
1 − (0.43 ∗ 0.25)

= 3.91

= ∗ ∗

Ya que la frecuencia no cambia y el aumenta, entonces el aumenta por lo que las


prestaciones no mejorarían.

5/11
Suponga que se dispone de un nuevo compilador para esta arquitectura LOAD/STORE que
puede reducir en un 50% el número de operaciones con la ALU, pero no reduce el número de
operaciones LOAD, STORE y BRANCH. Suponiendo que la frecuencia de reloj es de 50 MHz ¿Cuál
es el número de MIPS y que tiempo de ejecución se consigue con el código optimizado?

Instrucción Porcentaje Ciclos Porcentaje * Ciclos


ALU 0.43 – (0.43*0.50) 3 0.645
LOAD 0.21 4 0.84
STORE 0.12 4 0.48
BRANCH 0.24 4 0.96
∑ ∗
= 3.73
1 − (0.43 ∗ 0.50)

= =
∗ 10 ∗ 10

50
= = 14.0
3.57 ∗ 10

50
= = 13.4
3.73 ∗ 10

= ∗ ∗

= ∗ 3.57 ∗ 20 ∗ 10 = ∗ 71.4 ∗ 10

= ∗ 1 − (0.43 ∗ 0.5) ∗ 3.73 ∗ 20 ∗ 10 = ∗ 58.6 ∗ 10

58.6
= = 0.82
71.4

El código optimizado es 18% más rápido pero su frecuencia en MIPS es menor.

6/11
Problema 6:
Supongamos que usted tiene un ordenador LOAD/STORE con las siguientes instrucciones mixtas:

Operación Frecuencia Ciclos


ALU 35% 1
LOAD 25% 2
STORE 15% 2
BRACH 25% 3

Hallar el CPI del ordenador.

Instrucción Porcentaje Ciclos Porcentaje * Ciclos


ALU 0.35 1 0.35
LOAD 0.25 2 0.50
STORE 0.15 2 0.30
BRANCH 0.25 3 0.75
= ( ∗ ) 1.9

= 1.9

Observamos que el 35% de las operaciones con la ALU están emparejadas con las instrucciones
LOAD y nos proponemos sustituir estas operaciones en la ALU y en LOAD con una nueva
instrucción. La nueva instrucción toma 1 ciclo de reloj. Con la nueva instrucción añadida los
BRANCH toman 5 ciclos. Calcular la nueva CPI.

Instrucción Porcentaje Ciclos Porcentaje * Ciclos


ALU 0.35 – (0.35*0.35) 1 0.2275
LOAD 0.25 – (0.35*0.35) 2 0.255
STORE 0.15 2 0.30
BRANCH 0.25 5 1.25
NUEVA INSTRUCCIÓN 0.35*0.35 1 0.1225
∑ ∗
= 2.46
1 − (0.35 ∗ 0.35)

= 2.46

Si el reloj de la antigua versión es 20% más rápido que la nueva versión, ¿Qué versión tiene el
tiempo de ejecución de CPU más rápida y en qué porcentaje?

= ∗ ∗

1 − (0.35 ∗ 0.35) ∗ 2.46 ∗ 1.2 ∗ 2.59


= = = 1.36
∗ 1.9 ∗ 1.9

La versión antigua es más rápida en un 36%.

7/11
Problema 7:
En un programa que se ejecutan en un procesador no segmentado que funciona a 300 MHz, hay
un 20% de instrucciones LOAD que necesitan 4 ciclos, un 10% de instrucciones STORE que
necesitan 3 ciclos, un 25% de instrucciones con operandos enteros que necesitan 6 ciclos, un
15% de instrucciones con operandos en coma flotante que necesita 8 ciclos, y un 30% de
instrucciones de salto que necesitan 3 ciclos. Las operaciones con enteros se realizan en una ALU
con un retardo de 3 ciclos, y las de coma flotante en una unidad con un retardo de 5 ciclos.
Utilice la ley de Amdahl para determinar: ¿Cuál es la máxima ganancia que se puede obtener por
reducción en el tiempo de las operaciones con la ALU?

Solución:

Instrucción Porcentaje Ciclos Retardo Porcentaje * Ciclos Reducción ALU


LOAD 0.2 4 0 0.8 0.8
STORE 0.1 3 0 0.3 0.3
ALU 0.25 6 3 1.5 0.75
FP 0.15 8 5 1.2 1.2
BRANCH 0.3 3 0 0.9 0.9
= ( ∗ ) 4.7 3.95

El tiempo de ejecución es:


= ∗ ∗

= ∗ 4.7 ∗

ó = ∗ 3.95 ∗

Ahora:

ó
=

∗ 3.95 ∗ 3.95
= = = 0.84
∗ 4.7 ∗ 4.7

Partimos de la Ley de Amdahl:


1 + ( − 1)

Para obtener la máxima ganancia por reducción del tiempo en operaciones en la ALU, la mejora
que se realiza debe ser máxima, es decir, → ∞

1 1
lim = lim = = = 1.1898
→ → 1 + ( − 1) 0.84

8/11
¿Cuál es la máxima ganancia que se puede obtener por reducción en el tiempo de las
operaciones en coma flotante?

Solución:

Instrucción Porcentaje Ciclos Retardo Porcentaje * Ciclos Reducción FP


LOAD 0.2 4 0 0.8 0.8
STORE 0.1 3 0 0.3 0.3
ALU 0.25 6 3 1.5 1.5
FP 0.15 8 5 1.2 0.45
BRANCH 0.3 3 0 0.9 0.9
= ( ∗ ) 4.7 3.95

El tiempo de ejecución es:


= ∗ ∗

= ∗ 4.7 ∗

ó = ∗ 3.95 ∗

Ahora:

ó
=

∗ 3.95 ∗ 3.95
= = = 0.84
∗ 4.7 ∗ 4.7

Partimos de la Ley de Amdahl:


1 + ( − 1)

Para obtener la máxima ganancia por reducción del tiempo en operaciones en el FP, la mejora que
se realiza debe ser máxima, es decir, → ∞

1 1
lim = lim = = = 1.1898
→ → 1 + ( − 1) 0.84

9/11
Problema 8:
En un programa que se ejecutan en un procesador no segmentado que funciona a 100 MHz, hay
un 20% de instrucciones LOAD que necesitan 4 ciclos, un 15% de instrucciones STORE que
necesitan 3 ciclos, un 40% de instrucciones con operaciones con la ALU que necesitan 6 ciclos, un
y un 25% de instrucciones de salto que necesitan 3 ciclos. Si en las instrucciones con la ALU, la
operación de la ALU consume 3 ciclos determine cuál es la ganancia máxima que se puede
obtener si se mejora el diseño de la ALU de forma que se reduce su tiempo de ejecución a la
mitad de ciclos.

Solución:

Instrucción Porcentaje Ciclos Porcentaje * Ciclos Reducción ALU


LOAD 0.20 4 0.8 0.8
STORE 0.15 3 0.45 0.45
ALU 0.40 6 2.4 1.8
BRANCH 0.25 3 0.75 0.75
= ( ∗ ) 4.4 3.8

El tiempo de ejecución es:


= ∗ ∗

= ∗ 4.4 ∗

ó = ∗ 3.8 ∗

Ahora:

ó
=

∗ 3.8 ∗ 3.8
= = = 0.86
∗ 4.4 ∗ 4.4

Partimos de la Ley de Amdahl:


1 + ( − 1)

Para obtener la máxima ganancia por reducción del tiempo en operaciones en la ALU, la mejora
que se realiza debe ser máxima, es decir, → ∞

1 1
lim = lim = = = 1.16
→ → 1 + ( − 1) 0.84

10/11
Problema 9:
Se dispone de una maquina con dos clases de instrucciones, la instrucción 1 tendrá un CPI de 3 y
la instrucción 2 un CPI de 2. Al medir el código para el mismo programa para dos compiladores
diferentes se obtienen los siguientes datos.

Código Instrucción 1 Instrucción 2


Compilador A 6 2
Compilador B 4 2

Se supone que la frecuencia de reloj de la maquina es de 200MHz. ¿Qué secuencia de código se


ejecuta con más rapidez de acuerdo con los MIPS? Realizar lo mismo de acuerdo al tiempo de
ejecución. Explicar los resultados.

Solución:

=
∗ 10

∑ ∗
=
º

6 ∗ 3 + 2 ∗ 2 22
= = = 2.75
6+2 8

200 ∗ 10
= = 72.72
2.75 ∗ 10

4 ∗ 3 + 2 ∗ 2 16
= = = 2.66
4+2 4

200 ∗ 10
= = 75.18
2.66 ∗ 10

El código producido por el compilador B tiene una frecuencia en MIPS más elevada.

∗ º
=

2.75 ∗ (6 + 2)
= = 1.1 ∗ 10
200 ∗ 10

2.66 ∗ (4 + 2)
= = 79.8 ∗ 10
200 ∗ 10

Por lo tanto el compilador A es claramente más rápido lo cual contradice lo que habíamos
observado con los MIPS.

11/11