Está en la página 1de 11

ORGANIZACIN Y ARQUITECTURA DE COMPUTADORES

SEGUNDA EVALUACION SEGUNDO TRMINO 2012-2013


NOMBRE:_________________________________________________
INSTRUCCIONES

El examen es totalmente individual, a libro cerrado y no se podr consultar a


ninguna otro tipo de fuente que no sea usted mismo (no libros, no apuntes, no
telfono celular, no Internet, no archivos electrnicos).
Toda respuesta deber colocarse en este documento y no se aceptarn ni hojas ni
otro documento aparte.
El examen puede ser resuelto en menos de dos horas an cuando tengan que
responder en el computador.
Se le permite tener mximo tres hojas en blanco, un lpiz o pluma, un borrador y
una regla. Las hojas le permitirn realizar los clculos que se requieran para
obtener las respuestas a ciertas preguntas del examen.
Antes de empezar el examen coloque su nombre en las hojas en blanco que va a
utilizar y mustrelas al profesor.
Al terminar el examen deber llamar al profesor para que le reciba el archivo del
examen. No se aceptar otro mtodo de recepcin.
Al guardar este archivo gurdelo con el nombre de su apellido y su nombre en ese
orden.
Adems de entregar el archivo entregue las tres hojas que haya o no utilizado
durante el examen para hacer los clculos.
Cualquier otra instruccin que falte en este documento se las dar en clase.
No hay consultas de ningn tipo.

Pregunta # 1 (8 puntos)
Considere una memoria cache con mapeo directo con 128 bloques. El tamao de cada
bloque es de 32 bytes.
a. Encuentre el nmero de bits para tag, bits para indice, y bits de osffset in una
direccin de 32-bit.

Offset bits = 5
Index bits = 7
Tag bits = 32 12 = 20 bits
b. Encuentre el nmero de bits requerido para almacenar todos los bits de validacin y
de tags de la memoria cache.

Total number of tag and valid bits = 128 * (20 + 1) = 2688 bits
c. Dada la siguiente secuencia de referencia a direcciones en decimal:
20000, 20004, 20008, 20016, 24108, 24112, 24116, 24120
Iniciando con una cache vaca, muestre el indice, tag y offset para cada referencia e
indique si hubo un hit o un miss. (A continuacin se proporciona una tabla para que
la vaya llenando con la informacin adecuada.
20000 / 32 = 625 bloques
625 mod 128 = 113 (# del bloque o index)
24108 / 32 = 753.3750
753 mod 128 = 113
0.3750 * 32 = 12

Address = Hex Offset (5)


bits)
20000 = 0x4E20
0x00 = 0

Index (7)
bits)
0x71 = 113

Tag

Hit or Miss

Miss (initially empty)

20004 = 0x4E24

0x04 = 4

0x71 = 113

Hit

20008 = 0x4E28

0x08 = 8

0x71 = 113

Hit

20016 = 0x4E30

0x10 = 16

0x71 = 113

Hit

24108 = 0x5E2C

0x0C = 12

0x71 = 113

Miss (different tag)

24112 = 0x5E30

0x10 = 16

0x71 = 113

Hit

24116 = 0x5E34

0x14 = 20

0x71 = 113

Hit

24120 = 0x5E38

0x18 = 24

0x71 = 113

Hit

Pregunta # 2 (11 puntos)


Considere la siguiente secuencia de cdigo de MIPS:
lw $5, 100($2)
add $2, $3, $5
sub $5, $5, $2
sw $5, 100($2)
a) Realize el diagrama, identifique las dependencias existentes, e identifique aquellas
que son hazards?

b) Identifique todas las dependencias tipo RAW entre pares de instrucciones

lw $5, 100($2) and add $2, $3, $5


lw $5, 100($2) and sub $5, $5, $2
add $2, $3, $5 and sub $5, $5, $2
add $2, $3, $5 and sw $5, 100($2)
sub $5, $5, $2 and sw $5, 100($2)
c) Identifique todas las dependencias tipo WAR entre pares de instrucciones

