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
| 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