Cómo se leen las instrucciones en un procesador MIPS

En este artículo veremos de qué forma se accede y qué componentes intervienen en la lectura de las instrucciones para su posterior ejecución por parte del procesador. 😉

circuit photo

Esta es la primera parte de la serie de tutoriales sobre cómo emular un procesador MIPS en Logisim.

Comenzaremos con los siguientes 3 elementos:

1) Memoria de Instrucciones

Memoria RAM donde se almacenan las instrucciones a ejecutar.

Tamaño de direccionamiento: 8 bits
Capacidad de almacenamiento: 256 Instrucciones de 32 bits

Memoria de instrucciones MIPS

Características Memoria de Instrucciones MIPS


2) Contador de programa (PC)

También llamado Puntero de Instrucciones. Es un Registro que indica la posición donde está el procesador en su secuencia de instrucciones.

Capacidad de almacenamiento: 8bits


Contador de programa PC puntero de instrucciones MIPS

Características contador de programa PC puntero de instrucciones MIPS



Todo bien 👌

Hasta el momento, los dos primeros elementos conectados se verían de la siguiente forma:

Program counter con Memoria de instrucciones MIPS

El registro Contador de Programa (PC) envía a la Memoria de Instrucciones la dirección donde se encuentra la Instrucción que se debe ejecutar actualmente.

Pero para recorrer todas las posiciones de memoria (e ir leyendo cada instrucción cargada) es necesario añadir nuestro último elemento.

3) Sumador

El sumador incrementará el valor actual del contador de programa en uno. Luego, enviará el resultado de la suma como dato de entrada al mismo contador de programa.

De esta forma, cada vez que se actualice el reloj, se guardará en el registro "Contador de Programa" su valor incrementado.

Capacidad: 8 bits
Sumador procesador MIPS

Características Sumador procesador MIPS

Ejemplo del sumador:

Ejemplo sumador procesador mips
Al recibir como entrada el número 3 y la constante 1, el resultado es 4

Resultado final 🙌


He conectado el reloj al registro "Contador de programa" para que se realice la actualización de su información en cada ciclo. 

De esta forma la memoria es recorrida en cada una de sus posiciones.

Conclusión

Acabamos de ver cómo se combinan 3 componentes para crear el inicio de la ruta de datos del procesador

Inicialmente, nos encargamos de buscar las instrucciones en la Memoria de Instrucciones. Luego, incrementamos el Contador de Programa para obtener la dirección de la siguiente instrucción de forma secuencial.

Cabe resaltar que la Memoria de Instrucciones y el Contador de Programa son elementos importantes en la emulación. Así como el comportamiento obtenido al agregar el sumador.

Descarga

El proyecto se puede descargar desde su repositorio en GitHub.

Entradas más populares de este blog

Instrucciones JUMP y BRANCH

Estructura básica de las instrucciones MIPS

Memoria SRAM: Qué es y cómo gestionan la información