lw $5, 100($2) and add $2, $3, $5


add $2, $3, $5 and sub $5, $5, $2

d) Identifique todas las dependencias tipo WAW entre pares de instrucciones

lw $5, 100($2) and sub $5, $5, $2


Pregunta # 3 (7.5 puntos)
Calcular la longitud en bits de tag, index y offset de bloque para las siguientes caches ( la
direccin de memoria tiene 32 bits).

a. Cache 1: total size = 4KB, Block size = 1 word (4 Bytes), directly-mapped;
4KB = 4*1024 bytes = 1024 words = 1024 blocks
Bits
8
9
10
11
12
13

Decimal
256
512
1024
2048
4096
8192

Index = 10 bits
Offset = 2 bits
Tag = 32 10 2 = 20 bits
b. Cache 2: total size =32KB, Block size = 1 word (4 Bytes), directly-mapped;
32KB = 32*1024 bytes = 8*1024 words = 8192 blocks
Bits
8
9
10
11
12
13

Index = 13 bits
Offset = 2 bits
Tag = 32 13 2 = 17 bits

Decimal
256
512
1024
2048
4096
8192

c. Cache 3: total size =32KB, Block size = 4 words (16 Bytes), directly-mapped;
32KB = 32*1024 bytes = 8*1024 words = 2048 blocks
Bits
8
9
10
11
12
13

Decimal
256
512
1024
2048
4096
8192

Index = 11 bits
Offset = 4 bits
Tag = 32 11 4 = 17 bits
d. Cache 4: total size =32KB, Block size = 4 words (16 Bytes), 4-way associative;
32KB = 32*1024 bytes = 2*1024 blocks = 512 sets (4 blocks each set)
Bits
8
9
10
11
12
13

Decimal
256
512
1024
2048
4096
8192

