Sunteți pe pagina 1din 4

Problemas de Arquitectura de Computadores

CAPÍTULO I. Medidas del rendimiento


 1. En un procesador de una frecuencia de 40 MHz se ejecuta un programa de prueba con la
siguiente mezcla de instrucciones y ciclos:

número de
tipo ciclos
instrucciones
aritmética entera 45.000 1
transferencia de datos 32.000 2
floating point 15.000 2
transferencia de control 8.000 2

Calcular el recuento de instrucciones, CPI, rendimiento en MIPS y tiempo de ejecución.

 2. Considerar la ejecución de un programa con 200.000 instrucciones, en un procesador a 40


Mhz. La relación de instrucciones y el número de ciclos se muestra en la siguiente tabla:

tipo de instrucción CPI %


aritméticas y lógicas 1 60%
load/store 2 18%
branch 4 12%
manejo de cadenas 8 10%

Calcular CPI y rendimiento expresado en MIPS.

 3. Se dispone de un juego de instrucciones con 3 categorías A, B y C. Este juego de


instrucciones se puede ejecutar sobre 2 procesadores compatibles binarios de arquitecturas distintas que
dan los siguientes valores de CPI para cada categoría:

CPI
P1 P2
A 4 2
B 6 4
C 8 4

El procesador P1 trabaja a 400MHz mientras que el P2 lo hace a 200MHz. Determinar el


rendimiento de pico de cada uno de ellos en MIPS. Calcular el CPI medio para cada uno de ellos. ¿Qué
máquina es más rápida si suponemos una mezcla equitativa de las tres clases de instrucciones? ¿A qué
frecuencia de reloj debe trabajar P1 para igualar el rendimiento de P2?

Supongamos ahora que estamos trabajando con un programa fuente de test y disponemos de
tres compiladores distintos. La siguiente tabla da la distribución del uso de las diferentes categorías de
instrucciones para el programa compilado con cada uno de los tres compiladores. Suponemos que los
tres compiladores generan el mismo número de instrucciones (recuento total) aunque sean de diferentes
clases.

CPI distribución
P1 P2 C1 C2 C3
A 4 2 30% 30% 50%
B 6 4 50% 20% 30%
C 8 4 20% 50% 20%

Determinar la velocidad de ejecución del programa en cada procesador usando todos los
compiladores disponibles. ¿Cuál es la configuración de conjunto más eficiente?

 4. Se va a mejorar una máquina y se barajan dos opciones: hacer que la ejecución de las
instrucciones de multiplicación tarde 4 veces menos, o que la ejecución de las de acceso a memoria
tarde 2 veces menos. Se ejecuta un programa de prueba antes de realizar la mejora y se obtienen las
siguientes medidas de tiempo de uso de la CPU: el 20% del tiempo es utilizado para multiplicar, el 50%
para instrucciones de acceso a memoria y el 30% restante para otras tareas. ¿Cuál será el incremento de
velocidad si sólo se mejora la multiplicación? ¿Y si sólo se mejoran los accesos a memoria? ¿Y si se
realizan ambas mejoras?

I. INFORMÁTICA 1
Problemas de Arquitectura de Computadores

 5. Se ejecutan sobre una máquina dos programas A y B utilizados como test para medir su
rendimiento. Los recuentos de instrucciones tienen la siguiente distribución en ambos:

Programa A Programa B
Instrucciones de proceso 37% 48%
Instrucciones de transferencia 45% 36%
Instrucciones de salto 18% 16%

La máquina presenta los siguientes CPI (ciclos por instrucción) medios para cada grupo de
instrucciones sin memoria caché de 2º nivel y con ella.

CPI medio
Sin caché de 2º nivel Con caché de 2º nivel
Instrucciones de proceso 1.0 1.0
Instrucciones de transferencia 5.2 2.4
Instrucciones de salto 1.1 1.0

Determinar la ganancia de rendimiento (aceleración o speed up) que presenta la mejora de la


