Supongamos que cualquier dispositivo que esté conectado al puerto de entrada-salida quiera transferir datos a la memoria, en primer lugar enviará la dirección del puerto de entrada-salida y la señal de control, la lectura de entrada-salida al puerto de entrada-salida, luego enviará la dirección de la memoria y Señal de escritura de memoria a la memoria donde se deben transferir los datos. En la técnica de entrada-salida normal, el procesador se ocupa de verificar si alguna operación de entrada-salida se completó o no para la siguiente operación de entrada-salida, por lo tanto, esta técnica es lenta.
Este problema de transferencia lenta de datos entre el puerto de entrada y salida y la memoria o entre dos memorias se evita implementando la técnica de acceso directo a la memoria (DMA). Esto es más rápido ya que se omite el microprocesador/computadora y el control del bus de direcciones y el bus de datos se otorga al controlador DMA.
- ESPERA – señal de espera
- HLDA – acuse de recibo
- DREQ: solicitud de DMA
- DACK: acuse de recibo de DMA
Supongamos que una unidad de disquete que está conectada en el puerto de entrada y salida desea transferir datos a la memoria, se realizan los siguientes pasos:
- Paso 1: En primer lugar, la unidad de disquete enviará una solicitud de DMA (DREQ) a la DMAC, lo que significa que la unidad de disquete desea su servicio DMA.
- Paso 2: Ahora el DMAC enviará una señal HOLD a la CPU.
- Paso 3: Después de aceptar la solicitud de servicio DMA de DMAC, la CPU enviará un reconocimiento de retención (HLDA) a DMAC, lo que significa que el microprocesador ha liberado el control del bus de direcciones, el bus de datos a DMAC y el microprocesador/computadora se omite durante el servicio DMA.
- Paso 4: Ahora el DMAC enviará un reconocimiento (DACL) a la unidad de disquete que está conectada en el puerto de entrada y salida. Significa que DMAC le dice a la unidad de disquete que esté lista para su servicio DMA.
- Paso 5: Ahora, con la ayuda de la señal de lectura de entrada-salida y escritura de memoria, los datos se transfieren desde la unidad de disquete a la memoria.
Modos de DMAC:
1. Modo único: en este solo se usa un canal, lo que significa que solo un DMAC está conectado al sistema de bus.
2. Modo en cascada: en este se utilizan múltiples canales, podemos conectar en cascada más cantidad de DMAC.