Capitulo 1 - Problemas.pdf
Short Description
Download Capitulo 1 - Problemas.pdf...
Description
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 LOAD STORE ALU BRANCH
Porcentaje 0.3 0.1 0.4 0.2
Ciclos 4 3 6 3
Porcentaje * Ciclos Sin ALU 1.2 1.2 0.3 0.3 2.4 0 0.6 0.6
= ( ∗) = ∗ ∗∗ = ∗ 4.5 ∗ = ∗ 2.1 ∗
4.5
2.1
El tiempo de ejecución es:
Ahora:
= 24..15 = 0.47 = ∗∗ 42..51 ∗∗ = Partimos de la Ley de Amdahl: A mdahl:
≤ 1 + ( − 1)1) →∞ l→im = → lim 1 + ( − 1) = 1 = 0.147 = 2.127
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/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) 6 ) = 1.23 = 1+(−1) = 1+0.51.(1.6−1 = 1 +(−1) = 1+0.853(3−1) = 1.11 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 cm 2? 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 . = 75 − √ 2 ∗35 ∗75 = 1606.75 0. 6 ∗0. 7 5 . = 0.9 ∗1+ 4 = 0.651 35 ∗ 2 . = 80 − √ 2 ∗35 ∗80 = 1406.11 0. 6 ∗0. 8 0 . = 0.9 ∗1+ 4 = 0.624 11∗0.624 . = 1406. . 1606.75∗0.651 = 1.192 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. 8 0 . = 0.9 ∗1+ 4 = 0.702 702 . = 1406.11∗0. . 1606.75∗0.651 = 1.0596 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) ( ) − á = = 2 = 0.98 ( ) 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.5979 = 0.8008 . = 1.6 ∗ ..∗ . 2.0∗ . ∗∗∗. 1.9953 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 ALU LOAD STORE BRANCH
Porcentaje 0.43 0.21 0.12 0.24
Ciclos Porcentaje * Ciclos 3 1.29 4 0.84 4 0.48 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
∗ = ∑ 1− (0.43∗0.25) = 3.91 = ∗ ∗
Ya que la frecuencia no cambia y el prestaciones no mejorarían.
3.91
aumenta, entonces el
5/11
aumenta por lo que las
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
∗ = ∑ 1− (0.43∗0.50) = ∗ 10 = ∗10 = 3. 50 57∗10 = 14.0 = 3. 50 73∗ 10 = 13.4 = ∗ ∗ = ∗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 3.73
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 ALU LOAD STORE BRANCH
Porcentaje 0.35 0.25 0.15 0.25
Ciclos Porcentaje * Ciclos 1 0.35 2 0.50 2 0.30 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
∗ = ∑ 1− (0.35∗ 0.35) = 2.46
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∗1.)9 ∗∗2.46∗1.2 ∗ = 21..599 = 1.36 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 LOAD STORE ALU FP BRANCH
Porcentaje 0.2 0.1 0.25 0.15 0.3
Ciclos 4 3 6 8 3
Retardo Porcentaje * Ciclos Reducción ALU 0 0.8 0.8 0 0.3 0.3 3 1.5 0.75 5 1.2 1.2 0 0.9 0.9
= ( ∗) = ∗ ∗ = ∗4.7 ∗ ó = ∗3.95∗ 4.7
3.95
El tiempo de ejecución es:
Ahora:
= ó = 3.95 = 0.84 = ∗∗3.4.975∗ ∗ 4.7 Partimos de la Ley de Amdahl:
≤ 1+(− 1) →∞ = 1 = 0.184 = 1.1898 l→im = → lim 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,
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 LOAD STORE ALU FP BRANCH
Porcentaje 0.2 0.1 0.25 0.15 0.3
Ciclos Retardo Porcentaje * Ciclos Reducción FP 4 0 0.8 0.8 3 0 0.3 0.3 6 3 1.5 1.5 8 5 1.2 0.45 3 0 0.9 0.9
= ( ∗) = ∗ ∗ = ∗4.7 ∗ ó = ∗3.95∗
4.7
3.95
El tiempo de ejecución es:
Ahora:
= ó = 3.95 = 0.84 = ∗∗3.4.975∗ ∗ 4.7 Partimos de la Ley de Amdahl:
≤ 1+(− 1) →∞ l→im = → lim 1 +(−1) = 1 = 0.184 = 1.1898
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,
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 LOAD STORE ALU BRANCH
Porcentaje 0.20 0.15 0.40 0.25
Ciclos 4 3 6 3
Porcentaje * Ciclos Reducción ALU 0.8 0.8 0.45 0.45 2.4 1.8 0.75 0.75
= ( ∗) = ∗ ∗ = ∗4.4 ∗ ó = ∗ 3.8 ∗ 4.4
3.8
El tiempo de ejecución es:
Ahora:
= ó 34..84 = 0.86 = ∗4.∗3.48 ∗∗ = Partimos de la Ley de Amdahl:
≤ 1+(− 1) →∞ l→im = → lim 1+(−1) = 1 = 0.184 = 1.16
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,
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 ∗ ∑ = º +2∗ 2 = 282 = 2.75 = 6 ∗36 +2 2 00 ∗10 = 2.75∗10 = 72.72 +2 ∗2 = 146 = 2.66 = 4 ∗34 +2 2 00∗10 = 2.66∗10 = 75.18 El código producido por el compilador B tiene una frecuencia en MIPS más elevada.
= ∗º = 2.72005∗(6∗10+2) = 1.1∗10 6∗(410+2) = 79.8∗ 10 = 2.6200∗ 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
View more...
Comments