Estructura básica de las instrucciones MIPS
La arquitectura MIPS destaca por poseer un conjunto de instrucciones organizado y bastante claro.
A continuación, conocerás las clases de formatos en los que se agrupan todas las instrucciones.
Photo by Markus Spiske on Unsplash
En este Blog trabajaremos sobre un subset de instrucciones MIPS. Las cuales servirán tanto para entender la estructura del procesador, como para hacer uso de referencia en futuras implementaciones de sistemas más complejos.
En la siguiente imagen, se muestran las instrucciones que serán implementadas en el proyecto, agrupadas por tipo.
Como se observa, todas las instrucciones MIPS tienen una longitud de 32 bits y se distinguen en 3 formatos básicos:
Tipo J
Utilizado por las instrucciones de salto incondicional.
Campo
Cantidad de bits
Descripción
op
6
Código de operación
dirección
26
Dirección de salto
Tipo R
Utilizado por las instrucciones aritméticas y lógicas.
Campo
Cantidad de bits
Descripción
op
6
Código de operación
rs
5
Registro del primer operando fuente
rt
5
Registro del segundo operando fuente
rd
5
Registro del operando destino
shamt
5
Desplazamiento
funct
6
Función o código de función
Tipo I
Utilizado por las instrucciones de carga o almacenamiento, salto condicional y las de operandos inmediatos.
Campo
Cantidad de bits
Descripción
op
6
Código de operación
rs
5
Registro del primer operando fuente
rt
5
Registro del segundo operando fuente
BranchAddr
16
Dirección de salto relativo a la instrucción actual
Conclusión
Hemos conocido la estructura básica de las instrucciones MIPS 😀
Los campos que componen cada tipo de instrucción, su tamaño en bits y qué representa cada campo.
En los siguientes artículos, haremos uso de cada una de ellas y explicaremos más a detalle su funcionamiento.
Utilizado por las instrucciones de salto incondicional.
Campo | Cantidad de bits | Descripción |
---|---|---|
op | 6 | Código de operación |
dirección | 26 | Dirección de salto |
Tipo R
Utilizado por las instrucciones aritméticas y lógicas.Campo | Cantidad de bits | Descripción |
---|---|---|
op | 6 | Código de operación |
rs | 5 | Registro del primer operando fuente |
rt | 5 | Registro del segundo operando fuente |
rd | 5 | Registro del operando destino |
shamt | 5 | Desplazamiento |
funct | 6 | Función o código de función |
Tipo I
Utilizado por las instrucciones de carga o almacenamiento, salto condicional y las de operandos inmediatos.Campo | Cantidad de bits | Descripción |
---|---|---|
op | 6 | Código de operación |
rs | 5 | Registro del primer operando fuente |
rt | 5 | Registro del segundo operando fuente |
BranchAddr | 16 | Dirección de salto relativo a la instrucción actual |
Conclusión
Hemos conocido la estructura básica de las instrucciones MIPS 😀
Los campos que componen cada tipo de instrucción, su tamaño en bits y qué representa cada campo.
En los siguientes artículos, haremos uso de cada una de ellas y explicaremos más a detalle su funcionamiento.