Anda di halaman 1dari 5

PRACTICA N4 IT-134M

1. Suponga que una tarea est dividida en cuatro segmentos de igual


tamao, y que el sistema construye para cada segmento una tabla de
descriptores de pgina con ocho elementos. As pues, el sistema utiliza
una combinacin de segmentacin y paginacin. Asuma tambin que el
tamao de la pgina es de 2KB.
a) Cul es el tamao mximo de cada segmento?
b) Cul es el espacio de direcciones lgicas mximo para una tarea?

SOLUCION:

Calculemos primeramente los Marcos de pginas (Page frames):

232
11
= 221
2

Grficamente tendramos:

a) Tamao mximo de cada segmento: 8 * 2K = 16K

b) Espacio de direcciones lgicas mximo: 16K * 4 = 64K

1
PRACTICA N4 IT-134M

2. Suponga un cauce de cuatro etapas: captar instruccin (FI),


decodificar la instruccin y calcular direcciones (DA), captar operando
(FO) y ejecutar (EX). Dibuje un diagrama de tiempos para una
secuencia de siete instrucciones, en el cual la tercera instruccin es un
salto condicional que tiene lugar a la instruccin 15 y adems no hay
dependencia de datos.

SOLUCION:

Teniendo en cuenta el salto condicional en I5 y por consiguiente la


penalizacin debido al salto, se obtiene:

Tiempo

2
PRACTICA N4 IT-134M

3. Un microprocesador incluye una instruccin capaz de copiar una


cadena de bytes de un rea de memoria a otra. La captacin y la
decodificacin inicial de la instruccin tardan diez ciclos de reloj.
Despus, cada byte tarda 15 ciclos de reloj en transferirse. El
microprocesador funciona a una frecuencia de 5 GHz.
a) Determine la duracin del ciclo de instruccin para el caso de
una cadena de 64 bytes
b) Cul es el retardo mximo en atender una interrupcin si la
instruccin no es interrumpible?

SOLUCION:

a) La duracin de un ciclo de reloj es 0.1 ns. La duracin del ciclo


de instruccin para este caso ser:

[ + ( )] . = .

b) El retraso del peor caso, es decir el retardo mximo, es cuando


la interrupcin se produce justo despus del inicio de la
instruccin, que en este caso es 960 ns.

4. Considere el siguiente fragmento de cdigo en un lenguaje de alto


nivel:

for I in 1100 loop


S S +Q (I).VAL
end loop;

Suponga que Q es una matriz de registros de 32 bytes y que el campo


VAL est en los primeros cuatro bytes de cada registro. Usando cdigo
del 80x86, podemos compilar este fragmento de programa como sigue:

MOV ECX, 1 ; usar el registro ECX para contener I


LP: IMUL EAX, ECX, 32 ; poner el desplazamiento en EAX
MOV EBX, Q [EAX] ; cargar el campo VAL
ADD S, EBX ; sumar a S
INC ECX ; incrementar I
CMP ECX, 101 ; comparar con 101
JNE LP ; seguir en el bucle hasta que I = 100

3
PRACTICA N4 IT-134M

Este programa utiliza la instruccin IMUL, que multiplica el segundo


operando por el valor inmediato del tercer operando y lleva el
resultado al primer operando. A un defensor de los RISC le gustara
demostrar que un compilador ingenioso puede eliminar instrucciones
complejas innecesarias tales como IMUL. D una demostracin
escribiendo de nuevo el programa para 80x86 anterior sin usar la
instruccin IMUL.

SOLUCION:

Si reemplazamos I por 32*I, podemos generar el siguiente cdigo:

MOV ECX, 32 ; usa el registro ECX para contener32 I


LP: MOV EBX, Q[ECX] ; cargar el campo VAL
ADD S, EBX ; suma a S
ADD ECX, 32 ; suma 32 a 32 I
CMP ECX, 3200 ; prueba contra el lmite ajustado
JNE LP ; loop hasta I 32 = 100 32

5. Para el fragmento de cdigo ensamblador MIPS mostrado:

LOOP: slt $t2, $0, $t1


bne $t2, $zero, ELSE
j DONE
ELSE: addi $s2, $s2, 2
subi $t1, $t1, 1
j LOOP
DONE:

a) Si el valor inicial del registro $t1 es 10 y el valor inicial en $2 es 0,


Cul es el valor final en el registro $s2?
b) Escriba la rutina C equivalente. Suponga que los registros $s2,
$t1 y $t2 son los enteros A, i y temp; respectivamente
c) Cuntas instrucciones MIPS se ejecutan?

4
PRACTICA N4 IT-134M

SOLUCION:

a) El valor final en el registro $s2 es: 20.

b)
i=10
do {
B+=2;
i=i-1;
}
while(i>0)

c) Las instrucciones MIPS que se ejecutan son: 5*N+3

Anda mungkin juga menyukai