Está en la página 1de 2

Universidad Autónoma del Caribe

Laboratorio 2 de Arquitectura de Computadores

1. Considere la información contenida en la Tabla 1 para la ejecución de una


secuencia de 106 instrucciones en dos computadores diferentes:

La gente común (aquella que no ha hecho un curso de arquitectura de


computadores) piensa que el computador con la frecuencia de reloj más alta
tiene mejor rendimiento. ¿Es esto cierto para los computadores C1 y C2?

2. Una supercomputadora toma 140 horas para decodificar una secuencia de


proteínas, ocupando 42 horas del tiempo en la ejecución de instrucciones
enteras. ¿Qué tanto más rápida debe hacerse la unidad de ejecución de
instrucciones enteras para que el tiempo de decodificación se reduzca en 8
horas?

3. En la Tabla 2 se resumen los números de instrucciones para cada tipo de


instrucción de dos secuencias diferentes de código.

Los valores de CPI para los tipos de instrucción A, B, C y D son 4, 3, 2 y 1,


respectivamente.
a. ¿Cuál es el CPI global para cada secuencia?
b. Si ambos códigos se ejecutan sobre la misma máquina con una frecuencia de
2.6 GHz, ¿cuál es el tiempo de ejecución de cada secuencia?
c. Suponga que las secuencias 1 y 2 se ejecutan sobre dos computadores
diferentes C1 y C2, respectivamente. ¿Cuál debe ser la relación entre los
periodos de sus señales de reloj para que ambas secuencias de código
tengan el mismo rendimiento?
4. Asuma que las variables x y y contienen valores enteros positivos, y están
asociadas con los registros $s0 y $s1, respectivamente.
a. Escriba una secuencia de instrucciones MIPS que calcule x mod y mediante
restas sucesivas, y almacene el resultado en $t0.
b. Determine el número de instrucciones que se ejecutan en el peor y mejor
caso.
c. Cómo se comporta su código cuando y = 0.

5. Una lista de enteros está almacenada en memoria comenzando en la dirección


contenida en el registro $s1. El tamaño de la lista está en $s2.
a. Escriba una secuencia de instrucciones MIPS para determinar el entero más
grande de la lista, copiándolo en $t0.
b. Modifique el código original para determinar el menor entero de la lista.
c. Modifique el código original para determinar el elemento de la lista con el
mayor valor absoluto.
d. Modifique el código original para determinar el elemento de la lista que
tiene el byte menos significativo más grande.

También podría gustarte