SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
TERCERA EVALUACION – SEGUNDO TÉRMINO 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
teléfono celular, no Internet, no archivos electrónicos).
Toda respuesta deberá colocarse en este documento y no se aceptarán ni hojas ni
otro documento aparte.
El examen puede ser resuelto en menos de dos horas aún cuando tengan que
responder en el computador.
Se le permite tener máximo tres hojas en blanco, un lápiz o pluma, un borrador y
una regla. Las hojas le permitirán realizar los cálculos 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 muéstrelas al profesor.
Al terminar el examen deberá llamar al profesor para que le reciba el archivo del
examen. No se aceptará otro método de recepción.
Al guardar este archivo guárdelo con el nombre de su apellido y su nombre en ese
orden.
Además de entregar el archivo entregue las tres hojas que haya o no utilizado
durante el examen para hacer los cálculos.
Cualquier otra instrucción que falte en este documento se las dará en clase.
No hay consultas de ningún tipo.
Pregunta # 1 (7 puntos)
Asuma para que la variable a está en el registro $s0, b está en $s1 y c está en $s2.
Convierta el siguiente fragmento escrito en C directamente a lenguaje ensamblador de
MIPS. Comente correctamente su código para indicar que hace cada línea.
a=0;
for(b=10; b > 0, b = b-1){
for (c=b; c>0; c=c-1)
{
a = a + b*c;
}
}
Label

Instrucción

Comentarios

add $s0, $zero, $zero
addi $s1, $zero, 10

Inicio constante a con valor cero
Inicio contador b del lazo externo con
valor 10
Comparo b si es mayor que cero, si es
igual a cero salgo del lazo externo
Inicio contador c del lazo interno con el
valor del contador b del lazo externo
Comparo c si es mayor que cero, si es
igual a cero salgo del lazo interno
Multiplico b*c
Guardo la parte alta del resultado de la
multiplicación b*c
Guardo la parte bajo del resultado de la
multiplicación b*c
Sumo el producto b*c con el valor de a
Decremento contador c

forExt: beq $s1, $zero, Exit1
add $s2, $zero, $s1
forInt:

beq $s2, $zero, Exit2
mult $s1, $s2
mfhi $s3
mflo $s3

Exit2:
Exit1:

add $s0, $s0, $s3
addi $s2, $s2, -1
j forInt
addi $s1, $s1, -1
j forExt

Decremento contador b
Pregunta # 2 (6 puntos)
Suponga que tiene un computador que funciona a 2GHz. Si este computador ejecuta un
codificador de video MPEG-4 que procesa 1000 millones de instrucciones que tienen la
siguiente distribución de instrucciones:
20%
10%
30%
20%
15%
5%

Floating point
Integer
Load
Store
Branches
Other

CPI = 3
CPI = 1
CPI = 2
CPI = 1
CPI = 4
CPI = 1.5

a. ¿Cuál es el CPI promedio para este codificador de video? (1.5 puntos)

0.20x3 + 0.10x1 + 0.30x2 + 0.2x1 + 0.15x4 + 0.05x1.5 =
0.60 + 0.10 + 0.60 + 0.2 + 0.6 + 0.075 = 2.175
b. ¿Cuánto tiempo le tomará al codificador ejecutar todas las instrucciones? (1 puntos)

2.175 x 0.5x10-9 x 1x109 = 1.0875 sec.
c. Asuma que tiene un compilador inteligente que puede reducir las instrucciones de
floating-point a la mitad triplicando las instrucciones de enteros. Comparando con el CPI
original, cuál es el porcentaje de mejoramiento de CPI? (Hint, requiere calcular
nuevamente los porcentajes de las instrucciones.) (3.5 puntos)

(10 + 30 + 30 + 20 + 15 + 5) = 110
10/110%
30/110%
30/110%
20/110%
15/110%
5/110%

Floating point
Integer
Load
Store
Branches
Other

CPI = 3
CPI = 1
CPI = 2
CPI = 1
CPI = 4
CPI = 1.5

9.09%
27.27%
27.27%
18.18%
13.64%
4.55/110%

Floating point
Integer
Load
Store
Branches
Other

CPI = 3
CPI = 1
CPI = 2
CPI = 1
CPI = 4
CPI = 1.5
0.0909x3 + 0.2727x1 + 0.2727x2 + 0.1818x1 + 0.1364x4 +
0.0455x1.5 =
0.2727 + 0.2727 + 0.5454 + 0.1818 + 0.5456 + 0.0683 = 1.8865
(2.175-1.8865)/2.175x100 = 13.26%
Pregunta # 3 (2 puntos)
Representación de Punto Flotante: Escriba la representación binaria siguiendo el estándar
IEEE 754 de simple precisión (32-bits) del número en decimal -13 y 5/32. Recuerde el
número mágico (127) que se añade al exponente. Muestre cada paso de la conversión.

-135/32 = -13.15625
-1101.00101 = -1.10100101 x 23+127 = -1.10100101 x 2130
128
1

64
0

32
0

16
0

8
0

4
0

2
1

1
0

1 10000010 10100101000000000000000
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 búsquedas 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 3% 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 40 ns, que es el tiempo de acceso y transferencia de un
bloque de cache entre la memoria principal y el procesador.
.
a. Cuál es el tiempo de acceso promedio para el acceso a una instrucción en ciclos de
reloj? (1 punto)

Miss penalty = 40 ns * 2 GHz = 80 clock cycles
AMAT = hit time + miss rate * miss penalty = 1 + 0.03 * 80 = 3.4 clock
cycles
b. Cuál es el tiempo promedio de acceso a memoria para acceso de datos en ciclo de
reloj? (1 punto)

AMAT = 1 + 0.05 * 80 = 5 clock cycles
c. Cuál es el número de ciclos de espera (stall) por instrucción y el total de CPI? (2
puntos)

