Los registros internos de un controlador de acceso directo a memoria (DMA) son:
1. Base Address Register (16 bit) 2. Base Word Count Register (16 bit) 3. Current Address Register (16 bit) 4. Current Word Count Register (16 bit) 5. Temporary Address Register (16 bit) 6. Temporary Word Count Register (16 bit) 7. Status Register (8 bit) 8. Command Register (8 bit) 9. Temporary Register (8 bit) 10. Mode Register (8 bit) 11. Mask Register (4 bit) 12. Request Register (4 bit)
Estos se explican a continuación a continuación.
- Registro de dirección base:
Es un registro de 16 bits que almacena la dirección inicial desde donde se realizará la transferencia de datos en un controlador DMA. Se utiliza para recargar el Registro de dirección actual después de cada operación. - Registro Base Word Count:
Es un registro de 16 bits que almacena el número de transferencias a realizar durante una operación. Se utiliza para recargar el registro de recuento de palabras actual después de cada operación. - Registro de dirección actual:
es un registro de 16 bits que almacena la dirección de memoria para la transferencia de datos DMA. El valor aumenta o disminuye automáticamente después de cada operación en función de cómo esté programado. Cada canal tiene su propio registro de dirección actual. - Registro de conteo de palabras actual:
Es un registro de 16 bits que almacena el número de transferencias que quedan por realizar durante una operación. El valor disminuye automáticamente después de cada operación. - Registro de dirección temporal:
es un registro de 16 bits que almacena la dirección de los datos durante la transferencia de memoria a memoria en un controlador DMA. - Registro de conteo de palabras temporal:
es un registro de 16 bits que almacena el número de transferencias que se realizarán durante una transferencia de memoria a memoria en un controlador DMA. - Registro de estado:
es un registro de 8 bits que indica qué canal se encuentra actualmente bajo los servicios de DMA o qué canales han llegado a su cuenta de terminales. Básicamente da el estado de los canales. Los bits de conteo de terminales (TC) indican si el canal ha alcanzado su conteo de terminales. Si se alcanza el número de terminales, las transferencias finalizan. - Registro de comando:
es un registro de 8 bits que programa la operación DMA e inicializa el canal que se utilizará para la transferencia de datos. - Registro temporal:
es un registro de 8 bits que contiene datos durante la transferencia de datos de memoria a memoria. Siempre contiene el último byte transferido en la memoria anterior a la operación de transferencia de memoria. - Registro de modo:
Es un registro de 8 bits que determina el modo de operación, es decir, el modo de transferencia y otros parámetros de transferencia, para un canal. Cada canal tiene su propio registro de modo que se selecciona mediante las posiciones de bit 0 y 1. - Registro de máscara:
es un registro de 4 bits que se utiliza para enmascarar un canal para que no solicite los servicios DMA. Cuando la máscara en un canal está CONFIGURADA, el canal está deshabilitado. Establece o borra todas las máscaras en todos los canales con un solo comando. - Solicitud de registro:
es un registro de 4 bits que se utiliza para solicitar la transferencia de datos DMA por parte del software. Determina qué canal está solicitando la transferencia de datos.