Apuntes de Verilog
Tema 7. Arquitectura de Ordenadores
Procesador MIPS - SAP (simple as possible)
Procesador MIPS - SAP (simple as possible)
5 de octubre 2025
En este tema 7 empezamos una serie de tutoriales sobre Arquitectura de Ordenadores. Como dice el título más arriba, veremos cómo hacer paso a paso un procesador MIPS lo más sencillo posible y más adelante iremos añadiendo módulos para ejecutar instrucciones más complejas.
Si es la primera vez que te adentras en el apasionante mundo de la arquitectura de ordenadores, te recomiendo que eches un vistazo a este libro: Digital Design and Computer Architecture de fácil acceso (con unos conocimientos básicos de electrónica digital) es ideal para principiantes.
Un procesador MIPS (Microprocessor without Interlocked Pipeline Stages) es una arquitectura de procesador basada en el diseño RISC (Reduced Instruction Set Computer), que se caracteriza por tener un conjunto reducido y eficiente de instrucciones. Fue desarrollado originalmente en los años 80 por la Universidad de Stanford y luego comercializado por MIPS Computer Systems.
Arquitectura RISC:
Instrucciones simples y de longitud fija (normalmente 32 bits).
Cada instrucción se ejecuta en un solo ciclo de reloj (idealmente).
Uso intensivo de registros (32 registros de propósito general).
Pipeline:
El procesador MIPS está diseñado para ejecutar instrucciones en un pipeline de varias etapas (por ejemplo: Fetch, Decode, Execute, Memory, Write-back).
Esto permite ejecutar varias instrucciones simultáneamente en diferentes etapas del pipeline.
Formato de instrucciones:
R-type: operaciones aritméticas y lógicas (con registros).
I-type: operaciones con valores inmediatos o accesos a memoria.
J-type: instrucciones de salto (para cambiar el flujo del programa)
Ejemplos: add, sub, lw (load word), sw (store word), beq (branch if equal), j (jump).
Uso educativo y en sistemas embebidos:
MIPS es muy popular en entornos docentes para enseñar arquitectura de computadores.
También se ha usado en dispositivos embebidos como routers y consolas de videojuegos como la N64 y PSP.
El procesador MIPS-SAP que vamos a describir a continuación ejecuta instrucciones de acceso a memoria lw (load word) y sw (store word), también conocidas como I-type.
Para que no quede muy extenso, he dividido el tema en tres partes:
Primero veremos paso a paso el funcionamiento de los módulos individuales que componen el datapath del procesador MIPS.
Segundo, conectar todos los módulos individuales para crear el datapath.
Tercero, describir el módulo de control y conectarlo con el datapath para crear el procesador MIPS completo.
Moamen Wael tiene en su GitHub un excelente tutorial dedicado al procesador MIPS descrito en Verilog. Thanks for sharing!