Stall cycles per instruction = 1 * 0.03 * 80 + 0.3 * 0.05 * 80 = 3.6 cycles
Overall CPI = 1.2 + 3.6 = 4.8 cycles per instruction
d. Usted está considerando reemplazar el CPU de 2 GHz por uno idéntico pero que
trabaja a 3 GHz. Cuán más rápido 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 todavía de 40 ns. (2 puntos)

For the new processor running at 3 GHz:
Miss penalty = 40 ns * 3 GHz = 120 clock cycles
Stall cycles per instruction:
(1 * 0.02 + 0.3 * 0.05) * 120 = 5.4 cycles
Overall CPI = 1.2 + 5.4 = 6.6 cycles per instruction
Speedup = (CPIc / CPId) * (Clock Rated / Clock Ratec) = (4.8 / 6.6) *
(3/2) = 1.0909
Problema # 5 (17.5 puntos)
Para el datapath de MIPS mostrado a continuación, algunas líneas han sido marcadas con
“X”. A continuación se desea ejecutar el siguiente código:
Código Ejemplo
Instrucción

addi $s1, $zero, 3
addi $s2, $zero, 2
Loop: add $s3, $s2, $s3
sw $s1, 0($s2)
add $s1, $s2, $t0
add $s2, $s1, $t1
beq $s1, $s2, loop
Los valores iniciales de los registros y de memoria son los siguientes:
Registro
$s1
$s2
$s3
$t0
$t1

Valor
0x0003
0x0002
0x0000
0x0002
0x0000

Memoria Direccion
0x0000
0x0004
0x0008
0x000C
0x0010

Valor
0x0000
0x0001
0x0002
0x0002
0x0003

a. Si no se corta ninguna línea:¿Cuáles son los valores de los registros al realizar una
iteración del lazo? ¿El procesador queda dentro de un lazo o no? (3.5 puntos)
Instruc.
addi $s1, $zero, 3

C1

C2

C3

C4

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

addi $s2, $zero, 2
Loop:
add $s3, $s2, $s3
sw $s1, 0($s2)
add $s1, $s2, $t0

C5

IF

C6

C7

C8

C9

C10

WB

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

add $s2, $s1, $t1

C11

ID

EX

MEM

beq $s1, $s2, loop
$s1

3

3

3

3

3

3

3

3

4

4

$s2

2

2

2

2

2

2

2

2

2

4

$s3

0

0

0

0

0

0

2

2

2

2

WB

C12

C13
Registro

Valor

$s1
$s2
$s3
$t0
$t1

0x0004
0x0004
0x0002
0x0002
0x0000

Memoria
Direccion
0x0000
0x0004
0x0008
0x000C
0x0010

Valor
0x0000
0x0001
0x0002
0x0002
0x0003

Si se queda en el lazo porque $s1 = $s2
b. Describa en palabras la consecuencia negativa de cortar solo la línea 1. ¿Cuáles son
los valores de los registros al realizar una iteración del lazo? ¿El procesador queda
dentro de un lazo o no? (3.5 puntos)
Línea

1

Descripción

No puede escribir a un registro. Esto significa que
cualquier instrucción tipo R y cualquier otra
instrucción que guarde en registro no lo puede hacer

Ninguna instrucción podrá escribir a los registros y por lo tanto los
valores de los registros no cambiarán
Registro Valor
$s1
$s2
$s3
$t0
$t1

0x0003
0x0002
0x0000
0x0002
0x0000

Memoria
Direccion
0x0000
0x0004
0x0008
0x000C
0x0010

Valor
0x0000
0x0001
0x0002
0x0002
0x0003

No se queda en el lazo porque $s1 <> $s2
c. Describa en palabras la consecuencia negativa de cortar solo la línea 2. ¿Cuáles son
los valores de los registros al realizar una iteración del lazo? ¿El procesador queda
dentro de un lazo o no? (3.5 puntos)
Línea

2

Descripción

El Forwarding del primer operando falla.
Instruc.

C1

addi $s1, $zero, 3

C2

C3

C4

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

addi $s2, $zero, 2
add $s3, $s2, $s3
sw $s1, 0($s2)
add $s1, $s2, $t0

C5

IF

C6

C7

C8

C9

C10

C12

WB

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

add $s2, $s1, $t1

C11

ID

EX

MEM

beq $s1, $s2, loop

$s1

3

3

3

3

3

3

3

3

4

4

$s2

2

2

2

2

2

2

2

2

2

4

$s3

0

0

0

0

0

0

2

2

2

WB

2

Hay cinco dependencias que utilizan el forwarding (líneas azules). De
izquierda a derecha, y de arriba hacia abajo, la primera y la segunda
están relacionadas con el registro $s2 como primer operando por lo
tanto el forwarding de $s2 fallará. La tercera y cuarta dependencia
están relacionadas con el registro $s1 como primer operando por lo
tanto el forwarding de $s1 fallará también. Los valores finales de los
registros serán:
Registro

Valor

$s1
$s2
$s3
$t0
$t1

0x0003/0x0004
0x0004
0x0002
0x0002
0x0000

Memoria
Direccion
0x0000
0x0004
0x0008
0x000C
0x0010

Valor
0x0000
0x0001
0x0002
0x0002
0x0003

Si se queda en el lazo
d. Describa en palabras la consecuencia negativa de cortar solo la línea 3. ¿Cuáles son
los valores de los registros al realizar una iteración del lazo? ¿El procesador queda
dentro de un lazo o no? (3.5 puntos)

C13
Línea

Descripción

La dirección destino de un salto de una instrucción
branch no trabaja.

3
Registro

Valor

$s1
$s2
$s3
$t0
$t1

Memoria
Direccion
0x0000
0x0004
0x0008
0x000C
0x0010

0x0004
0x0004
0x0005
0x0002
0x0000

