ACCESO DIRECTO A MEMORIA (D.M.A)
Junto con el procesador y el conjunto de módulos de memoria, el tercer elemento clave del computador es un conjunto de módulos de ENTRADA/SALIDA. Cada módulo se conecta al bus del sistema o a un conmutador central y controla uno o más dispositivos periféricos. Un módulo E/S no es únicamente un conector mecánico que permite enchufar el dispositivo al bus delsistema sino que además está dotado de cierta inteligencia, es decir, contiene lógica necesaria para permitir la comunicación entre el periférico y el bus.
El acceso directo a memoria (DMA, del inglés direct memory access) permite a cierto tipo de componentes de una computadora acceder a la memoria del sistema para leer o escribir independientemente de la unidad central de procesamiento (CPU)principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido.
Inconvenientes de la E/S programada y con interrupciones.
La E/S con interrupciones, aunque más eficiente que la sencilla E/S programada, también requiere la intervención activa del procesador para transferir datos entre la memoria y el módulo de E/S ypuede transferir datos entre la memoria y el módulo de E/S, y cualquier transferencia de datos debe seguir un camino a través del procesador. Por tanto, ambas formas de E/S presentan dos convenientes inherentes:
1. La velocidad de transferencia E/S está limitada por la velocidad a la cual el procesador puede comprobar y dar servicio a un dispositivo.
2. El procesador debe dedicarse a la gestión delas transferencias de E/S; se debe ejecutar cierto número de instrucciones por cada transferencia de E/S.
Existen ciertos compromisos entre estos dos inconvenientes. Considérese una transferencia de un bloque de datos. Utilizando E/S programada, el procesador se dedica a la tarea de la E/S y puede transferir datos a alta velocidad al precio de no hacer nada más, la E/S con interrupciones liberaen parte al procesador, a expensas de reducir la velocidad de E/S.
Cuando hay que transferir grandes volúmenes de datos se requiere una técnica más eficiente: Acceso directo a memoria (DMA).
Funcionamiento del DMA.
El DMA requiere un módulo adicional en el bus del sistema. El modulo o controlador de dma es capaz de imitar al procesador y de hecho, de recibir el control del sistema cedido porel procesador. Cuando el procesador desea leer o escribir un bloque de datos, envía una orden al módulo de dma, incluyendo la siguiente información:
Si se solicita o una escritura utilizando la línea de control de lectura o escritura entre el procesador y el módulo de dma.
• La dirección del dispositivo de E/S en cuestión, indica a través de las líneas de datos.
• La posición inicial de memoriaa partir de donde se lee o se escribe, indicada a través de las líneas de datos y almacenada por el módulo de DMA en su registro de direcciones.
• El número de palabras a leer o escribir, también indicado a través de la líneas de almacenado en el registro de cuenta de datos
Después, el procesador continúa con otro trabajo. Ha delegado la operación de E/S al módulo de DMA, que se encargara deella. El módulo de DMA transfiere el bloque completo de datos, palabras a palabras, directamente se ha terminada, el módulo de DMA envía una señal de interrupción al procesador. Así pues, el procesador solo interviene al comienzo y al final de la transferencia.
Controlador de DMA 8237A de INTEL
Este controlador proporciona la interfaz necesaria para realizar el acceso directo a la memoria DRAMen los computadores basados en procesadores de la familia 80x86. Cuando el módulo DMA necesita utilizar los buses para transferir datos, envía una señal denominada HOLD al procesador. El procesador responde con la señal HLDA, para indicar al módulo de dma que puede utilizar los buses.
El 8237 tiene un conjunto de cinco registros de control para programar y controlar la operación de DMA en...
Regístrate para leer el documento completo.