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

  1. 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.

  2. 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.

  3. 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.

  4. 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