Definición: mecanismo que permite conocer la ubicación de un objeto un dato o una instrucción. Se usa un direccionamiento por cada operando.

TIPOS

  • DIRECTO A REGISTRO
    • El operando se ubica en un registro
    • Codificamos con 5 bits representación de los registros del 0 al 31
    • Instrucciones add sub…
  • INDIRECTO A REGISTRO CON DESPLAZAMIENTO
    • El operando se ubica en una posición en memoria
    • registro + desplazamiento
      • registro (5 bits)
      • desplazamiento (16 bits) + extensión de signo a 32 antes de la suma
    • Instrucciones lw y sw
  • RELATIVO A PC CON DESPLAZAMIENTO
    • Se calcula la dirección de un salto respecto al PC
    • PC + desplazamiento
      • desplazamiento(16 bits) + extensión(32 bits) * 4
  • INMEDIATO
    • El operando es un dato incluido en la instrucción
    • Inmediato de 16 bits + extensión de signo(32 bits)
    • Instrucciones addi….
  • PSEUDODIRECTO
    • Campo de 26 bits s
      • se multiplican por 4 (desplazamiento de 2 bits a la izquierda) tenemos 28 bits nos faltan 4 que se obtendrán de los bits más significativos de PC
    • Intrucciones j o jal salto incondicional
  • IMPLÍCITO
Estado Actual S3S2S1S0S_3S_2S_1S_0
EscrPC
EscrPCCondicional
IoD
LeerMem
EscrMem
EscrIR
MemAReg
FuentePc
ALUOp
SelALUB
SelMulA
SelALUA
EscrReg
RegDest
EscrALU
0000
1
0
00
1
0
1
X
00
00
01
X
0
0
X
X
0001
0
0
XX
0
0
0
X
XX
00
11
1
0
0
X
0
0010
0
0
XX
0
0
0
X
XX
00
10
X
1
0
X
1
0011
0
0
01
1
0
0
X
XX
XX
XX
X
X
0
X
1
0100
0
0
XX
0
0
0
1
XX
XX
XX
X
X
1
0
1
0101
0
0
01
0
1
0
X
XX
XX
XX
X
X
0
X
1
0110
0
0
XX
0
0
0
X
XX
10
00
X
1
0
X
0
0111
0
0
XX
0
0
0
0
XX
XX
XX
X
X
1
1
0
1000
1
1
XX
0
0
0
X
01
01
00
X
1
0
X
0
1001
0
0
XX
0
0
0
X
10
XX
XX
X
X
0
X
0
1010 (Nuevo estado)
X
X
01
1
0
0
X
XX
XX
XX
1
X
0
x
1
 
Si M[$s0] = 0 entonces 
	PC = PC + 4 + extSigno16a32(etiqueta)<<2
Sino
	PC = PC + 4