jerarquía de memoria introducida en la máquina con respecto a la situación sin mejora.

 6. El programa go de los SPECint95 ha sido compilado para el repertorio x86 en su versión de


16 bits en modo real. Se ha trazado el ejecutable dando como resultado los siguientes recuentos de
instrucciones:

categoría recuento CPI medio


transferencia 17.772.338 4
proceso 8.610.893 3
bifurcaciones 4.224.388 3
cadenas 9.117 10
otras 19.869 2

Los CPI medios para cada tipo de instrucción, que se adjuntan en la tabla anterior, se han
medido con operandos situados en registros. Sabemos que solamente 1/3 de los operandos de las
instrucciones de transferencia y de proceso residen en memoria. En éste caso, hay que añadir 10 ciclos
más (en media) para acceder a memoria.

Calcular en esta situación:


a) El CPI medio del programa
b) El tiempo de ejecución si suponemos que la velocidad de reloj es de 100MHz
c) El rendimiento de pico expresado en MIPS
d) El rendimiento aparente para este programa en MIPS

Supongamos que cambiamos de compilador y conseguimos reducir en un 15% los accesos a


memoria, determinar:
e) El CPI medio nuevo
f) La aceleración de CPI entre la situación inicial y la mejora de la pregunta anterior

Supongamos ahora que utilizando el primer compilador hacemos cambios en el hardware que
reducen los accesos a memoria a 7 ciclos a costa de que la velocidad de reloj también se reduzca hasta
75MHz. Calcular ahora:
g) CPI medio
h) Tiempo de ejecución
i) Aceleración para el CPI y para el tiempo

Cuando compilamos el programa go para el mismo juego de instrucciones pero en su versión de


32 bits el efecto más relevante es que el recuento de instrucciones de proceso se reduce a la mitad. Bajo
esta circunstancia volver a determinar.
j) CPI medio
k) Tiempo de ejecución
l) Aceleración para el CPI y para el tiempo

2 I. INFORMÁTICA
Problemas de Arquitectura de Computadores

 7. En un ordenador a 1 GHz se ejecuta un programa con 1000 instrucciones de las cuales el


40% son saltos, que tardan 2 ciclos de reloj, el 20% son cargas (4 ciclos de reloj) y el 40% son otras
instruciones (1 ciclo de reloj). ¿Cuánto tarda en ejecutarse el programa?

 8. Sea una arquitectura cuyo repertorio de instrucciones está formado por cinco tipos de
instrucciones cuyas medidas de CPI se muestran en la siguiente tabla:

CPI para el tipo de instrucción


Tipo 1 2
Tipo 2 3
Tipo 3 1
Tipo 4 6
Tipo 5 3

Se desean evaluar tres traductores de COBOL 400 a RPG-II con vistas a adquirir uno de ellos
para la empresa en la que trabajamos. Para ello, se ha desarrollado un programa en COBOL 400 que ha
sido traducido por cada uno de los tres traductores a RPG-II, obteniéndose los resultados mostrados en
la tabla siguiente:

Número de instrucciones de cada tipo


Traductor (en miles de millones)
Tipo 1 Tipo 2 Tipo 3 Tipo 4 Tipo 5
Traductor 1 6 3 2 2 3
Traductor 2 8 2 1 3 1
Traductor 3 6 3 1 1 9

Si la frecuencia de reloj de los computadores que tenemos en nuestro departamento es de


1,8 GHz, se pide:
a) Programa más rápido en cuanto a tiempo de ejecución
b) Ejecutable más rápido tomando como medida los MIPS
c) ¿A qué es debida la diferencia entre MIPS y el tiempo de ejecución?

 9. Se tiene la siguiente información sobre las instrucciones de un repertorio:

Tipo de instrucción CPI % de uso


Aritmética y lógica enteras 2 50
Carga /almacenamiento 4 20
Control 2 20
Coma flotante 8 10

