1, 2 y 3

Transcripción

1, 2 y 3
Arquitectura de Computadores
2011/2012 (1º semestre)
2ª Prueba Parcial
21 de noviembre de 2011
Ejercicio 1
(3 puntos)
Disponemos de un procesador VLIW que puede emitir instrucciones con dos operaciones
de referencia a memoria, y dos operaciones aritméticas o una operación aritmética y otra
de salto (es decir, una de las dos operaciones aritméticas se puede sustituir por una de
salto).
Este procesador no está segmentado (no tiene pipeline), y en cada ciclo se emite una
instrucción VLIW.
Muestra cómo se ensamblarían las instrucciones VLIW a partir del programa MIPS que
aparece a continuación, de forma que se maximice el uso de las instrucciones VLIW.
Tenga en cuenta los riesgos RAW que aparecen en el programa a la hora de construir las
instrucciones VLIW. En cada iteración del bucle se procesan cuatro elementos del vector.
Al inicio del programa el registro r1 apunta a la última dirección del vector.
LOOP:
lw
r10,0(r1)
daddi r10,r10,4
sw
r10,0(r1)
; Leer elemento vector
; Sumar 4 al elemento
; Escribir nuevo valor
lw
r11,-4(r1)
daddi r11,r11,4
sw
r11,-4(r1)
lw
r12,-8(r1)
daddi r12,r12,4
sw
r12,-8(r1)
lw
r13,-12(r1)
daddi r13,r13,4
sw
r13,-12(r1)
daddi r1,r1,-16
bne
r1,r0,LOOP
; Actualizar índice
; Fin de vector?
Ejercicio 2
(2 puntos)
Las siguientes cuestiones se refieren a un predictor de saltos BPB de tipo (0,3). Para
implementarlo se utiliza una tabla con búsqueda asociativa.
a) ¿Cuántos estados tiene el predictor?
b) ¿Cuántas veces tiene que fallar una predicción para que ésta cambie?
c) ¿Cuántos Kbits son necesarios para construir la tabla de predicción con 1024
entradas? Suponer que las direcciones de memoria son de 29 bits y se guardan en
su totalidad en la tabla de predicción de saltos.
Ejercicio 3
(5 puntos)
Rellenar la última fila de las tablas mostradas en la hoja de soluciones escribiendo los
ciclos en que tendrá lugar cada una de las etapas y los riesgos que ocasionan las
esperas, si es que las hay. Obsérvese que hay dos casos distintos (a y b).
Cada tabla es independiente de las demás. Para la ejecución de todas las instrucciones
que aparecen en cada tabla se dispone de 2 unidades funcionales de multiplicación y una
de suma. La multiplicación ocupa 10 ciclos y la suma 2.
Arquitectura de Computadores
2011/2012 (1º semestre)
2ª Prueba Parcial
21 de noviembre de 2011
Apellidos ..................................................................... Nombre ..........................................
Ejercicio 1
(3 puntos)
Instrucciones VLIW
Referencia Mem. 1
Referencia Mem. 2
Ejercicio 2
a) ¿Cuántos estados tiene el
predictor?
b) ¿Cuántas veces tiene que fallar
una predicción para que ésta
cambie?
c) ¿Cuántos Kbits son necesarios
para construir la tabla de
predicción con 1024 entradas?
Suponer que las direcciones de
memoria son de 29 bits y se
guardan en su totalidad en la
tabla de predicción de saltos.
Op. Aritmética 1
Op. Arit. 2 ó Salto
(2 puntos)
Arquitectura de Computadores
2011/2012 (1º semestre)
2ª Prueba Parcial
21 de noviembre de 2011
Apellidos ..................................................................... Nombre ..........................................
Ejercicio 3
(5 puntos)
a) Suponer que se utiliza el algoritmo del marcador. Las escrituras de los registros se
realizarán en el primer subciclo y las lecturas en el segundo.
MUL
F1,F2,F3
ADD
F5,F4,F1
MUL
F6,F2,F1
MUL
F2,F2,F5
Emisión
Lectura
Ejecución
Escritura
1
2
3-12
13
Emisión
Lectura
Ejecución
Escritura
10
25
26-35
36
Emisión
Lectura
Ejecución
Escritura
ADD
F1,F3,F7
15
16
17-18
19
MUL
F2,F3,F3
18
19
20-29
30
ADD
F6,F1,F1
Emisión
Lectura
Ejecución
Escritura
MUL
F5,F2,F2
40
41
42-51
52
MUL
F7,F2,F3
41
42
43-52
53
ADD
F6,F5,F4
Emisión
Lectura
Ejecución
Escritura
35
40
41-50
56
Emisión
Lectura
Ejecución
Escritura
MUL
F1,F1,F3
ADD
F1,F1,F2
ADD
F3,F1,F9
20
21
22-23
24
MUL
F8,F5,F4
21
22
23-32
33
ADD
F5,F2,F4
Emisión
Lectura
Ejecución
Escritura
10
18
19-28
35
Emisión
Lectura
Ejecución
Escritura
MUL
F6,F8,F2
ADD
F8,F8,F8
MUL
F5,F2,F3
30
31
32-41
42
ADD
F8,F1,F4
31
32
33-34
35
MUL
F5,F2,F3
Emisión
Lectura
Ejecución
Escritura
ADD
F1,F2,F3
ADD
F4,F5,F6
20
21
22-23
24
b) Ahora se utilizará el algoritmo de Tomasulo suponiendo que cada unidad funcional
tiene una estación de reserva que se libera cuando la instrucción comienza la etapa de
ejecución. Tanto la lectura como la escritura ocuparán un ciclo completo.
MUL
F1,F2,F3
ADD
F5,F4,F1
MUL
F6,F2,F1
MUL
F2,F2,F5
Emisión
Ejecución
Escritura
1
2-11
12
Emisión
Ejecución
Escritura
10
11-20
21
Emisión
Ejecución
Escritura
ADD
F1,F3,F7
15
16-17
18
MUL
F2,F3,F3
16
17-26
27
ADD
F6,F1,F1
Emisión
Ejecución
Escritura
20
32-33
34
Emisión
Ejecución
Escritura
35
36-45
46
Emisión
Ejecución
Escritura
10
15-16
17
Emisión
Ejecución
Escritura
ADD
F8,F5,F3
ADD
F5,F2,F4
MUL
F1,F1,F3
ADD
F1,F1,F2
ADD
F1,F8,F2
ADD
F8,F6,F8
MUL
F5,F2,F3
30
31-40
41
MUL
F8,F1,F4
31
38-47
48
MUL
F5,F2,F3
Emisión
Ejecución
Escritura
MUL
F5,F2,F2
40
41-50
51
MUL
F7,F2,F3
41
42-51
52
ADD
F6,F5,F4
Emisión
Ejecución
Escritura
20
21-22
23
ADD
F1,F2,F3
ADD
F4,F5,F6

Documentos relacionados