Buffers vs. Latches en sistemas de microprocesador

Buffer

Almacén temporal multi‑bit que suaviza el flujo de datos entre dispositivos que operan a distintas velocidades o anchos (p. ej., CPU ↔ UART, CPU ↔ DRAM). Implementado como FIFO o RAM de doble puerto.

Latch

Elemento de almacenamiento sensible a nivel de 1 bit (o palabra pequeña). Mantiene un valor mientras enable está activo; transparente cuando enabled. Usado para desmultiplextado de direcciones, registros de banderas, o estado a corto plazo.

Diferencias clave

AspectoBufferLatch
CapacidadMúltiples bytes/palabras1 bit a pocos bits
PropósitoMatching de tasa, absorción de ráfagasRetención de estado, captura de señal
ControlPunteros lectura/escritura, relojesEnable/clock de nivel

Ejemplos

  • Buffer: FIFO UART, caché de disco, buffer de reintento PCIe.
  • Latch: Latch de dirección (ALE), bandera de interrupción, registro de etapa de pipeline.