¿Cuál es el CPI promedio de esta máquina?

 10. La siguiente tabla muestra las opciones que se tienen para mejorar partes de una
máquina. La segunda columna indica el porcentaje del tiempo total de ejecución del que es responsable
la característica correspondiente, y la tercera el factor de mejora que se puede conseguir para esa
característica. Por ejemplo, la característica A es responsable del 20% del total del tiempo de ejecución, y
es posible mejorarla para que funcione 25 veces más rápido (una mejora del 2500 por cien).

Característica % tiempo ejecución Factor de mejora


A 20 25
B 10 10
C 30 2
D 5 40

¿La mejora de cuál de las características tiene una mejor repercusión en el rendimiento total de
la máquina? (A, B, C o D)

I. INFORMÁTICA 3
Problemas de Arquitectura de Computadores

 11. Una vez graduado, el lector se preguntará cómo llegar a ser un líder en el diseño de
computadores. Su estudio sobre la utilización de construcciones de los lenguajes de alto nivel sugiere
que las llamadas a los procedimientos son una de las operaciones más caras. Suponga que ha inventado
un esquema que reduce las operaciones de carga y almacenamiento normalmente asociadas con las
llamadas y vueltas de procedimientos. Lo primero que hace es ejecutar algunos experimentos con y sin
esta optimización. Sus experimentos utilizan el mismo compilador optimizador en ambas versiones del
computador. Los experimentos realizados revelan lo siguiente:
• La duración del ciclo de reloj de la versión no optimizada es el 5% más rápido.
• El 30% de las instrucciones de la versión no optimizada son operaciones de carga o almacenamiento.
• La versión optimizada ejecuta 1/3 menos de operaciones de carga y almacenamiento que la versión no
optimizada. Para las demás instrucciones, el recuento de ejecución dinámica es inalterable
• Todas las instrucciones (incluyendo las de carga y almacenamiento) emplean un ciclo de reloj.

¿Qué versión es más rápida? Justificar cuantitativamente la decisión.

[Hennessy-Patterson 1ªed. p. 86]

 12. Su empresa utiliza un benchmark (programa de evaluación de rendimiento) que es


considerado representativo de sus aplicaciones. Un procesador utilizado para su trabajo no tiene unidad
de coma flotante y debe emular cada instrucción de coma flotante con una secuencia de instrucciones de
enteros. Este procesador produce 120 MIPS ejecutando el benchmark. Un vendedor ofrece un
coprocesador compatible para mejorar el rendimiento que ejecuta las instrucciones de coma flotante
mediante hardware (no necesita emulación). La combinación procesador/coprocesador produce 80 MIPS
ejecutando el mismo benchmark. Utilice la siguiente nomenclatura para contestar a las cuestiones de
este ejercicio.

I – Número de instrucciones de enteros ejecutadas utilizando el benchmark.


F– Número de instrucciones de coma flotante ejecutadas utilizando el benchmark.
Y– Número de instrucciones de enteros necesarias para emular una instrucción de coma flotante.
W– Tiempo de ejecución del benchmark utilizando sólo el procesador
B – Tiempo de ejecución del benchmark utilizando la combinación procesador/coprocesador.

a) Escriba una ecuación para los MIPS de cada configuración utilizando las letras anteriores.
6
b) Para la configuración sin el coprocesador, se mide que F = 8 x 10 , Y = 50, y W = 4 segundos.
Calcule I
c) ¿Cuál es el valor de B?
d) ¿Cuál es el valor de los MFLOPS para el sistema con coprocesador?
e) Su colega quiere comprar el coprocesador aunque el valor de los MIPS para la configuración con
el coprocesador es menor que con el procesador solo. ¿Es la decisión de su colega correcta?
Justifique la respuesta.

[Hennessy-Patterson 3ªed. p. 81]

4 I. INFORMÁTICA

S-ar putea să vă placă și