Diseño de un microprocesador básico de 4 bits

Si piensas que un microprocesador es una especie de caja negra que funciona de un modo misterioso ejecutando programas escritos en lenguajes de alto nivel como C, Pascal, BASIC, etc., o en el mejor de los casos, te has atrevido a programar algún microcontrolador en lenguaje ensamblador, tal vez ha llegado el momento en que debas dar un «gran paso» en su conocimiento. Para ello, te propongo que, usando componentes electrónicos digitales sencillos (circuitos integrados compuestos por puertas lógicas), algunas resistencias y diodos, aprendas a diseñar de manera práctica un microprocesador básico y experimental de 4 bits.

Circuito - Computadora 4 Bits V2
Microprocesador básico de 4 bits simulado en Proteus.

Conocer el funcionamiento básico del hardware que existe dentro de cualquier microprocesador o microcontrolador puede que cambie de manera drástica el modo en que los ves y programas. Puedes llegar a entender conceptos que hasta ahora aplicas de una manera mecánica, porque lo has leído o sabes que funciona, pero sin conocer el por qué de ciertas limitaciones o diferentes formas de funcionar de esta evolución en la electrónica digital, desde simples sistemas secuenciales que permitieron ejecutar una sucesión de instrucciones, hasta el moderno microprocesador de 64 bits que posiblemente estés usando para leer este texto.

 

Las características técnicas de este sencillo microprocesador de 4 bits son:

  • Arquitectura Harvard (la memoria de programas y la de datos están separadas)
  • Memoria de programas (32 programas de hasta 256 bytes)
  • 16 Instrucciones regulares de 8 bits (13 implementadas). Arquitectura RISC con un ciclo de reloj por instrucción.
    • 4 bits superiores para el Código de Operación.
    • 4 bits inferiores para el Operando.
  • No tiene RAM.
  • 2 Puertos de Salida de 4 bits.
  • 1 Puerto de Entrada de 4 bits.
  • 1 Registro de Dirección de 4 bits.
  • 1 Registro de uso general de 4 bits.
  • ALU de dos operaciones, una aritmética (SUMA) y una lógica (NAND)

Si no conoces o no tienes muy claro alguno de estos términos o conceptos, no te preocupes, se explicarán detalladamente.

arquitectura-v2

Alejandro Alomar (SinapTec) es el autor, y pone a nuestra disposición una serie de vídeos en los que, con todo lujo de detalles, nos explica el Diseño de un Microprocesador Básico de 4 bits, que como veremos en los ejemplos de programación, tiene capacidad para controlar y mostrar números en displays LED de 7 segmentos, mensajes en un display LCD de 16×2 caracteres, leer un teclado básico, mover un motor paso a paso o interpretar sencillas melodías musicales.

Para programar este microprocesador básico de 4 bits se empleará un compilador de código ensamblador algo inusual. Se trata de una sencilla hoja de cálculo Excel con macros programados por Antonio Esquivel. Este detalle también te ayudará a entender, de manera práctica, qué es el lenguaje ensamblador, el lenguaje máquina y qué hace un compilador de programa.

Juego de Instrucciones Computadora 4 bits V2
Juego de Instrucciones del Microprocesador básico de 4 bits.

Antes de empezar, puedes descargar toda la documentación, esquemas de simulación, compilador de código ensamblador y programas de ejemplo en el siguiente fichero: Computadora de 4bits SinapTec.zip

Si no dispones de Excel en tu equipo, puedes bajar este fichero ZIP, que contiene las mismas hojas de cálculo utilizadas para compilar código ensamblador y los ejemplos de programación, pero en formato ODS, con macros ejecutables compatibles con las suites ofimáticas gratuitas OpenOffice y LibreOffice,

Capítulo 1Presentación y Objetivos.

Capítulo 2: Descripción de la Arquitectura de del microprocesador de 4 bits.

Capítulo 3: Funcionamiento del Contador de Programa (Program Counter o PC).

Capítulo 4: Funcionamiento de la Memoria de Programas (ROM).

Capítulo 5: Funcionamiento de la Unidad Aritmética Lógica (ALU), encargada de realizar las operaciones aritméticas y lógicas en el microprocesador.

Capítulo 6: Funcionamiento de los Registros y Buffers.

Capítulo 7: Implementación del Microcódigo y Lenguaje Máquina.

Capítulo 8: Ejemplos de Programación.

6 comentarios en “Diseño de un microprocesador básico de 4 bits

  1. Excelente informacion llevo años programando diferentes tipos de microcontroladores en el área de domótica, pero nunca me interesaba en como funcionaban los micros, solo ayer 12 de agosto del 2020 en donde me interese por conocer en profundida como funcionan aunque tenia conceptos como el pipeline no les daba nada de importancia solo programar en C simular y al proyecto final. Pero estos videos que solo he visto uno y veo que son varios me llenan de emocion pues realmente me parecen excelentes y su manera de explicar es excelente, gracias por compartir y en especial por compartir los archivos. Saludos desde mi amada Venezuela.

  2. Se podría crear un compilador utilizando Java ? lo estuve intentando pero no logra realizar las señales de control

Deja un comentario