Valor
0x0000
0x0001
0x0002
0x0002
0x0003

No se queda en el lazo pues no se habilita el branch
e. Describa en palabras la consecuencia negativa de cortar las líneas 1, 2 y 3. ¿Cuáles
son los valores de los registros al realizar una iteración del lazo? ¿El procesador
queda dentro de un lazo o no? (3.5 puntos)
Instruc.
addi $s1, $zero, 3

C1

C2

C3

C4

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

addi $s2, $zero, 2
add $s3, $s2, $s3
sw $s1, 0($s2)
add $s1, $s2, $t0

C5

IF

C6

C7

C8

C9

C10

WB

ID

EX

MEM

WB

IF

ID

EX

MEM

WB

IF

add $s2, $s1, $t1

C11

ID

EX

MEM

beq $s1, $s2, loop

$s1

3

3

3

3

3

3

3

3

3

3

$s2

2

2

2

2

2

2

2

2

2

2

$s3

0

0

0

0

0

0

0

0

0

0

No se queda en el lazo pues no se habilita el branch

WB

C12

C13
Problema # 6 (10 puntos)
A continuación se le proporciona un segmento de código.
1 add $s4, $s1, $s0
2 sub $s9, $s3, $s4
3 add $s4, $s5, $s6
4 lw $s2, 100($s3)
5 sw $s2, 100($s4)
6 lw $s2, 0($s2)
7 and $s2, $s2, $s1
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
instrucción: (5 puntos)

b.

Reescriba el código incluyendo instrucciones NOP (de ser necesario) para
resolver los hazards. (2 puntos)

1 add $s4, $s1, $s0
nop
nop
2 sub $s9, $s3, $s4
3 add $s4, $s5, $s6
4 lw $s2, 100($s3)
nop
nop
5 sw $s2, 100($s4)
6 lw $s2, 0($s2)
nop
nop
7 and $s2, $s2, $s1
17 ciclos
Instruc.

C1

add $s4, $s1, $s0

C2

C3

C4

IF

ID

EX

MEM

nop

nop

IF

C6

C7

C8

C9

C10

C12

C13

ID

EX

MEM

WB

ID

EX

MEM

nop

nop

IF

WB

ID

EX

MEM

WB

IF

ID

EX

MEM

IF

ID

EX

MEM

nop

add $s4, $s5, $s6

C11

IF

sub $s9, $s3, $s4

C5

nop

IF

lw $s2, 100($s3)
sw $s2, 100($s4)

WB

lw $s2, 0($s2)

WB

and $s2, $s2, $s1

c.

WB

ID

EX

MEM

Reordene el código de tal forma que obtenga el mejor desempeño posible. Indique
el número de ciclos reloj que toma la ejecución. (3 puntos)

1 add $s4, $s1, $s0
4 lw $s2, 100($s3)
2 sub $s9, $s3, $s4
3 add $s4, $s5, $s6
5 sw $s2, 100($s4)
6 lw $s2, 0($s2)
7 and $s2, $s2, $s1
Instruc.
add $s4, $s1, $s0
lw $s2, 100($s3)

C1

C2

C3

C4

IF

ID

EX

MEM

IF

ID

EX

MEM

WB

nop

IF

ID

EX

MEM

WB

IF

ID

EX

MEM

nop

nop

IF

sw $s2, 100($s4)
lw $s2, 0($s2)
and $s2, $s2, $s1

16 ciclos

C7

C8

C11

ID

EX

MEM

ID

EX

MEM

nop

add $s4, $s5, $s6

C6

C10

IF

sub $s9, $s3, $s4

C5

C9

C12

nop

IF

C13

WB

WB
WB
WB

ID

EX

MEM

WB

WB
Problema # 7 (4.5 puntos)
a.

¿Cuáles son las dos características de accesos a memoria de programa que la
memoria cache explota? (1.5 puntos)

localidad temporal, y localidad especial
b. ¿Cuál es la longitud en bits de tag, index y offset de bloque para una cache de
datos de 128KB con mapeo directo que utiliza una dirección de 32-bits y 16 bytes
por bloque? (1.5 puntos)
128KB = 128*1024 bytes = 32*1024 words = 8*1024 blocks
Bits
8
9
10
11
12
13

Decimal
256
512
1024
2048
4096
8192

Index = 13 bits
Offset = 4 bits
Tag = 32 – 13 – 4 = 15 bits
c. ¿Cuál es la longitud en bits de tag, index y offset de bloque para una cache
asociativa de 8-vias que tiene 16 bloques y 32 bytes por bloque. Asuma una
dirección de 32 bits? (1.5 puntos)
16 blocks = 2 sets of 8-vias
Bits
8
9
10
11
12
13

Decimal
256
512
1024
2048
4096
8192

Index = 1 bit (# de sets)
Offset = 5 bits
Tag = 32 – 5 + 1 = 26 bits
Pregunta # 8 (7.5 puntos)
Considere una memoria cache con mapeo directo con 64 bloques. El tamaño de cada
bloque es de 32 bytes.
a. Encuentre el número de bits para tag, bits para indice, y bits de osffset en una
dirección de 32-bit. (1.5 puntos)

Offset bits = 5
Index bits = 6
Tag bits = 32 – 11 = 21 bits
b. Encuentre el número de bits requerido para almacenar todos los bits de validación y
de tags de la memoria cache. (2 puntos)

Total number of tag and valid bits = 64* (21 + 1) = 1408 bits
c. Dada la siguiente secuencia de referencia a direcciones en decimal:
20000, 20004, 20008, 20016, 24108, 24112, 24116, 24120
Iniciando con una cache vacía, muestre el indice, tag y offset para cada referencia e
indique si hubo un “hit” o un “miss”. (A continuación se proporciona una tabla para que
la vaya llenando con la información adecuada. (4 puntos)
20000 / 32 = 625 bloques
625 mod 64 = 49 (# del bloque o index)
24108 / 32 = 753.3750
753 mod 64 = 49
0.3750 * 32 = 12
Address = Hex
20000
=
0x4E20
24108
=
0x5E2C

01001-110001-00000

Tag (21 bits)
01001 =0x09= 9

Index (6) bits)
110001=0x31=49

Offset (5) bits
00000=0x00=0

01011-110001-01100

01011 =0x0B= 11

110001=0x31=49

01100=0x0C=12

Address = Hex Offset (5)
bits) 0
20000 = 0x4E20
0x00 =

Index (6)
bits) 49
0x31 =

