Skip to main content

¿Qué es el acceso directo a la memoria?

El acceso directo a la memoria, a veces llamado DMA, es un método para transferir datos desde la memoria de acceso aleatorio a otra parte de una computadora sin ocupar la unidad central de procesamiento. Esta capacidad está integrada en la mayoría de los sistemas informáticos modernos. Permite que la computadora realice múltiples tareas a la vez, en última instancia, hace que la computadora sea más rápida.

Así como el propietario de una pequeña empresa se ocupa de todos los informes e información que entran o salen de su oficina, la unidad central de procesamiento de una computadora debe procesar todas las entradas o salidas de la computadora. Antes del acceso directo a la memoria, la descarga o carga de datos ocupaba toda la atención del procesador central. Solo podía hacer una tarea a la vez.

Una computadora con acceso directo a memoria habilitado es como el dueño de una pequeña empresa con un par de asistentes. En lugar de tratar con toda la información directamente, la unidad central de procesamiento puede delegar la tarea al controlador de acceso directo a la memoria. Este es un dispositivo integrado en la placa base que supervisa las operaciones de acceso directo a la memoria. La unidad central de procesamiento es libre de realizar otras tareas mientras se realiza la carga o descarga. Cuando se completa la tarea delegada, el controlador DMA le dice a la unidad central de procesamiento.

Cada puerto en una computadora tiene al menos un canal de acceso directo a la memoria que puede asignarse a dispositivos conectados a través de ese puerto. Para que funcione correctamente, cada dispositivo debe tener asignado un canal diferente. La mayoría de las tarjetas que se pueden instalar en una computadora, como tarjetas de sonido, de red o de video, pueden usar el acceso directo a la memoria para realizar sus tareas.

Los procesadores multinúcleo también pueden usar el acceso directo a la memoria. Generalmente tienen un tipo de memoria temporal llamada memoria local o de memoria virtual. Cuando se completa la acción en la que están trabajando, pueden transferir los datos de la memoria local a la memoria principal utilizando un canal de memoria de acceso directo.

El inconveniente de depender de DMA es que puede causar lo que se llama una pérdida de coherencia de caché. Básicamente, esto significa que los datos se mueven todo el tiempo y pueden almacenarse en múltiples ubicaciones temporales. El problema con esto es que cuando se le pide a la computadora que acceda a la información, es posible que no acceda a la información más reciente. Los fabricantes de computadoras pueden lidiar con esto utilizando hardware especial o programando el sistema operativo para evitar la pérdida de coherencia de la memoria caché.