Interfaz de Memoria en el Microprocesador 8086: Guía Técnica Completa

Arquitectura de Interfaz de Memoria del 8086

La interfaz de memoria del 8086 gestiona la comunicación entre la CPU y la memoria externa (RAM/ROM) a través de su espacio de direcciones de 1 MB (bus de direcciones de 20 bits).

1. Decodificación de Direcciones

El 8086 emite direcciones de 20 bits (A0–A19) a través de AD0–AD15 multiplexados y A16–A19. La decodificación selecciona chips de memoria específicos:

  • Decodificación completa: Todos los 20 bits decodificados – dirección única para cada ubicación (sin sombras)
  • Decodificación parcial: Menos bits decodificados – hardware más simple, pero direcciones sombra (alias)

Ejemplo: RAM de 64 KB en 00000H–0FFFFH, ROM de 32 KB en F8000H–FFFFFH

 RAM_CS = A19'·A18'·A17'·A16' (0000xxxx xxxx xxxx) ROM_CS = A19·A18·A17·A16 (1111xxxx xxxx xxxx) 

2. Generación de Señales de Control

El 8086 emite señales de estado (S0–S2) decodificadas por el Controlador de Bus 8288 en:

  • MRDC (Comando de Lectura de Memoria)
  • MWTC (Comando de Escritura de Memoria)
  • DEN (Habilitación de Datos – dirección del transceptor)
  • DT/R (Transmisión/Recepción de Datos)
  • ALE (Habilitación de Bloqueo de Dirección – desmultiplexación del bus AD)

3. Temporización de Lectura/Escritura

  • T1: Dirección en AD0–AD15, A16–A19; ALE bloquea la dirección
  • T2: Bus de datos tristatado; MRDC/MWTC activado
  • T3: La memoria coloca datos (lectura) / la CPU impulsa datos (escritura)
  • T4: Señales desactivadas; ciclo termina
  • Estados de espera (Tw) insertados mediante READY para memoria lenta

4. Cambio de Banco y Expansión

  • El 8086 ve 1 MB máximo; el cambio de banco mapea >1 MB paginando bancos en ventanas de direcciones
  • Implementado mediante un latch que controla las líneas de dirección altas (A19–Axx)
  • Usado en sistemas embebidos, extensores de DOS (EMS/XMS)

5. Componentes Clave de la Interfaz

  • 8282/8283: Bloqueos de dirección (desmultiplexan el bus AD)
  • 8286/8287: Transceptores de datos (buffer D0–D15)
  • 8288: Controlador de bus (genera MRDC, MWTC, IORC, IOWC)
  • Decodificadores (74LS138, PAL/GAL): Selecciones de chip a partir de bits de dirección altos

6. Modo Mínimo vs Modo Máximo

  • Modo Mínimo (MN/MX=1): El 8086 genera señales de control directamente (sin 8288)
  • Modo Máximo (MN/MX=0): Se requiere 8288; soporta multiprocesamiento (LOCK, RQ/GT)

Una interfaz de memoria adecuada garantiza un acceso a datos confiable y oportuno—el fundamento de la operación del sistema 8086.