Tag

Hit or Miss

9

Miss (initially empty)

20004 = 0x4E24

0x04 = 4

0x31 = 49

9

Hit

20008 = 0x4E28

0x08 = 8

0x31 = 49

9

Hit

20016 = 0x4E30

0x10 = 16

0x31 = 49

9

Hit

24108 = 0x5E2C

0x0C = 12

0x31 = 49

11

Miss (different tag)

24112 = 0x5E30

0x10 = 16

0x31 = 49

11

Hit

24116 = 0x5E34

0x14 = 20

0x31 = 49

11

Hit

24120 = 0x5E38

0x18 = 24

0x31 = 49

11

Hit
Pregunta # 9 (1 punto)
Cuàl de las siguientes proposiciones es verdadera?

a.

El examen evaluó lo que aprendimos en las clases

b.
c.

El examen evaluó material que no vimos en las clases
El examen fue tan fácil que no fue necesario estudiar el material visto en
clase.

Más contenido relacionado

Destacado

Google Drive
Google DriveGoogle Drive
Google Drivepaox7
 
Grupo Ii. La OrganizacióN Rb
Grupo Ii. La OrganizacióN RbGrupo Ii. La OrganizacióN Rb
Grupo Ii. La OrganizacióN Rbfombona
 
Códigos de ética periodística
Códigos de ética periodísticaCódigos de ética periodística
Códigos de ética periodísticaJosé María Costa
 
Presentación blog
Presentación blogPresentación blog
Presentación blogcamila.araos
 
Presentación y Tutorial Curso de Internet 2013
Presentación y Tutorial Curso de Internet 2013Presentación y Tutorial Curso de Internet 2013
Presentación y Tutorial Curso de Internet 2013Bruno Bustos
 
Presentación cellfoodpue
Presentación cellfoodpuePresentación cellfoodpue
Presentación cellfoodpueDulce Vázquez
 
Oficios De La 6 Region
Oficios De La 6 RegionOficios De La 6 Region
Oficios De La 6 Regioncorifina
 
El Mundo 'Su vivienda': hipotecas más baraats en 2014
El Mundo 'Su vivienda': hipotecas más baraats en 2014El Mundo 'Su vivienda': hipotecas más baraats en 2014
El Mundo 'Su vivienda': hipotecas más baraats en 2014Sofia Square
 
En Bagua
En BaguaEn Bagua
En Baguaalonso
 

Destacado (20)

Google Drive
Google DriveGoogle Drive
Google Drive
 
PresentacióN Bird
PresentacióN BirdPresentacióN Bird
PresentacióN Bird
 
Salmo 149
Salmo 149Salmo 149
Salmo 149
 
Certificado
CertificadoCertificado
Certificado
 
Caudillos argentinos nazareno
Caudillos argentinos nazarenoCaudillos argentinos nazareno
Caudillos argentinos nazareno
 
Grupo Ii. La OrganizacióN Rb
Grupo Ii. La OrganizacióN RbGrupo Ii. La OrganizacióN Rb
Grupo Ii. La OrganizacióN Rb
 
Códigos de ética periodística
Códigos de ética periodísticaCódigos de ética periodística
Códigos de ética periodística
 
Presentación blog
Presentación blogPresentación blog
Presentación blog
 
Tanatologia
TanatologiaTanatologia
Tanatologia
 
Presentación y Tutorial Curso de Internet 2013
Presentación y Tutorial Curso de Internet 2013Presentación y Tutorial Curso de Internet 2013
Presentación y Tutorial Curso de Internet 2013
 
piciosa
piciosapiciosa
piciosa
 
Presentación cellfoodpue
Presentación cellfoodpuePresentación cellfoodpue
Presentación cellfoodpue
 
Oficios De La 6 Region
Oficios De La 6 RegionOficios De La 6 Region
Oficios De La 6 Region
 
El Mundo 'Su vivienda': hipotecas más baraats en 2014
El Mundo 'Su vivienda': hipotecas más baraats en 2014El Mundo 'Su vivienda': hipotecas más baraats en 2014
El Mundo 'Su vivienda': hipotecas más baraats en 2014
 
Ceibal
CeibalCeibal
Ceibal
 
Taller 2
Taller 2 Taller 2
Taller 2
 
O G R A F E M O
O  G R A F E M OO  G R A F E M O
O G R A F E M O
 
En Bagua
En BaguaEn Bagua
En Bagua
 
GRUPOE_APLICINFO_12
GRUPOE_APLICINFO_12GRUPOE_APLICINFO_12
GRUPOE_APLICINFO_12
 
Proyeto
ProyetoProyeto
Proyeto
 

Similar a Organización y Arquitectura de Computadores ESPOL Tercera Evaluación 2012-2

(533817759) guia comp
(533817759) guia comp(533817759) guia comp
(533817759) guia compAlmaItzany15
 
UTPL-LÓGICA DE LA PROGRAMACIÓN-II BIMESTRE-(abril agosto 2012)
UTPL-LÓGICA DE LA PROGRAMACIÓN-II BIMESTRE-(abril agosto 2012)UTPL-LÓGICA DE LA PROGRAMACIÓN-II BIMESTRE-(abril agosto 2012)
UTPL-LÓGICA DE LA PROGRAMACIÓN-II BIMESTRE-(abril agosto 2012)Videoconferencias UTPL
 
