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:
= ∗ 4.5 ∗
= ∗ 2.1 ∗
Ahora:
∗ 2.1 ∗ 2.1
= = = 0.47
∗ 4.5 ∗ 4.5
≤
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)
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?
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
.
1606.75 ∗ 0.651
¿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
.
1606.75 ∗ 0.651
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?
Solución:
( − ) (2 − 0.6)
á = = = 0.98
2
(1.6 − . )
0.98 =
1.6
. = 0.3478
= + +
á . (1.6)
= = 0.64
á . (2)
. ∗ ∗ .
. 1.6 ∗ . ∗ ∗ 1.5979
= . ∗ ∗ .
= = 0.8008
. 1.9953
2.0 ∗ . ∗ ∗
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:
= 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.
= 3.91
= ∗ ∗
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?
= =
∗ 10 ∗ 10
50
= = 14.0
3.57 ∗ 10
50
= = 13.4
3.73 ∗ 10
= ∗ ∗
= ∗ 3.57 ∗ 20 ∗ 10 = ∗ 71.4 ∗ 10
58.6
= = 0.82
71.4
6/11
Problema 6:
Supongamos que usted tiene un ordenador LOAD/STORE con las siguientes instrucciones mixtas:
= 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.
= 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?
= ∗ ∗
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:
= ∗ 4.7 ∗
ó = ∗ 3.95 ∗
Ahora:
ó
=
∗ 3.95 ∗ 3.95
= = = 0.84
∗ 4.7 ∗ 4.7
≤
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:
= ∗ 4.7 ∗
ó = ∗ 3.95 ∗
Ahora:
ó
=
∗ 3.95 ∗ 3.95
= = = 0.84
∗ 4.7 ∗ 4.7
≤
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:
= ∗ 4.4 ∗
ó = ∗ 3.8 ∗
Ahora:
ó
=
∗ 3.8 ∗ 3.8
= = = 0.86
∗ 4.4 ∗ 4.4
≤
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.
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