Un equipo se basa en un conductor, un programa de software que interactúa con el hardware , para operar DMA . Controladores DMA emplean tres espacios diferentes de memoria : La memoria virtual de apoyo por parte del procesador , el espacio de direcciones lógico en el que el conductor se encuentra la información, y el espacio de almacenamiento físico real en la memoria de acceso aleatorio del ordenador. Espacio de direcciones lógico no siempre coincide con la disposición física de la memoria RAM , por lo que el conductor necesita el registro para trazar la relación entre los dos espacios .
Direcciones lógicas
los equipos utilizan direcciones lógicas ya que el espacio de memoria RAM disponible y serán dispersadas a través de la dirección de memoria física. Eso no funciona para los procesos informáticos que necesitan un bloque contiguo de memoria para ejecutarse . Direcciones lógicas proporcionan bloques contiguos de espacio de memoria , incluso si el almacenamiento físico se dispersa . El controlador de DMA no se puede conectar directamente a la dirección física , por lo que tiene que pasar por la memoria lógica o virtual. Las direcciones físicas siguen siendo indispensables como los procesos necesitan memoria física para trabajar .
Mapa Registros
Hardware Abstraction Layer de cada equipo o HAL , que media entre el hardware y el software , las tiendas uno o varios registros del mapa . Cada mapa de registros se conecta un rango de direcciones lógicas a las direcciones físicas correspondientes . Un solo mapa de registro asigna un mínimo de 1 byte de datos y un máximo de una página física completa de datos : Operación que consiste en almacenar tres páginas de datos necesitarán tres registros de mapa . Cada objeto adapter - una herramienta que el controlador utiliza para interactuar con el sistema - tiene por lo menos un registro de asignación disponibles
Tamaño
Direccionamiento lógico puede parecer más complicado. que el uso de memoria física directa , pero en cierto modo , es más sencillo . Búsqueda de información en las direcciones físicas requiere buscar a través de 4 GB o más de RAM, algo más allá de la capacidad de muchos conductores . Direcciones lógicas abarcan un espacio mucho más pequeño , lo que hace que sea más fácil y rápido para los conductores a buscar los datos allí, dejando el mapa regístrese para localizar los datos de la dirección física correspondiente.