Final practicas 1 a 4 ingenieria de las telecomunicaciones
Final practicas 1 a 4 ingenieria  de  las  telecomunicacionesFinal practicas 1 a 4 ingenieria  de  las  telecomunicaciones
Final practicas 1 a 4 ingenieria de las telecomunicaciones19820929
 
Interconectividad avanzada ar4003
Interconectividad avanzada ar4003Interconectividad avanzada ar4003
Interconectividad avanzada ar4003Maestros Online
 
301401 10 practica1-informe fibra
301401 10 practica1-informe fibra301401 10 practica1-informe fibra
301401 10 practica1-informe fibraFabioAcevedo
 
Ejercicios_TeoriaOCW_zuz.pdf
Ejercicios_TeoriaOCW_zuz.pdfEjercicios_TeoriaOCW_zuz.pdf
Ejercicios_TeoriaOCW_zuz.pdfMelidaCedeo1
 
Controladores logico programables
Controladores logico programablesControladores logico programables
Controladores logico programablesMaestros Online
 
Practicas 2016
Practicas 2016Practicas 2016
Practicas 2016Tensor
 
Laboratorio 11.4.3.3
Laboratorio 11.4.3.3Laboratorio 11.4.3.3
Laboratorio 11.4.3.3UNAD
 
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)Videoconferencias UTPL
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoLincoln School
 
