Interfaz de Memoria
Construye una interfaz de memoria con decodificación de direcciones y bus de datos—conectando tu CPU a la RAM y la ROM.
Overview
Un CPU necesita memoria—ROM para el código del programa y RAM para los datos. La interfaz de memoria maneja la decodificación de direcciones (seleccionando el chip correcto), la gestión del bus de datos (lectura/escritura) y la temporización. Este proyecto conecta múltiples chips de memoria a un bus de direcciones y datos compartido.
Components Needed
- 1x 28C16 EEPROM o similar
- 1x 6116 SRAM o similar
- 1x SN74HC139 IC (Decodificador de Direcciones)
- 1x SN74HC245 IC (Transceptor de Bus)
- 8x LED
- severalx Cables
Instructions
Planificar el Mapa de Memoria
Decide cómo dividir el espacio de direcciones: por ejemplo, 0x00-0x7F para ROM (128 bytes), 0x80-0xFF para RAM (128 bytes). El MSB selecciona ROM vs RAM.
Conectar la Decodificación de Direcciones
Usa el 74HC139 para decodificar el(los) bit(s) superiores de la dirección. Conecta las salidas a los pines de selección de chip de la ROM y la RAM.
Conectar el Bus de Datos
Conecta los pines de datos de ambos chips de memoria a un bus compartido de 8 bits. Añade el transceptor 74HC245 para control de dirección y almacenamiento temporal.
Probar Lectura/Escritura
Programa previamente algunos valores en la EEPROM. Léelos configurando las direcciones. Prueba la RAM escribiendo y leyendo valores de vuelta.
Challenges
- Añade más chips de memoria para expandir el espacio de direcciones
- Implementa E/S mapeada en memoria para periféricos
- Añade estados de espera para memoria más lenta
- Construye un puntero de pila para acceso a memoria de pila