Prblemas 1111
Prblemas 1111
Prblemas 1111
Si le dicen que un procesador alcanza 16 MIPS, ¿puede estar seguro que ejecutará cualquier programa de 16000
instrucciones en un milisegundo?
2. En un programa, que se ejecuta 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, 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 máxima ganancia 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. ¿Para que porcentaje de instrucciones con la ALU se alcanzaría una ganancia
mayor que 1.5 con la mejora indicada?
3. Un programa tarda 94 segundos en ejecutarse en un computador. Teniendo en cuenta los valores de la Error!
Reference source not found., calcule el valor de los MFLOPS normalizados y sin normalizar del programa.
4. 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
operaciones de enteros que necesitan 6 ciclos, un 15% de instrucciones con operandos en coma flotante
que necesitan 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:
a) ¿cuál es la máxima ganancia que se puede obtener por reducción en el tiempo de las operaciones
con enteros en la ALU?
¿cuál es la máxima ganancia que se puede obtener por reducción en el tiempo de las operaciones en
coma flotante?
11. Una determinada empresa dedicada al desarrollo de microprocesadores ha recibido dos propuestas de proyectos
viables de sus equipos de ingenieros, pero sólo tiene presupuesto para invertir en uno de ellos. El primero tiene un
coste de un millón de euros y se basa en la mejora de su unidad de procesamiento de números en coma flotantes
para reducir el CPI de dichas operaciones a la mitad, mientras que el segundo consiste en la aplicación de nuevas
técnicas de optimización de código para conseguir que el compilador que genera código ejecutable para su familia
de microprocesadores reduzca el número de instrucciones de los programas en un 15%. Este último proyecto tiene
un coste de quinientos mil euros. ¿Qué proyecto debería seleccionar?
NOTA: La familia de procesadores de esta empresa tiene una arquitectura de tipo LOAD/STORE en las que las
operaciones sólo utilizan como operandos registros de la CPU. Para un conjunto de programas representativos de
su actividad se tiene que el 25% de las instrucciones son operaciones con la ALU (3 CPI), el 18% son operaciones
con números en coma flotante (8 CPI), el 21% son LOAD (4 CPI), el 12% son STORE (4 CPI) y el 24% son BRANCH
(4 CPI).
Si sabe que el procesador que se está utilizando es de 2 GHz ¿Qué podría decir respecto al tipo de
procesador utilizado teniendo en cuenta el valor de CPI?
NOTA: Suponga que N = 108, que a es un array de números en coma flotante, y que b es otro número en coma
flotante.
13.Deduzca la ley de Amdahl para la mejora de la velocidad de un procesador suponiendo que hay una
probabilidad f de no utilizar un recurso del procesador cuya velocidad se incrementa en un factor p.
¿Es cierto que para una determinada mejora realizada en un recurso, al aumentar el factor de mejora,
llega un momento en que se satura el incremento de velocidad que se consigue para el conjunto
de programas que constituyen la carga de trabajo del computador?
¿Es cierto que la cota para el incremento de velocidad que establece la ley de Amdahl crece a medida
que aumenta el valor del factor de mejora aplicado al recurso?
19. Se pretende escoger entre dos posibles alternativas para implementar los saltos condicionales en un procesador sin
segmentación de cauce:
ALT1: Una instrucción COMPARE actualiza un código de condición y es seguida por una instrucción BRANCH
que comprueba esa condición.
ALT2: Una sola instrucción incluye la funcionalidad de las instrucciones COMPARE y BRANCH.
Hay que tener en cuenta que hay un 20% de saltos condicionales en los programas con la primera alternativa (ALT1);
que las instrucciones BRANCH (de ALT1) y COMPARE+BRANCH (de ALT2) necesitan 4 ciclos mientras que todas las
demás necesitan sólo 3; y que el ciclo de reloj de ALT1 es un 25% menor que el de ALT2, dado que en éste caso la
mayor funcionalidad de la instrucción COMPARE+BRANCH ocasiona una mayor complejidad en el procesador.
a) Determine cuál de las dos alternativas es mejor.
b) ¿Qué ocurriría si el ciclo de reloj fuese únicamente un 10% mayor para ALT2?
Solución
TCPU CPI NI Tciclo
proporción CPI
i i
4 0.20 NIALT1 3 0.20 NIALT1 3 0.60 NIALT1
CPIALT1 i
3.2
proporción
i
i NIALT1
TCPUALT2 3.25 NI ALT2 TcicloALT2 3.25 0.8 NI ALT1 1.33 TcicloALT1 3.458 NI ALT1 TcicloALT1
Estos resultados permiten concluir que la alternativa ALT2 no mejora a la alternativa ALT1.
B) En la segunda parte de este problema se nos plantea la posibilidad de que la diferencia entre los
tiempos de ciclo de las dos alterativas no sean tan diferentes. Concretamente, ahora el tiempo de ciclo de
la alternativa ALT2 es un 10% mayor que el de la alternativa ALT1. Por tanto, se cumple que:
TCPU ALT2 3.25 NI ALT2 Tciclo ALT2 3.25 0.8 NI ALT1 1.10 Tciclo ALT1 2.86 NI ALT1 Tciclo ALT1
Por lo tanto, ahora la segunda alternativa sí que es mejor que la primera. Con el mismo planteamiento que
antes no mejoraba la situación de partida ahora sí conseguimos una mejora. Tan sólo ha sido necesario
que el aumento del ciclo de reloj que se produce al hacer un diseño más complejo del procesador sea algo
menor.
14. 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?
15.Un empresario está pensando en actualizar el servidor Web de su empresa. El problema es que
no está seguro de si debería cambiar el procesador por uno que funciones a más frecuencia, o bien
comprar un disco duro más rápido. Si el servidor está accediendo a ficheros almacenados en el
disco duro el 50% del tiempo de ejecución, el 15% del tiempo está 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 1 GHz por uno de 3 GHz? Utilice la ley de
Amdahl para ayudarle a escoger la mejor alternativa.
16. 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?
17. Suponga que, en los programas que constituyen la carga de trabajo habitual de un procesador, las operaciones de
coma flotante consumen un promedio del 10% del tiempo de ejecución de los programas y las de enteros un 20%. Las
operaciones de coma flotante se hacen en una unidad funcional con un retardo de 6 ciclos y las de enteros en otra unidad
con un retardo de 2 ciclos. ¿Qué es mejor reducir un ciclo el retardo de la unidad de enteros o 4 ciclos el de la de coma
flotante? ¿Cuál es la máxima ganancia de velocidad que se puede obtener por mejoras en la unidad de enteros? ¿Y por
mejoras en la de coma flotante?
18. 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?
6. Ha aparecido en el mercado una nueva versión de un procesador en la que la única mejora con
respecto a la versión anterior es una unidad de coma flotante mejorada que permite reducir el tiempo de
las instrucciones de coma flotante a tres cuartas partes del tiempo que consumían antes. Si las
instrucciones de coma flotante consumen un promedio del 13% del tiempo en los programas que
constituyen la carga de trabajo habitual del procesador antiguo:
c) ¿Cuál es la máxima ganancia de velocidad que puede esperarse en los programas si se sustituye
el procesador de la versión antigua por el nuevo?
¿Cuál es la máxima ganancia de velocidad que, en promedio, puede esperarse en los programas
debido a mejoras en la velocidad de las operaciones en coma flotante?
¿Cuál debería ser el porcentaje de tiempo de cálculo con datos en coma flotante (en la versión antigua
del procesador) en sus programas para esperar una ganancia máxima de 4?
En la situación anterior, ¿cuánto debería reducirse el tiempo de las operaciones en coma flotante con
respecto a la situación inicial para que la ganancia máxima sea 2?
7. Considere un procesador no segmentado con una arquitectura de tipo LOAD/STORE en la que las operaciones sólo utilizan
como operandos 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 LOAD (4 CPI), el 12% son STORE (4 CPI) y el 24% son
BRANCH (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 ellas el valor de CPI es 4 y que ocasionarían un incremento de un ciclo en el CPI de
los las instrucciones BRANCH, pero que no afectan al ciclo de reloj
8. . 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
d) El programa debe completarse en menos de 0.25 segundos. ¿Cuántos GFLOPS se necesitan como mínimo
suponiendo que el producto y la suma en coma flotante tienen un coste similar?
Suponga que el programa en ensamblador tiene 7N instrucciones, que se ha ejecutado en un procesador a 2 GHz, y
que no ha completado ninguna instrucción (por razones de dependencias entre instrucciones y retardos de
memoria) en el 30% de los ciclos que ha consumido en los 0.25 segundos en que ha estado ejecutándose. ¿Cual
es el número medio de instrucciones que el procesador tiene que poder completar por ciclo?
Considerando que ese número medio de instrucciones por ciclo es el que puede completar el procesador como
máximo, utilice la ley de Amdahl para estimar la máxima ganancia de velocidad que se puede conseguir si
se incrementa en una instrucción por ciclo más ese número.
¿Es mejor alternativa dejar el procesador tal y como está (sin incrementar la instrucción por ciclo en el 70% de los
ciclos) y, en cambio, reducir el número de ciclos en los que no se terminan instrucciones (por mejoras mediante
optimizaciones de código que aprovechen más eficazmente la microarquitectura del procesador) de forma que
pase del 30% al 20% de los ciclos iniciales