CPU Simple de 4 Bits
Construye un CPU completo de 4 bits a partir de los componentes que has creado—contador de programa, registros, ALU y lógica de control trabajando juntos.
Overview
Este es el proyecto culminante—combinando todos los bloques de construcción digitales en una computadora funcional. Tu CPU buscará instrucciones en la ROM, las decodificará, ejecutará operaciones en la ALU, almacenará resultados en registros y usará el contador de programa para secuenciar a través de tu programa. Es una computadora real y funcional construida con lógica básica.
Components Needed
- 1x SN74LS181 IC (ALU)
- 2x SN74HC161 IC (Contador)
- 2x SN74HC374 IC (Registro)
- 2x SN74HC138 IC (Decodificador)
- 4x SN74HC153 IC (MUX)
- severalx Varios ICs de compuertas lógicas
- 1x 28C16 EEPROM
- 16x LED
- manyx Cables
Instructions
Definir la Arquitectura
Planifica tu CPU: ancho de datos de 4 bits, instrucciones de 8 bits (opcode de 4 bits + operando de 4 bits), 2 registros de propósito general (A y B), ALU basada en acumulador, 256 bytes de memoria de programa.
Diseñar el Conjunto de Instrucciones
Crea 8-16 instrucciones: LOAD, STORE, ADD, SUB, AND, OR, JUMP, JUMP_IF_ZERO, HALT, etc. Documenta la codificación binaria de cada una.
Construir la Ruta de Datos
Conecta PC → ROM → Registro de Instrucción → Decodificador. Conecta los registros a la ALU a través de MUXes. Conecta la salida de la ALU de vuelta al archivo de registros y la interfaz de memoria.
Implementar la Lógica de Control
Construye el decodificador de instrucciones para generar señales de control. Conecta las señales de control a las habilitaciones de carga de registros, selectores de MUX, función de la ALU y lectura/escritura de memoria.
Escribir un Programa de Prueba
Crea un programa simple en código máquina: cargar valores, sumarlos, almacenar el resultado. Programa la EEPROM con tu código máquina.
Probar y Depurar
Usa el reloj paso a paso para observar la ejecución de cada instrucción. Monitorea los buses de datos, el contenido de los registros y las señales de control. Depura los problemas una instrucción a la vez.
Challenges
- Añade más instrucciones (desplazamiento, comparación, llamada/retorno)
- Implementa ramificaciones condicionales basadas en banderas de la ALU
- Añade capacidad de interrupciones
- Expande a una ruta de datos de 8 bits
- Construye un ensamblador para convertir ensamblador a código máquina