Index = 9 bits (# de sets)


Offset = 4 bits
Tag = 32 9 4 = 19 bits
e. Cache 5: total size =32KB, Block size = 4 words (16 Bytes), fully associative;
32KB = 32*1024 bytes = 2*1024 blocks
Bits
8
9
10
11
12
13

Index = 0
Offset = 4 bits
Tag = 32 4 = 28 bits

Decimal
256
512
1024
2048
4096
8192

Pregunta # 4 (6 puntos)
Un procesador trabaja a 2 GHz y tiene un CPI de 1.2 sin incluir los ciclos de stall
debido a bsquedas no acertadas en cache (misses). Las instrucciones de load and
store cuentan por el 30% de todas las instrucciones.
El procesador tiene un I-cache y un D-cache. El tiempo cuando se acierta (hit time) es de
1 ciclo reloj. La I-cache tiene un 2% de miss rate. La D-cache tiene un 5% de miss
rate en las instrucciones de load y store.
La penalidad por un miss es de 50 ns, que es el tiempo de acceso y transferencia de un
bloque de cache entre la memoria princiapal y el procesador.
.
a. Cul es el tiempo de acceso promedio para el acceso a una instruccin en ciclos de
reloj?

Miss penalty = 50 ns * 2 GHz = 100 clock cycles


AMAT = hit time + miss rate * miss penalty = 1 + 0.02 * 100 = 3 clock
cycles
b. Cul es el tiempo promedio de acceso a memoria para acceso de datos en ciclo de
reloj?

AMAT = 1 + 0.05 * 100 = 6 clock cycles


c. Cul es el nmero de ciclos de espera (stall) por instruccin y el total de CPI?

Stall cycles per instruction = 1 * 0.02 * 100 + 0.3 * 0.05 * 100 = 3.5 cycles
Overall CPI = 1.2 + 3.5 = 4.7 cycles per instruction
d. Usted est considerando reemplazar el CPU de 2 GHz por uno idntico pero que
trabaja a 4 GHz. Cun ms rpido es el nuevo procesador. Asuma que el tiempo de
acertar (hit time) en la I-cache y la D-cache es 1 ciclo de reloj en el nuevo procesador,
y que el tiempo de acceso y de transferencia de un bloque de cache entre la memoria
y el procesador es todava de 50 ns.

For the new processor running at 4 GHz:


Miss penalty = 50 ns * 4 GHz = 200 clock cycles
Stall cycles per instruction:
(1 * 0.02 + 0.3 * 0.05) * 200 = 7 cycles
Overall CPI = 1.2 + 7 = 8.2 cycles per instruction
Speedup = (CPIc / CPId) * (Clock Rated / Clock Ratec) = (4.7 / 8.2) *
(4/2) = 1.146

Problema # 5 (9 puntos)
Para el datapath de MIPS mostrado a continuacin, algunas lneas han sido marcada con
X. Para cada una de ellas:

a. Describa en palabras la consecuencia negativa de cortar la lnea a lo que hace el


procesador
Lnea

1
2
3

Descripcin

Cannot write to register file. This means that R-type


and any instruction with write back to register
Forwarding of the first operand fails.
Jumping to a branch target does not work.

b. Proporcione un ejemplo de cdigo que fallar al cortar la lnea (Puntos Extras)


Lnea

Cdigo Ejemplo
Instruccin

add $s1, $s2, $s3

add $s1, $t0, $t1


add $s1, $s1, $s1

addi $s1, $zero, 2


addi $s2, $zero, 2
beq $s1, $s2, exit

c. Proporcione un ejemplo de cdigo que todava funcionar an cuando la lnea se


corte. (Puntos Extras)
Lnea

Cdigo Ejemplo
Registros/Direccin

Instruccin

sw

$s1, 0($s2)

add
add

$s1, $t0, $t1


$s1, $t2, $s1 # Here the second operand is forwarded correctly

addi
addi
beq

$s1, $zero, 10
$s2, $zero, 20
$s1, $s2, exit

Problema # 6 (10 puntos)


A continuacin se le proporciona un segmento de cdigo.
lw $2, 100($6)
lw $3, 200($7)
add $4, $2, $3
add $6, $3, $5
sub $8, $4, $6
lw $7, 300($8)
beq $7, $8, Loop

a.

Realice el diagrama de pipeline e identifique las dependencias y hazards. Para el


diagrama se le proporciona la siguiente tabla y se le da un ejemplo con la primera
instruccin: (4 puntos)
Instruc.
lw $2, 100($6)
lw $3, 200($7)

C1

C2

C3

C4

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

add $4, $2, $3


add $6, $3, $5

sub $8, $4, $6


lw $7, 300($8)
beq $7, $8, Loop

Dependencias y hazards:

C5

IF

C6

C7

C8

C9

C10

C11

WB

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

C12

C13

b.
Instruc.

Reescriba el cdigo incluyendo instrucciones NOP (de ser necesario) para


resolver los hazards. (4 puntos)

C1

C2

IF

lw $2, 100($6)
lw $3, 200($7)
add $4, $2, $3

C
3

C4

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

no
p

nop

IF

add $6, $3, $5


sub $8, $4, $6
lw $7, 300($8)
beq $7, $8,
Loop

C5

C6

C7

C8

C9

C10

C11

C12

C13

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

no
p

nop

IF

ID

EX

ME
M

WB

nop

nop

IF

ID

EX

ME
M

WB

nop

nop

IF

ID

lw $2, 100($6)
lw $3, 200($7)
nop
nop
add $4, $2, $3
add $6, $3, $5
nop
nop
sub $8, $4, $6
nop
nop
lw $7, 300($8)
nop
nop
beq $7, $8, Loop
c.

Reordene el cdigo de tal forma que obtenga el peor desempeo posible. En otras
palabras, reordene el cdigo de tal forma que la ejecucin de esta secuencia tome
la mayor cantidad de ciclos reloj y se siga obteniendo el mismo resultado. (2
puntos)

MEM

WB

Problema # 7 (1 punto)
Cul de las siguientes proposiciones es verdadera?

a.

El examen evalu lo que aprendimos en clases

b.
c.

El examen evalu material que no vimos en las clases


El examen fue tan fcil que no fue necesario estudiar el material visto en
clase.

También podría gustarte