Solucion examenfeb12
Solucion examenfeb12Solucion examenfeb12
Solucion examenfeb12xavazquez
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN A RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN A RESUELTA 1er PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN A RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN A RESUELTA 1er PARCIAL (2019 2do ...Victor Asanza
 
Interconectividad avanzada
Interconectividad avanzadaInterconectividad avanzada
Interconectividad avanzadaMaestros Online
 

Similar a Organización y Arquitectura de Computadores ESPOL Tercera Evaluación 2012-2 (20)

(533817759) guia comp
(533817759) guia comp(533817759) guia comp
(533817759) guia comp
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
UTPL-LÓGICA DE LA PROGRAMACIÓN-II BIMESTRE-(abril agosto 2012)
UTPL-LÓGICA DE LA PROGRAMACIÓN-II BIMESTRE-(abril agosto 2012)UTPL-LÓGICA DE LA PROGRAMACIÓN-II BIMESTRE-(abril agosto 2012)
UTPL-LÓGICA DE LA PROGRAMACIÓN-II BIMESTRE-(abril agosto 2012)
 
Final practicas 1 a 4 ingenieria de las telecomunicaciones
Final practicas 1 a 4 ingenieria  de  las  telecomunicacionesFinal practicas 1 a 4 ingenieria  de  las  telecomunicaciones
Final practicas 1 a 4 ingenieria de las telecomunicaciones
 
Interconectividad avanzada ar4003
Interconectividad avanzada ar4003Interconectividad avanzada ar4003
Interconectividad avanzada ar4003
 
301401 10 practica1-informe fibra
301401 10 practica1-informe fibra301401 10 practica1-informe fibra
301401 10 practica1-informe fibra
 
Ejercicios_TeoriaOCW_zuz.pdf
Ejercicios_TeoriaOCW_zuz.pdfEjercicios_TeoriaOCW_zuz.pdf
Ejercicios_TeoriaOCW_zuz.pdf
 
Controladores logico programables
Controladores logico programablesControladores logico programables
Controladores logico programables
 
Practicas 2016
Practicas 2016Practicas 2016
Practicas 2016
 
Computacion ii cap i
Computacion ii cap iComputacion ii cap i
Computacion ii cap i
 
computacion
computacioncomputacion
computacion
 
Lenguaje c neo
Lenguaje c neoLenguaje c neo
Lenguaje c neo
 
Intro arquitectura-del-computador
Intro arquitectura-del-computadorIntro arquitectura-del-computador
Intro arquitectura-del-computador
 
Practicas laboratorio
Practicas laboratorioPracticas laboratorio
Practicas laboratorio
 
Laboratorio 11.4.3.3
Laboratorio 11.4.3.3Laboratorio 11.4.3.3
Laboratorio 11.4.3.3
 
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 
Solucion examenfeb12
Solucion examenfeb12Solucion examenfeb12
Solucion examenfeb12
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN A RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN A RESUELTA 1er PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN A RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN A RESUELTA 1er PARCIAL (2019 2do ...
 
Interconectividad avanzada
Interconectividad avanzadaInterconectividad avanzada
Interconectividad avanzada
 

Último

Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONALMiNeyi1
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 

Último (20)

Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 

Organización y Arquitectura de Computadores ESPOL Tercera Evaluación 2012-2

  • 1. ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES TERCERA EVALUACION – SEGUNDO TÉRMINO 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 teléfono celular, no Internet, no archivos electrónicos). Toda respuesta deberá colocarse en este documento y no se aceptarán ni hojas ni otro documento aparte. El examen puede ser resuelto en menos de dos horas aún cuando tengan que responder en el computador. Se le permite tener máximo tres hojas en blanco, un lápiz o pluma, un borrador y una regla. Las hojas le permitirán realizar los cálculos 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 muéstrelas al profesor. Al terminar el examen deberá llamar al profesor para que le reciba el archivo del examen. No se aceptará otro método de recepción. Al guardar este archivo guárdelo con el nombre de su apellido y su nombre en ese orden. Además de entregar el archivo entregue las tres hojas que haya o no utilizado durante el examen para hacer los cálculos. Cualquier otra instrucción que falte en este documento se las dará en clase. No hay consultas de ningún tipo.
  • 2. Pregunta # 1 (7 puntos) Asuma para que la variable a está en el registro $s0, b está en $s1 y c está en $s2. Convierta el siguiente fragmento escrito en C directamente a lenguaje ensamblador de MIPS. Comente correctamente su código para indicar que hace cada línea. a=0; for(b=10; b > 0, b = b-1){ for (c=b; c>0; c=c-1) { a = a + b*c; } } Label Instrucción Comentarios add $s0, $zero, $zero addi $s1, $zero, 10 Inicio constante a con valor cero Inicio contador b del lazo externo con valor 10 Comparo b si es mayor que cero, si es igual a cero salgo del lazo externo Inicio contador c del lazo interno con el valor del contador b del lazo externo Comparo c si es mayor que cero, si es igual a cero salgo del lazo interno Multiplico b*c Guardo la parte alta del resultado de la multiplicación b*c Guardo la parte bajo del resultado de la multiplicación b*c Sumo el producto b*c con el valor de a Decremento contador c forExt: beq $s1, $zero, Exit1 add $s2, $zero, $s1 forInt: beq $s2, $zero, Exit2 mult $s1, $s2 mfhi $s3 mflo $s3 Exit2: Exit1: add $s0, $s0, $s3 addi $s2, $s2, -1 j forInt addi $s1, $s1, -1 j forExt Decremento contador b
  • 3. Pregunta # 2 (6 puntos) Suponga que tiene un computador que funciona a 2GHz. Si este computador ejecuta un codificador de video MPEG-4 que procesa 1000 millones de instrucciones que tienen la siguiente distribución de instrucciones: 20% 10% 30% 20% 15% 5% Floating point Integer Load Store Branches Other CPI = 3 CPI = 1 CPI = 2 CPI = 1 CPI = 4 CPI = 1.5 a. ¿Cuál es el CPI promedio para este codificador de video? (1.5 puntos) 0.20x3 + 0.10x1 + 0.30x2 + 0.2x1 + 0.15x4 + 0.05x1.5 = 0.60 + 0.10 + 0.60 + 0.2 + 0.6 + 0.075 = 2.175 b. ¿Cuánto tiempo le tomará al codificador ejecutar todas las instrucciones? (1 puntos) 2.175 x 0.5x10-9 x 1x109 = 1.0875 sec. c. Asuma que tiene un compilador inteligente que puede reducir las instrucciones de floating-point a la mitad triplicando las instrucciones de enteros. Comparando con el CPI original, cuál es el porcentaje de mejoramiento de CPI? (Hint, requiere calcular nuevamente los porcentajes de las instrucciones.) (3.5 puntos) (10 + 30 + 30 + 20 + 15 + 5) = 110 10/110% 30/110% 30/110% 20/110% 15/110% 5/110% Floating point Integer Load Store Branches Other CPI = 3 CPI = 1 CPI = 2 CPI = 1 CPI = 4 CPI = 1.5 9.09% 27.27% 27.27% 18.18% 13.64% 4.55/110% Floating point Integer Load Store Branches Other CPI = 3 CPI = 1 CPI = 2 CPI = 1 CPI = 4 CPI = 1.5
  • 4. 0.0909x3 + 0.2727x1 + 0.2727x2 + 0.1818x1 + 0.1364x4 + 0.0455x1.5 = 0.2727 + 0.2727 + 0.5454 + 0.1818 + 0.5456 + 0.0683 = 1.8865 (2.175-1.8865)/2.175x100 = 13.26% Pregunta # 3 (2 puntos) Representación de Punto Flotante: Escriba la representación binaria siguiendo el estándar IEEE 754 de simple precisión (32-bits) del número en decimal -13 y 5/32. Recuerde el número mágico (127) que se añade al exponente. Muestre cada paso de la conversión. -135/32 = -13.15625 -1101.00101 = -1.10100101 x 23+127 = -1.10100101 x 2130 128 1 64 0 32 0 16 0 8 0 4 0 2 1 1 0 1 10000010 10100101000000000000000 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 búsquedas 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 3% 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 40 ns, que es el tiempo de acceso y transferencia de un bloque de cache entre la memoria principal y el procesador. . a. Cuál es el tiempo de acceso promedio para el acceso a una instrucción en ciclos de reloj? (1 punto) Miss penalty = 40 ns * 2 GHz = 80 clock cycles AMAT = hit time + miss rate * miss penalty = 1 + 0.03 * 80 = 3.4 clock cycles
  • 5. b. Cuál es el tiempo promedio de acceso a memoria para acceso de datos en ciclo de reloj? (1 punto) AMAT = 1 + 0.05 * 80 = 5 clock cycles c. Cuál es el número de ciclos de espera (stall) por instrucción y el total de CPI? (2 puntos) Stall cycles per instruction = 1 * 0.03 * 80 + 0.3 * 0.05 * 80 = 3.6 cycles Overall CPI = 1.2 + 3.6 = 4.8 cycles per instruction d. Usted está considerando reemplazar el CPU de 2 GHz por uno idéntico pero que trabaja a 3 GHz. Cuán más rápido 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 todavía de 40 ns. (2 puntos) For the new processor running at 3 GHz: Miss penalty = 40 ns * 3 GHz = 120 clock cycles Stall cycles per instruction: (1 * 0.02 + 0.3 * 0.05) * 120 = 5.4 cycles Overall CPI = 1.2 + 5.4 = 6.6 cycles per instruction Speedup = (CPIc / CPId) * (Clock Rated / Clock Ratec) = (4.8 / 6.6) * (3/2) = 1.0909 Problema # 5 (17.5 puntos) Para el datapath de MIPS mostrado a continuación, algunas líneas han sido marcadas con “X”. A continuación se desea ejecutar el siguiente código: Código Ejemplo Instrucción addi $s1, $zero, 3 addi $s2, $zero, 2 Loop: add $s3, $s2, $s3 sw $s1, 0($s2) add $s1, $s2, $t0 add $s2, $s1, $t1 beq $s1, $s2, loop
  • 6. Los valores iniciales de los registros y de memoria son los siguientes: Registro $s1 $s2 $s3 $t0 $t1 Valor 0x0003 0x0002 0x0000 0x0002 0x0000 Memoria Direccion 0x0000 0x0004 0x0008 0x000C 0x0010 Valor 0x0000 0x0001 0x0002 0x0002 0x0003 a. Si no se corta ninguna línea:¿Cuáles son los valores de los registros al realizar una iteración del lazo? ¿El procesador queda dentro de un lazo o no? (3.5 puntos) Instruc. addi $s1, $zero, 3 C1 C2 C3 C4 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM addi $s2, $zero, 2 Loop: add $s3, $s2, $s3 sw $s1, 0($s2) add $s1, $s2, $t0 C5 IF C6 C7 C8 C9 C10 WB ID EX MEM WB IF ID EX MEM WB IF add $s2, $s1, $t1 C11 ID EX MEM beq $s1, $s2, loop $s1 3 3 3 3 3 3 3 3 4 4 $s2 2 2 2 2 2 2 2 2 2 4 $s3 0 0 0 0 0 0 2 2 2 2 WB C12 C13
  • 7. Registro Valor $s1 $s2 $s3 $t0 $t1 0x0004 0x0004 0x0002 0x0002 0x0000 Memoria Direccion 0x0000 0x0004 0x0008 0x000C 0x0010 Valor 0x0000 0x0001 0x0002 0x0002 0x0003 Si se queda en el lazo porque $s1 = $s2 b. Describa en palabras la consecuencia negativa de cortar solo la línea 1. ¿Cuáles son los valores de los registros al realizar una iteración del lazo? ¿El procesador queda dentro de un lazo o no? (3.5 puntos) Línea 1 Descripción No puede escribir a un registro. Esto significa que cualquier instrucción tipo R y cualquier otra instrucción que guarde en registro no lo puede hacer Ninguna instrucción podrá escribir a los registros y por lo tanto los valores de los registros no cambiarán Registro Valor $s1 $s2 $s3 $t0 $t1 0x0003 0x0002 0x0000 0x0002 0x0000 Memoria Direccion 0x0000 0x0004 0x0008 0x000C 0x0010 Valor 0x0000 0x0001 0x0002 0x0002 0x0003 No se queda en el lazo porque $s1 <> $s2 c. Describa en palabras la consecuencia negativa de cortar solo la línea 2. ¿Cuáles son los valores de los registros al realizar una iteración del lazo? ¿El procesador queda dentro de un lazo o no? (3.5 puntos) Línea 2 Descripción El Forwarding del primer operando falla.
  • 8. Instruc. C1 addi $s1, $zero, 3 C2 C3 C4 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM addi $s2, $zero, 2 add $s3, $s2, $s3 sw $s1, 0($s2) add $s1, $s2, $t0 C5 IF C6 C7 C8 C9 C10 C12 WB ID EX MEM WB IF ID EX MEM WB IF add $s2, $s1, $t1 C11 ID EX MEM beq $s1, $s2, loop $s1 3 3 3 3 3 3 3 3 4 4 $s2 2 2 2 2 2 2 2 2 2 4 $s3 0 0 0 0 0 0 2 2 2 WB 2 Hay cinco dependencias que utilizan el forwarding (líneas azules). De izquierda a derecha, y de arriba hacia abajo, la primera y la segunda están relacionadas con el registro $s2 como primer operando por lo tanto el forwarding de $s2 fallará. La tercera y cuarta dependencia están relacionadas con el registro $s1 como primer operando por lo tanto el forwarding de $s1 fallará también. Los valores finales de los registros serán: Registro Valor $s1 $s2 $s3 $t0 $t1 0x0003/0x0004 0x0004 0x0002 0x0002 0x0000 Memoria Direccion 0x0000 0x0004 0x0008 0x000C 0x0010 Valor 0x0000 0x0001 0x0002 0x0002 0x0003 Si se queda en el lazo d. Describa en palabras la consecuencia negativa de cortar solo la línea 3. ¿Cuáles son los valores de los registros al realizar una iteración del lazo? ¿El procesador queda dentro de un lazo o no? (3.5 puntos) C13
  • 9. Línea Descripción La dirección destino de un salto de una instrucción branch no trabaja. 3 Registro Valor $s1 $s2 $s3 $t0 $t1 Memoria Direccion 0x0000 0x0004 0x0008 0x000C 0x0010 0x0004 0x0004 0x0005 0x0002 0x0000 Valor 0x0000 0x0001 0x0002 0x0002 0x0003 No se queda en el lazo pues no se habilita el branch e. Describa en palabras la consecuencia negativa de cortar las líneas 1, 2 y 3. ¿Cuáles son los valores de los registros al realizar una iteración del lazo? ¿El procesador queda dentro de un lazo o no? (3.5 puntos) Instruc. addi $s1, $zero, 3 C1 C2 C3 C4 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM addi $s2, $zero, 2 add $s3, $s2, $s3 sw $s1, 0($s2) add $s1, $s2, $t0 C5 IF C6 C7 C8 C9 C10 WB ID EX MEM WB IF ID EX MEM WB IF add $s2, $s1, $t1 C11 ID EX MEM beq $s1, $s2, loop $s1 3 3 3 3 3 3 3 3 3 3 $s2 2 2 2 2 2 2 2 2 2 2 $s3 0 0 0 0 0 0 0 0 0 0 No se queda en el lazo pues no se habilita el branch WB C12 C13
  • 10. Problema # 6 (10 puntos) A continuación se le proporciona un segmento de código. 1 add $s4, $s1, $s0 2 sub $s9, $s3, $s4 3 add $s4, $s5, $s6 4 lw $s2, 100($s3) 5 sw $s2, 100($s4) 6 lw $s2, 0($s2) 7 and $s2, $s2, $s1 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 instrucción: (5 puntos) b. Reescriba el código incluyendo instrucciones NOP (de ser necesario) para resolver los hazards. (2 puntos) 1 add $s4, $s1, $s0 nop nop 2 sub $s9, $s3, $s4 3 add $s4, $s5, $s6 4 lw $s2, 100($s3) nop nop 5 sw $s2, 100($s4) 6 lw $s2, 0($s2) nop
  • 11. nop 7 and $s2, $s2, $s1 17 ciclos Instruc. C1 add $s4, $s1, $s0 C2 C3 C4 IF ID EX MEM nop nop IF C6 C7 C8 C9 C10 C12 C13 ID EX MEM WB ID EX MEM nop nop IF WB ID EX MEM WB IF ID EX MEM IF ID EX MEM nop add $s4, $s5, $s6 C11 IF sub $s9, $s3, $s4 C5 nop IF lw $s2, 100($s3) sw $s2, 100($s4) WB lw $s2, 0($s2) WB and $s2, $s2, $s1 c. WB ID EX MEM Reordene el código de tal forma que obtenga el mejor desempeño posible. Indique el número de ciclos reloj que toma la ejecución. (3 puntos) 1 add $s4, $s1, $s0 4 lw $s2, 100($s3) 2 sub $s9, $s3, $s4 3 add $s4, $s5, $s6 5 sw $s2, 100($s4) 6 lw $s2, 0($s2) 7 and $s2, $s2, $s1 Instruc. add $s4, $s1, $s0 lw $s2, 100($s3) C1 C2 C3 C4 IF ID EX MEM IF ID EX MEM WB nop IF ID EX MEM WB IF ID EX MEM nop nop IF sw $s2, 100($s4) lw $s2, 0($s2) and $s2, $s2, $s1 16 ciclos C7 C8 C11 ID EX MEM ID EX MEM nop add $s4, $s5, $s6 C6 C10 IF sub $s9, $s3, $s4 C5 C9 C12 nop IF C13 WB WB WB WB ID EX MEM WB WB
  • 12. Problema # 7 (4.5 puntos) a. ¿Cuáles son las dos características de accesos a memoria de programa que la memoria cache explota? (1.5 puntos) localidad temporal, y localidad especial b. ¿Cuál es la longitud en bits de tag, index y offset de bloque para una cache de datos de 128KB con mapeo directo que utiliza una dirección de 32-bits y 16 bytes por bloque? (1.5 puntos) 128KB = 128*1024 bytes = 32*1024 words = 8*1024 blocks Bits 8 9 10 11 12 13 Decimal 256 512 1024 2048 4096 8192 Index = 13 bits Offset = 4 bits Tag = 32 – 13 – 4 = 15 bits c. ¿Cuál es la longitud en bits de tag, index y offset de bloque para una cache asociativa de 8-vias que tiene 16 bloques y 32 bytes por bloque. Asuma una dirección de 32 bits? (1.5 puntos) 16 blocks = 2 sets of 8-vias Bits 8 9 10 11 12 13 Decimal 256 512 1024 2048 4096 8192 Index = 1 bit (# de sets) Offset = 5 bits Tag = 32 – 5 + 1 = 26 bits Pregunta # 8 (7.5 puntos) Considere una memoria cache con mapeo directo con 64 bloques. El tamaño de cada bloque es de 32 bytes.
  • 13. a. Encuentre el número de bits para tag, bits para indice, y bits de osffset en una dirección de 32-bit. (1.5 puntos) Offset bits = 5 Index bits = 6 Tag bits = 32 – 11 = 21 bits b. Encuentre el número de bits requerido para almacenar todos los bits de validación y de tags de la memoria cache. (2 puntos) Total number of tag and valid bits = 64* (21 + 1) = 1408 bits c. Dada la siguiente secuencia de referencia a direcciones en decimal: 20000, 20004, 20008, 20016, 24108, 24112, 24116, 24120 Iniciando con una cache vacía, muestre el indice, tag y offset para cada referencia e indique si hubo un “hit” o un “miss”. (A continuación se proporciona una tabla para que la vaya llenando con la información adecuada. (4 puntos) 20000 / 32 = 625 bloques 625 mod 64 = 49 (# del bloque o index) 24108 / 32 = 753.3750 753 mod 64 = 49 0.3750 * 32 = 12 Address = Hex 20000 = 0x4E20 24108 = 0x5E2C 01001-110001-00000 Tag (21 bits) 01001 =0x09= 9 Index (6) bits) 110001=0x31=49 Offset (5) bits 00000=0x00=0 01011-110001-01100 01011 =0x0B= 11 110001=0x31=49 01100=0x0C=12 Address = Hex Offset (5) bits) 0 20000 = 0x4E20 0x00 = Index (6) bits) 49 0x31 = Tag Hit or Miss 9 Miss (initially empty) 20004 = 0x4E24 0x04 = 4 0x31 = 49 9 Hit 20008 = 0x4E28 0x08 = 8 0x31 = 49 9 Hit 20016 = 0x4E30 0x10 = 16 0x31 = 49 9 Hit 24108 = 0x5E2C 0x0C = 12 0x31 = 49 11 Miss (different tag) 24112 = 0x5E30 0x10 = 16 0x31 = 49 11 Hit 24116 = 0x5E34 0x14 = 20 0x31 = 49 11 Hit 24120 = 0x5E38 0x18 = 24 0x31 = 49 11 Hit
  • 14. Pregunta # 9 (1 punto) Cuàl de las siguientes proposiciones es verdadera? a. El examen evaluó lo que aprendimos en las clases b. c. El examen evaluó material que no vimos en las clases El examen fue tan fácil que no fue necesario estudiar el material visto en clase.