Escolar Documentos
Profissional Documentos
Cultura Documentos
Direccionamiento a byte
Direccionamiento a palabra de 16 bits
Direccionamiento a doble palabra (cada palabra de 16 bits)
Solucion de jgaleotti.
a) La longitud total de la instruccion son 32 bits. Las instrucciones de 2 operandos deben llevar
2 direcciones. Cada direccion tiene 12 bits. Por lo tanto, me quedan 32 12 12 = 8 bits
para el codop2
Tipo 1: Instrucciones de 2 operandos:
Tengo que codificar 250 instrucciones de 2 operandos, para los cuales tengo hasta 8 bits:
Con 8 bits puedo representar 28 = 256 instrucciones distintas. Por lo tanto, me quedan
256250 = 6 combinaciones sin utilizar. Para las instrucciones de 1 operando tengo 3212 =
20 bits para el codop.
Tipo 2: Instrucciones de 1 operando:
De esos 20 bits, hay no estan disponibles todas las combinaciones posibles (ya que algunas
son usadas para el Tipo 1). Por lo tanto:
De los primeros 8 bits del codop, solo puedo usar 6 combinaciones (del 1111 1010 al
1111 1111)
1 Ejercicio 7 del captulo 5, L. Null & J. Lobur, Essentials of Computer Organization and Architecture
2 Codigo de operacion
Organizacion del Computador 1 - Verano 2009 Modos de direccionamiento y formatos de instruccion
De los restantes 12 bits del codop, puedo usar todas las combinaciones (212 = 41024 =
4096
Por lo tanto, puedo codificar un maximo 6 4096 = 24576 instrucciones de 1 operando.
b) Tengo 212 direcciones. Cada direccion contiene 1 Byte. Por lo tanto, el tamano maximo
es 212 1B = 4 KB3
Tengo 212 direcciones. Cada direccion contiene 2 Bytes. Por lo tanto, el tamano maximo
es 212 2B = 8KB
Tengo 212 direcciones. Cada direccion contiene 4 Bytes. Por lo tanto, el tamano maximo
es 212 4B = 16KB
Ejercicio 2 Diga cuantos bits son necesarios para poder direccionar la memoria en los siguientes
casos:
Solucion de jgaleotti.
#direcciones = memoria / unidad de direccionamiento= 2 GB/ B = 2 1024 M = 2 1024
1024 1024
log2 (#direcciones) = log2 (2 1024 1024 1024) = 31
Ejercicio 3 Considere una computadora con 16 registros. Las instrucciones son de tamano fijo de
16 bits y tamano del bus de direcciones de 7 bits. Disenar un formato de instruccion para codificar:
2 instrucciones con dos operandos a memoria.
00 instr1
01 instr2
Codifico los codops de la siguiente manera (recordando los prefijos de 2 bits que ya utilice)
10 000 instr 1
... ...
10 111 instr 8
Codifico los codops de la siguiente manera (me cuido de respetar que no haya superposicion
con los codops de las otras instrucciones)
11 000000 instr 1
.. ...
11 011111 instr32
16 bits (codop)
Organizacion del Computador 1 - Verano 2009 Modos de direccionamiento y formatos de instruccion
Sin embargo, no necesito codificar todas, me alcanza con codificar las 16 instrucciones pedidas
por el enunciado.
Las instrucciones trabajan todas con palabras, a menos que se agregue .B, en cuyo caso trabaja
en modo Byte. Todos los jumps realizan un salto relativo de 10 bits.
Los modos de direccionamiento posibles son:
Modo Sintaxis Descripcion
Registro Rn El contenido del registro es el operando.
Indexado X(Rn ) (Rn + X) apunta al operando. X es guardado
en la siguiente palabra.
Registro Indirecto @Rn Rn es usado como un puntero al operando.
Inmediato #N La palabra siguiente contiene la constante
absoluta N.
Los operandos src pueden tener cualquiera de los 4 modos de direccionamiento. Por otro lado,
los operandos dst pueden tener solo los primeros 2 modos.
a) Se pide disenar el formato de instruccion de 16 bits, mas operandos adicionales segun de-
scriben los modos de direccionamiento.
Solucion de jgaleotti. Comenzaremos la solucion por la codificacion de los modos de direc-
cionamiento. Del enunciado sabemos que el operando dst solo puede tener direccionamiento
Registro y Registro Indirecto. Mientras que el operando src puede tener cualquier direc-
cionamiento.
Por lo anterior, podramos codificar los 2 modos de direccionamiento del operando dst usando
log2 (2) = 1 bit.
0 Registro
1 Registro Indirecto
Organizacion del Computador 1 - Verano 2009 Modos de direccionamiento y formatos de instruccion
Mientras que para codificar los 4 modos de direccionamiento del operando src usamos
log2 (4) = 2 bits.
00 Registro
01 Registro Indirecto
10 Indexado
11 Inmediato
JZ Etiqueta
JC Etiqueta