Estructuras segmentadas Problemas

Anuncio
DEPARTAMENTO DE AUTOMÁTICA
Arquitectura e Ingenierı́a de Computadores
Ingenierı́a Informática
Tema 2
Estructuras segmentadas
Problemas
1. Considérese la ejecución de un programa de 15000 instrucciones en un procesador segmentado
con una velocidad de reloj de 25 Mhz. El cauce es de 5 etapas y se emite una instrucci ón por
ciclo.
a) Calcular la ganancia frente a un computador no segmentado.
b) Calcular el rendimiento en MIPS del procesador.
2. Un procesador no encauzado X tiene un reloj de 25 Mhz y una media de 4 ciclos por instrucción. Una mejora de este procesador, Y , consiste en un procesador encauzado de 5 etapas, pero
su reloj debe reducirse a 20 MHz por causa de los latches.
a) Si ejecutamos un programa de 100 instrucciones, ¿cuál es la ganancia del procesador Y
frente al procesador X?
b) Calcular el rendimiento en MIPS de los dos procesadores.
3. Se tiene un sumador encauzado de cuatro etapas. La etapa de máximo retardo necesita 20 ns
para su ejecución.
a) ¿Cuál es la máxima frecuencia de operación del cauce?
b) ¿Cuánto tiempo se tardará en obtener la suma de dos vectores de 100 componentes usando el mı́nimo periodo de reloj posible?
c) Calcular el tiempo mı́nimo para sumar las 100 componentes de un vector suponiendo que
tenemos la posibilidad de realimentar la salida a cualquiera de las dos entradas, que se
puede retardar la realimentación y que estamos trabajando con el mı́nimo periodo.
d) ¿Qué ganancia se obtiene en la operación del apartado anterior frente a un sumador no
encauzado con un retardo de 80 ns?
4. La figura muestra la conexión entre los registros y la CPU de un computador de tipo registroregistro, con encauzamiento de instrucciones de cuatro etapas: fetch, b úsqueda de operadores,
operación y almacenamiento de resultados. Todas las etapas tienen con el mismo periodo T .
a) Dibujar el diagrama de la evolución del cauce en el tiempo.
b) Si se quiere ejecutar el
cauce?
LD
R2,
LD
R1,
lazo: ADD R2,
DJNZ R1,
programa adjunto, ¿cómo serı́a la secuencia de ocupación del
0H
30H
R1
lazo
;
;
;
;
carga en R2 el valor inmediato 0H
carga en R1 el valor inmediato 30H
R2 = R2 + R1
(decrementa R1 y salta si no es 0)
1
Banco de
registros
CPU
c) ¿En cuántos ciclos mejorarı́a la ejecución del programa anterior si dotamos al sistema
con la posibilidad de lectura de operandos desde la propia ALU?
d) Si tuviéramos la posibilidad de realizar bifurcación retardada, de modo que se pueda
ejecutar una instrucción mientras se decide el salto, ¿cuál serı́a la secuencia de ejecución
del programa que mejorarı́a el rendimiento? ¿En cuántos ciclos mejorarı́a la ejecución?
5. Dado el siguiente fragmento de código, supóngase que se ejecuta en un computador DLX y
que el valor inicial de R3 es R2+396. Se pide:
a) Mostrar la evolución de las instrucciones en el cauce suponiendo que no existe la posibilidad de realimentación de datos entre etapas (forwarding) y que, ante una instrucci ón de
salto, el cauce espera a su resolución. ¿Cuántos ciclos se tardarı́a en ejecutar este bucle?
b) Repetir el apartado anterior suponiendo que se dispone de realimentaci ón de datos entre
etapas (forwarding) y que los saltos no son tomados.
c) Suponiendo las mismas condiciones del apartado b) y que la máquina permite un delayslot, reordenar el código para obtener un mejor rendimiento y mostrar la evoluci ón de las
instrucciones en el cauce. ¿Cuántos ciclos se tardarı́a en ejecutar el bucle?
Loop: LW
R1, 0(R2)
ADDI R1, R1, #1
SW
0(R2), R1
ADDI R2, R2, #4
SUB R4, R3, R2
BNEZ R4, Loop
6. Dado el siguiente fragmento de código, supóngase que se ejecuta en un computador DLX con
múltiples unidades funcionales con las caracterı́sticas explicadas en teorı́a (es decir, la latencia
de la suma es 4 ciclos y la latencia de la multiplicación es 7 ciclos) y que, además, el valor
inicial de R4 es R2+792. Se pide:
a) Mostrar la evolución de las instrucciones en el cauce suponiendo que no existe la posibilidad de realimentación de datos entre etapas (forwarding) y que, ante una instrucci ón de
salto, el cauce espera a la resolución del mismo. ¿Cuántos ciclos se tardarı́a en ejecutar
este bucle?
b) Repetir el apartado anterior suponiendo que se dispone de realimentaci ón de datos entre
etapas (forwarding) y que los saltos no son tomados.
c) Suponiendo las mismas condiciones del apartado b) y que la máquina permite un delayslot, reordenar el código para obtener un mejor rendimiento y mostrar la evoluci ón de las
instrucciones en el cauce. ¿Cuántos ciclos se tardarı́a en ejecutar el bucle?
2
Loop: LD
LD
MULTD
ADDD
ADDI
ADDI
SUB
BNEZ
F0,
F4,
F0,
F2,
R2,
R3,
R5,
R5,
0(R2)
0(R3)
F0, F4
F0, F2
R2, #8
R3, #8
R4, R2
Loop
7. Supóngase que tenemos un cauce con tres etapas como muestra la tabla:
ETAPA
1
2
3
FUNCIÓN
Fetch
Decodificación, operandos
Ejecución, acceso a memoria, resolución de salto, + escritura de registros.
Todas las dependencias de datos se dan entre el registro escrito en la etapa 3 de la instrucci ón
i y un registro leı́do en la etapa 2 de la instrucción i + 1, antes de que la instrucción i se haya
completado. La probabilidad de que esta situación se dé es p−1 . Se considera un cambio en la
organización de la máquina que consistirı́a en escribir el resultado de una instrucción durante
una cuarta etapa del cauce. Esto reducirı́a la duración del ciclo de reloj en d (es decir, si la
duración del ciclo de reloj era T , ahora serı́a T − d). La probabilidad de una dependencia entre
la instrucción i y la instrucción i+2 es p−2 . (Suponer que el valor de p−1 excluye instrucciones
que causarı́an una dependencia con i+2). El salto también se resolverı́a durante la cuarta etapa.
a) Supóngase que no hay hardware de forwarding para el cauce de 4 etapas. Considerando
solo las dependencias de datos, se pide encontrar la cota inferior de d que hace que el
cambio sea beneficioso. Supóngase que cada resultado se usa solo una vez y que el ciclo
de reloj básico tiene duración T .
b) Asúmase ahora que se usa forwarding en el cauce de 4 etapas para eliminar la dependencia adicional introducida por el cambio. Puede que este dise ño no merezca la pena
por el impacto en las dependencias de control, pues ahora el cauce tiene cuatro etapas en
lugar de tres. Supongamos que solamente la etapa 1 del cauce se puede ejecutar de forma
segura antes de decidir si el salto se toma o no y que la máquina supone que el salto no se
toma. Si el 60 % de los saltos condicionales son tomados, se pide encontrar el porcentaje
de saltos condicionales en función de d y p que hace que el rendimiento del cauce de 4
etapas sea menor que el de 3 etapas. ¿Cuál serı́a este porcentaje si se ha reducido un 10 %
el ciclo de reloj?
3
Descargar