ejercicios arquitectura de computadores
TRANSCRIPT
Universidad de CadizEscuela Superior de Ingenierıa
Arquitectura de Computadores
GII Oficial(Nope)
Indice
Problemas del Tema 1 3Problema 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Problema 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Problema 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Problema 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Problemas del Tema 2 7Problema 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Problema 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Problema 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Problema 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Problema 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Problema 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Problemas del Tema 3 13Problema 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Problema 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Problema 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Problema 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Problemas del Tema 4 17Problema 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Problema 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2
Problemas del Tema 1
Problema 1
Sean dos implementaciones diferentes de un mismo repertorio de instrucciones. Esterepertorio tiene cuatro tipos de instrucciones A, B, C y D donde:
F CPIA CPIB CPIC CPIDCPU1 1,5 GHz 1 2 3 4CPU2 2 GHz 2 2 2 2
Sea un programa con 106 instrucciones donde el 10 % es del tipo A, el 20 % de tipo B, 50 %de tipo C y el 20 % de tipo D.
1.- ¿Que implementacion es mas rapida?
2.- ¿Cual es el CPIglobal de cada implementacion?
3.- ¿Cuantos ciclos tarda el programa en cada implementacion?
Solucion:
NI=106
NI1 = 106 * 0.1 = 100000 NI2 = 106 * 0.2 = 200000
NI3 = 106 * 0.5 = 500000 NI4 = 106 * 0.2 = 200000
a)
TCPU =
n∑i=1
CPIi ∗NIi
F
TCPU1=
105 + 2 ∗ 105 ∗ 2 + 5 ∗ 105 ∗ 3 + 2 ∗ 105 ∗ 4
1,5 ∗ 109=
105(1 + 4 + 15 + 8)
1,5 ∗ 109=
2,8 ∗ 106
1,5 ∗ 109= 1,86ms
b)
CPIglobal =
n∑i=1
CPIi ∗NIi
NI=
2,8 ∗ 106
106=⇒ CPIglobal1 = 2,8 ciclos
=2 ∗ 106
106=⇒ CPIglobal2 = 2 ciclos
c)
CPP =
n∑i=1
CPIi ∗NIi =⇒ CPP1 = 2,8 ∗ 106
=⇒ CPP2 = 2 ∗ 106
3
Problema 2
Sea un programa con los siguientes tipos de instrucciones y CPIs:
Aritmeticas Almacenamiento Carga SaltosNo Instrucciones 500 50 100 50
CPI 1 5 5 2
1.- ¿Cual es el tiempo de ejecucion en un procesador de 2 GHz?
2.- Calcula el CPIglobal.
3.- Si el numero de instrucciones de carga se reduce a la mitad, ¿en que factor se incrementala velocidad? ¿cual es el nuevo CPIglobal?
Solucion:
NI = 500 + 50 + 100 + 50 = 700
F = 2 * 109 Hz
a)
TCPU =
n∑i=1
CPIi ∗NIi
F
TCPU =1 ∗ 500 + 5 ∗ 50 + 5 ∗ 100 + 2 ∗ 50
2 ∗ 109=
1350
2 ∗ 109= 6,75 ∗ 10−7 s
b)
CPIglobal =
n∑i=1
CPIi ∗NIi
NI=
1350
700=⇒ CPIglobal = 1,92 ciclos
c)
TCPU′ =
1 ∗ 500 + 5 ∗ 50 + 5 ∗ 50 + 2 ∗ 50
2 ∗ 109=
1100
2 ∗ 109= 5,5 ∗ 10−7 s
TCPUA
TCPUB
=6,75 ∗ 107
5,5 ∗ 107= 1,23 Luego se incrementa la velocidad en un 23 %
CPIglobal′ =
500 + 250 + 250 + 100
650= 1,69 ciclos
4
Problema 3
Sean dos programas diferentes con el siguiente numero de instrucciones:
Aritmeticas Almacenamiento Carga SaltosPrograma 1 1000 400 100 50Programa 2 1500 300 100 100
1.- Suponiendo que las instrucciones aritmeticas necesitan 1 ciclo, las de carga yalmacenamiento 10 ciclos y los saltos 3 ciclos. ¿Cual es el tiempo de ejecucion de cadaprograma en un procesador de 3 GHz?
2.- Suponiendo que las instrucciones de aritmeticas necesitan 1 ciclo, las de carga yalmacenamiento 2 ciclos y los saltos 3 ciclos. ¿Cual es el tiempo de ejecucion de cada programaen un procesador de 3 GHz?
3.- Suponiendo que las instrucciones aritmeticas necesitan 1 ciclo, las de carga yalmacenamiento 10 ciclos y los saltos 3 ciclos. ¿Cual es la aceleracion de un programa siel numero de instrucciones aritmeticas se reduce a la mitad?
Solucion:
F = 3 * 109 Hz
a)
TCPU =
n∑i=1
CPIi ∗NIi
F=
1 ∗ 1000 + (400 + 100) ∗ 10 + 50 ∗ 3
3 ∗ 109=
6150
3 ∗ 109=⇒ TCPU1
= 2,05µs
=1 ∗ 1500 + (300 + 100) ∗ 10 + 100 ∗ 3
3 ∗ 109=
5800
3 ∗ 109=⇒ TCPU2 = 1,9µs
b)
TCPU =
n∑i=1
CPIi ∗NIi
F=
1 ∗ 1000 + (400 + 100) ∗ 2 + 50 ∗ 3
3 ∗ 109=
2150
3 ∗ 109=⇒ TCPU1 = 0,716µs
=1 ∗ 1500 + (300 + 100) ∗ 2 + 100 ∗ 3
3 ∗ 109=
2600
3 ∗ 109=⇒ TCPU2
= 0,866µs
c)
TCPU =
n∑i=1
CPIi ∗NIi
F=
1 ∗ 500 + (400 + 100) ∗ 2 + 50 ∗ 3
3 ∗ 109=
5650
3 ∗ 109=⇒ TCPU1
= 1,833µs
=1 ∗ 750 + (300 + 100) ∗ 2 + 100 ∗ 3
3 ∗ 109=
5050
3 ∗ 109=⇒ TCPU2
= 1,683µs
TCPUA
TCPUB
=2,05
1,833= 1,12 Luego, se incrementa la velocidad en un 12 %
=1,9
1,683= 1,12 Luego, se incrementa la velocidad en un 12 %
5
Problema 4
Sea un programa con 106 Problema 4 instrucciones y dos procesadores diferentes:
F CPIglobalCPU1 4GHz 1.25CPU2 3GHz 0.75
1.- Es un error considerar que el procesador de frecuencia mas elevada siempre va a tenermejores prestaciones. ¿Que ocurre en este problema?
2.- Otro error habitual se produce al utilizar la medida MIPS para comprobar las prestacionesde dos procesadores, y considerar que el procesador con el MIPS mas elevado es siempre elque tiene mejores prestaciones. ¿Que ocurre en este problema?
Solucion:
a) En este programa la CPU1 aunque posee mayor frecuencia , al tardar mas ciclos por cadainstruccion el programa se ejecuta mas lentamente
b)
MIPS =F
CPIglobal ∗ 106=
4 ∗ 109
1,25 ∗ 106=⇒MIPSCPU1
= 3200
=3 ∗ 109
0,75 ∗ 106=⇒MIPSCPU2 = 4000
6
Problemas del Tema 2
Problema 1
Sea una cache de correspondencia directa con 16KB de datos y bloques de 4 palabras. Lapalabra es de 32 bits.
1.- ¿Cuantos bloques tendra la cache?
2.- ¿Cuantos bits tendra el Indice?
3.- ¿Cuantos bits tendra el campo etiqueta?
4.- ¿Cual es el tamano total de la cache? Aquı hay que tener presente tanto la capacidaddestinada a datos como la destinada a etiquetas.
Solucion:
a)16KB
4 ∗ 32b=
16KB
4 ∗ 4B=��16 ∗ 210B
��16B= 210 bloques = 1024 bloques
b) El ındice tendra 10 bits ( 210).
c)
El campo etiqueta tendra :
m− n−Blockoffset −Byteoffset = 32− 10− 2− 2 = 18 bits
m : Tamano direccion = 32 bits
n : Bits del ındice = 10 bits
Blockoffset = 4 palabras = 22 =⇒ 2 bits
ByteOffset = 32 bits = 4B = 22 =⇒ 2 bits
d)
Tamano cache = Capacidad de datos+ Tamano etiqueta
Asociativa/Conjuntos︷ ︸︸ ︷(Novıas ∗No ındices/conjuntos)
Tamano cache = 16 KB + 18 bits
7
Problema 2
Sea una cache de correspondencia directa con 64 bloques, donde el tamano del bloque es deuna palabra (palabra = 32 bits).
1.- ¿Que capacidad tendra cada bloque de la memoria cache?
2.- ¿Cuantos bits tendra el Indice?
3.- ¿Cuantos bits tendra el campo etiqueta de la memoria cache?
4.- Se esta enviando un bloque de memoria principal a memoria cache: ¿En que posicion dela memoria cache se deberıa emplazar el bloque si la direccion del primer byte en memoriaprincipal es 120010?
5.- La direccion 120010 tiene 32 bits porque el bus de direcciones tiene 32 bits. Escribe esos32 bits e identifica cada una de las partes de la direccion: etiqueta, ındice, BLOCKoffset yBYTEoffset. ¿El valor que has obtenido en la parte que identifica el ındice coincide con elobtenido en la cuestion 4?
6.- Se esta enviando un bloque de memoria principal a memoria cache: ¿En que posicion dela memoria cache se deberıa emplazar el bloque si la direccion de ese bloque en memoriaprincipal es 910?
Solucion:
a)Capacidad bloque = Tamano bloque︸ ︷︷ ︸
1 palabra
∗Tamano palabra = 1 ∗ 32 bits = 4B
b)64 bloques = 26 =⇒ El ındice tendra 6 bits
c)
El campo etiqueta tendra :
m− n−BlockOffset −ByteOffset = 32− 6− 0− 2 = 24 bits
m : Tamano direccion = 32 bits
n : Bits del ındice = 6 bits
Blockoffset : 1 palabra/bloque = 20/bloque =⇒ Blockoffset = 0 bits
Byteoffset : Una palabra = 32 bits = 4B = 22 =⇒ Byteoffset = 2 bits
d)
Direccion bloque =Direccion Byte
No Bytes del bloque=
1200
4= 300 =⇒ 300 MOD 64 = 44
e)
120010 =
Etiqueta︷ ︸︸ ︷. . . 100
Indice︷ ︸︸ ︷101100 ︸︷︷︸
Blockoffset
Byteoffset︷︸︸︷00
Sı. El valor obtenido coincide con lo obtenido en el apartado anterior.
f)
9 MOD 64 = 9
8
Problema 3
Sea una cache de correspondencia directa con 64 bloques, donde el tamano del bloque es de cuatropalabras (palabra = 32 bits).
1.- ¿Que capacidad tendra cada bloque de la memoria cache?
2.- ¿Cuantos bits tendra el Indice?
3.- ¿Cuantos bits tendra el campo etiqueta de la memoria cache?
4.- Se esta enviando un bloque de memoria principal a memoria cache: ¿En que posicion de lamemoria cache se deberıa emplazar el bloque si la direccion del primer byte en memoria principales 120010?
5.- La direccion 120010 tiene 32 bits porque el bus de direcciones tiene 32 bits. Escribe esos 32 bitse identifica cada una de las partes de la direccion: etiqueta, ındice, BLOCKoffset y BYTEoffset.¿El valor que has obtenido en la parte que identifica el ındice coincide con el obtenido en la cuestion4?.
6.- Se esta enviando un bloque de memoria principal a memoria cache: ¿En que posicion de lamemoria cache se deberıa emplazar el bloque si la direccion de ese bloque en memoria principal es910?
Solucion:
a)
Capacidad bloque = Tamano bloque︸ ︷︷ ︸4 palabras
∗Tamano palabra = 4 ∗ 32 bits = 4 ∗ 4B = 16B
b)64 bloques = 26 bloques =⇒ El ındice esta compuesto por 6 bits
c)
El campo etiqueta tendra :
m− n−BlockOffset −ByteOffset = 32− 6− 2− 2 = 22 bits
m : Tamano direccion = 32 bits
n : Bits del ındice = 6 bits
Blockoffset : 4 palabras/bloque = 22 =⇒ Blockoffset = 2 bits
Byteoffset : Una palabra = 32 bits = 4B = 22 =⇒ Byteoffset = 2 bits
d)
Direccion bloque =Direccion Byte
No Bytes del bloque=
1200
4B ∗ 4=
1200
16= 75 =⇒ 75 MOD 64 = 11
e)
120010 =
Etiqueta︷ ︸︸ ︷. . . 001
Indice︷ ︸︸ ︷001011
Blockoffset︷︸︸︷00
Byteoffset︷︸︸︷00
Los ındices de los apartados 4 y 5 coinciden.
f)9 MOD 64 = 9
9
Problema 4
El procesador tiene que acceder a estas direcciones del sistema de memoria y en este orden:
22, 26, 22, 26, 16, 3, 16, 18
Sea una cache de correspondencia directa con 8 bloques de un byte. La cache inicialmente esta vacıa.Indique, para cada una de estas direcciones, la direccion en binario sabiendo que son direccionesde 5 bits, la etiqueta y el ındice. Indique tambien si en el acceso se produce un fallo o un acierto.Cuando se produzca un fallo hay que especificar el motivo.
Solucion:
8 bloques de 1B = 23 bloques =⇒ El ındice esta compuesto de 3bits
Direccion decimal Direccion binaria Etiqueta Indice F/A22 10110 10 110 F26 11010 11 010 F22 10110 10 110 A26 11010 11 010 A16 10000 10 000 F3 00011 00 011 F16 10000 10 000 A8 10010 10 010 F
10
Problema 5
El procesador Intel Core i7 tiene 4 nucleos Nehalem. En este problema vamos a analizar la cacheL1 de instrucciones del procesador Nehalem. Los datos que necesitamos para realizar el problemason:
Capacidad = 32 KB
Tamano del bloque = 64 bytes
Tipo de cache: asociativa por conjuntos de 4 vıas
Tamano de palabra = 64 bits
Direccionamiento a nivel de byte
1.- ¿Cuantos ındices tendra la cache?
2.- ¿Cuantos bits de la direccion se destinan al ındice?
3.- ¿Cuantos bits de la direccion se destinan a la etiqueta?
Solucion:
a)Habra un ındice por cada conjunto, luego habra 128 ındices (512/4).
b)
No de conjuntos =Capacidad cache
Tamano conjunto=
32KB
64B ∗ 4=
2��*7
15B
2�8B= 27 = 128 conjuntos =⇒ El ındice tiene 7 bits
c)
El campo etiqueta tendra :
m− n−BlockOffset −ByteOffset = 64− 7− 3− 3 = 51 bits
m : Tamano direccion = 64 bits
n : Bits del ındice = 7 bits
Blockoffset : 8 palabras/bloque = 23 =⇒ Blockoffset = 3 bits
Byteoffset : Una palabra = 64 bits = 8B = 23 =⇒ Byteoffset = 3 bits
11
Problema 6
Sea la cache L3 del procesador AMD Operaton: 2MB de capacidadde datos, asociativa porconjuntos de 32 vıas, bloques de 64 bytes. Palabra de 64 bits.
1.- ¿Cuantos bits tendra el ındice?
2.- ¿Cuantos bits tendra el campo etiqueta de la memoria cache?
3.- Se esta enviando un bloque de memoria principal a memoria cache: ¿En que posicion de lamemoria cache se deberıa emplazar el bloque si la direccion del primer byte en memoria principales 204810?
4.- Verifica si el ındice obtenido en la cuestion 3 se corresponde con el ındice extraıdo de la direccion204810.
5.- ¿Cual es el tamano total de la cache?
Solucion:
a)
No de conjuntos =Capacidad cache
Tamano conjunto=
2MB
64B ∗ 32=
2��*10
21B
2�11B= 210 = 1028 conjuntos =⇒ El ındice tiene 10 bits
b)
El campo etiqueta tendra :
m− n−BlockOffset −ByteOffset = 64− 10− 3− 3 = 48 bits
m : Tamano direccion = 64 bits
n : Bits del ındice = 10 bits
Blockoffset : 8 palabras/bloque = 23 =⇒ Blockoffset = 3 bits
Byteoffset : Una palabra = 64 bits = 8B = 23 =⇒ Byteoffset = 3 bits
c)
Posicion en memoria =direccion 1er byte
no bytes del bloque=
2048
64= 32
no bloques =221
28= 213bloques
32 MOD 8192 = 32
d)
204810 =
Etiqueta︷ ︸︸ ︷. . . 0000
Indice︷ ︸︸ ︷0000100000
Blockoffset︷︸︸︷000
Byteoffset︷︸︸︷000
Los ındices de los apartados 3 y 4 coinciden.
e)
Tamano cache = Capacidad de datos+ Tamano etiqueta
Asociativa/Conjuntos︷ ︸︸ ︷(Novıas ∗No ındices/conjuntos)
Tamano cache = 2 MB + 48 bits ∗ (32 ∗ 10) = 2MB + 1920B
12
Problemas del Tema 3
Problema 1
Se va a ejecutar la instruccion 0x012A5825.
1.- ¿Que entradas recibe la unidad de control?
2.- ¿Que valor/es tiene que decodificar la unidad de control?
3.- ¿Que salidas proporciona la unidad de control?
4.- ¿Para que sirven esas salidas?
5.- ¿Que valores deben tener esas salidas para que se ejecute correctamente la instruccion?
Solucion:
Intruccion 0x012A5825 = 0000 0001 0010 1010 0101 1000 0010 0101
a)
Codigo de instruccion [Bits 31− 26]
Codigo de funcion [Bits 5− 0](solo en instrucciones aritmetico− logicas)
b) La unidad de control decodificara los valores :
Codigo de instruccion [Bits31− 26] = 0000 00 (base 2) = 0(base 10)
Codigo de funcion [Bits 5− 0] = 10 0101 (base2) = 37(base10)
c) RegWrite, RegDst, Alu src, ALU operation, PCsrc1, PCsrc2, MemRead y MemWrite.
d)
• RegWrite = Indica si se va a escribir en el banco de registros , debe estar activa paraque se escriba en el flanco de subida.
• RegDst = Indica de que bits procede la direccion del registro destino ( 0 =¿bits 20-16en instrucciones de carga , 1 =⇒ bits 15-11 en instrucciones Aritmetico-Logicas).
• ALUsrc = Indica la procedencia del 2o operando de la ALU (0 =⇒ bits 15-11 en instrucciones Aritmetico-Logicas , 1 =⇒ bits 15-0 en instrucciones deCarga/Almacenamiento).
• ALUoperation = Indica que operacion realiza la ALU.
• PCsrc1 = Indica si la direccion de la proxima instruccion proviene de un saltoincondicional J.
• PCsrc2 = Indica si la direccion de la proxima instruccion proviene de un salto condicionalBEQ.
• MemRead = Indica cuando se realiza una lectura en la memoria de datos
• MemWrite = Indica cuando se realiza una escritura en la memoria de datos
e)
RegWrite = 1
RegDst = 1
ALUsrc = 0
ALUoperation = 0001
PCsrc1 = 0
PCsrc2 = 0
MemRead = 0
MemWrite = 0
13
Problema 2
Se va a ejecutar la instruccion 0x016C6822.
1.- ¿Que tipo de instruccion es?
2.- ¿Cual es el numero de identificacion del registro destino?
3.- ¿Utiliza algun registro como registro fuente? En tal caso, averigua el numero deidentificacion.
4.- ¿Que valores deben tener las senales de control para que se ejecute correctamente lainstruccion?
Solucion:
Instruccion 0x016C6822 = 0000 0001 0110 1100 0110 1000 0010 0010
a)
Codigo de instruccion = 0000 00 =⇒ Instruccion Aritmetico− LogicaCodigo de funcion = 10 0010 =⇒ SUB
b)Rdestino = 0110 1 =⇒ $13
c)
Rfuente1 = 01 011 =⇒ $11
Rfuente2 = 0 1100 =⇒ $12
La instruccion es, por tanto: SUB $13,$11,$12
d)
RegWrite = 1
RegDst = 1
ALUsrc = 0
ALUoperation = 0110
PCsrc1 = 0
PCsrc2 = 0
MemRead = 0
MemWrite = 0
14
Problema 3
Se va a ejecutar la instruccion 0x08000028.
1.- Escribe la instruccion en codigo ensamblador.
2.- ¿Que valores deben tener las senales de control para que se ejecute correctamente lainstruccion?
3.- Si antes de ejecutarse la instruccion el contador del programa tiene el valor0xA001E020.¿Que valor tendra despues de ejecutarse la instruccion?
Solucion
Instruccion 0x08000028 = 0000 1000 0000 0000 0000 0000 0010 1000
a)
Codigo de instruccion = 0000 10 =⇒ J
Offset = 00 0000 0000 0000 0000 0010 1000 =⇒ 40
La instruccion es, por tanto: J 40
b)
RegWrite = 0
RegDst = 0
ALUsrc = 0
ALUoperation = 0010
PCsrc1 = 1
PCsrc2 = 0
MemRead = 0
MemWrite = 0
c)
0xA001E020 = 1010 0000 0000 0001 1110 0000 0010 0000
Offset = 00000000000000000000101000 =⇒ 40
PC = 1010 · 00 0000 0000 0000 0000 0010 1000 · 00
⇓
El valor del PC tras la ejecucion de la instruccion sera : 0xA00000A0
15
Problema 4
Se va a ejecutar la instruccion 0x8D4F0008.
1.- Escribe la instruccion en codigo ensamblador.
2.- ¿Que valores deben tener las senales de control para que se ejecute correctamente lainstruccion?
Solucion
Instruccion 0x8D4F0008 = 1000 1101 0100 1111 0000 0000 0000 1000
a)
Codigo de instruccion = 1000 11 =⇒ LW
Rfuente1 = 01 010 => $10
Rfuente2/Rdest = 0 1111 =⇒ $15
Offset = 0000 0000 0000 1000 =⇒ 8
La instruccion es, por tanto: LW $15,8($10)
b)
RegWrite = 0
RegDst = 0
Alusrc = 1
ALUoperation = 0010
PCsrc1 = 0
PCsrc2 = 0
MemRead = 1
MemWrite = 0
16
Pro
ble
mas
del
Tem
a4
Pro
ble
ma
1
Sea
lasi
guie
nte
secu
enci
ad
ein
stru
ccio
nes
:A
DD
$8,
$9,
$10
LW
$11,
4($8
)LW
$12,
8($8
)C
onte
nid
ode
cier
tos
regi
stro
sy
pos
icio
nes
de
mem
oria
:$8
=0
$9=
20$1
0=
12M
EM
[36]
=20
0M
EM
[40]
=10
0
1.-
Ind
ica
las
dep
end
enci
asqu
eex
iste
nen
tre
las
inst
rucc
ion
es.
2.-
Su
pon
gam
osqu
ees
tase
cuen
cia
de
inst
rucc
ion
esse
ejec
uta
enu
np
roce
sad
or
MIP
S-3
2se
gm
enta
do
CO
Nu
nid
add
ed
etec
cion
de
ries
gos
(blo
qu
eos)
yu
nid
ad
de
anti
cipaci
on.
Rep
rese
nta
ren
un
dia
gram
aqu
esu
ced
een
cad
aci
clo
de
ejec
uci
on
.
12
34
56
7$8
00
00
0/32
32
32
$920
2020
20
20
20
20
$10
1212
1212
12
12
12
$11
XX
XX
XX
/200
X/200
$12
XX
XX
XX
X/100
EX
/ME
MX
XX
32
136
40
40
ME
M/W
BX
XX
X32
200
100
AD
D$8
,$9
,$1
0M
IID
$9=
20$1
0=12
AL
UE
X/M
EM←
20+
12=
32
MD
ME
M/W
B←
EX
/M
EM
ME
M/W
B←
32
RE
G$8←
ME
M/W
B=
32–
–
LW
$11,
4($
8)–
MI
ID$8
=0
1
4
AL
UE
X/M
EM←
321
+4=
36
MD
ME
M/W
B←
ME
M[3
6]
ME
M/W
B←
200
RE
G$11←
ME
M/W
B$11←
200
–
LW
$12,
8($
8)–
–M
IID
$8=
02
8
AL
UE
X/M
EM←
32
1+
8=
40
MD
ME
M/W
B←
ME
M[4
0]
ME
M/W
B←
100
RE
G$12←
ME
M/W
B$12←
100
Com
enta
rio
––
1L
ectu
raer
ron
ea
1A
nti
cip
aci
on
2L
ectu
raer
ron
ea1A
nti
cip
aci
on
con
ME
M/W
B–
–
17
Pro
ble
ma
2
Sea
lasi
guie
nte
secu
enci
ad
ein
stru
ccio
nes
:LW
$8 ︸︷︷︸,4(
$9)
ADD
$11,
$8 ︸︷︷︸,$1
0SUB
$12,
$12,
$12
Con
ten
ido
de
cier
tos
regi
stro
sy
pos
icio
nes
de
mem
oria
:$8
=3
$9=
16$1
0=
2$1
2=
1M
EM
[20]
=20
0
1.-
Ind
ica
las
dep
end
enci
asqu
eex
iste
nen
tre
las
inst
rucc
ion
es.
2.-
Su
pon
gam
osqu
ees
tase
cuen
cia
de
inst
rucc
ion
esse
ejec
uta
enu
np
roce
sad
or
MIP
S-3
2se
gm
enta
do
CO
Nu
nid
adde
det
ecci
on
de
ries
gos
(blo
qu
eos)
yu
nid
ad
de
anti
cip
acio
n.
Rep
rese
nta
ren
un
dia
gram
aqu
esu
ced
een
cad
aci
clo
de
ejec
uci
on
.
12
34
56
78
$83
33
33/
200
200
200
200
$11
XX
XX
XX
X/2
00200
$12
11
11
11
1/0
1E
X/M
EM
XX
X20
20202
00
ME
M/W
BX
XX
X200
200
202
202
LW
$8,
4($9
)M
IID
$9=
164
AL
UE
X/M
EM←
16+
4=
20
MD
ME
M/W
B←
EX
/M
EM
ME
M/W
B←
20
RE
G$8←
ME
M/W
B=
20
––
–
AD
D$1
1,
$8
$10
–M
IID
$8=
31
$10
=2
AL
UE
X/M
EM←
200
1+
2=
202
MD
ME
M/W
B←
EX
/M
EM
ME
M/W
B←
202
RE
G$1
1←
ME
M/W
B$1
1←
202
–
SU
B$12
,$12
($12)
––
MI
ID$12
=1
AL
UE
X/M
EM←
1-1
=0
MD
ME
M/W
B←
EX
/ME
MM
EM
/W
B←
0
RE
G$1
2←
ME
M/W
B$1
2←
0C
om
enta
rio
––
1L
ectu
raer
ron
ea1A
nti
cip
acio
nco
nM
EM
/WB
––
–
18