Anda di halaman 1dari 7

(Direct Memory Access o DMA).

El acceso directo a memoria es una caractersticas de las computadoras y microprocesadores modernos que permite que ciertos subsistemas de hardware dentro de la computadora puedan acceder a la memoria del sistema para la lectura y/o escritura, independientemente de la unidad central de procesamiento (CPU). De lo contrario, la CPU tendra que copiar cada porcin de dato desde el origen hacia el destino, haciendo que sta no est disponible para otras tareas. Los subsistemas de hardware que utilizan DMA pueden ser: controladores de disco duro, tarjetas grficas, tarjetas de red, tarjetas de sonido y tarjetas aceleradoras. Tambin es utilizado para la transferencia de datos dentro del chip en procesadores con mltiples ncleos. DMA es esencial en los sistemas integrados. Caractersticas generales del DMA Aquellas computadoras que tienen canales DMA pueden transferir datos desde y hacia los dispositivos con menos utilizacin de CPU que aquellas computadoras sin canales DMA. Bsicamente una transferencia DMA consiste en copiar un bloque de memoria de un dispositivo a otro. Esa transferencia se lleva a cabo por el controlador DMA, en lugar del CPU. El controlador DMA es generalmente un chipset de la placa madre. En computadoras sin DMA, el CPU generalmente se ocupa completo durante toda la operacin de lectura o escritura de la memoria y, por lo tanto, no est disponible para realizar otras tareas. Con DMA, el CPU puede iniciar la transferencia, luego realizar otras operaciones mientras la transferencia est en progreso y luego recibir una interrupcin del controlador de DMA una vez que la transferencia termina. Sin DMA se utiliza el modo PIO para la comunicacin de perifricos con la memoria y de instrucciones de load/store en el caso de chips con multincleos. DMA es til en aplicaciones en tiempo real y en el procesamiento de flujos de datos. Tipos de transferencia DMA o Acceso directo a memoria * DMA por robo de ciclo: es uno de los mtodos ms usados, ya que requiere poca utilizacin del CPU. Esta estrategia utiliza uno o ms ciclos de CPU para cada instruccin que se ejecuta. Esto permite alta disponibilidad del bus del sistema para la CPU, aunque la transferencia de datos se har ms lentamente. * DMA por rfagas: esta estrategia consiste en enviar el bloque de datos solicitado mediante una rfaga empleando el bus del sistema hasta finalizar la transferencia. Permite una altsima velocidad, pero la CPU no podr utilizar el bus de sistema durante el tiempo de transferencia, por lo que permanece inactiva. * DMA transparente: esta estrategia consiste en emplear el bus del sistema cuando la CPU no lo necesita. Esto permite que la transferencia no impida que la CPU utilice el bus del sistema; pero la velocidad de transferencia es la ms baja posible. * DMA Scatter-gather: esta estrategia permite transmitir datos a varias reas de memoria en una transaccin DMA simple. Equivale al encadenamiento de mltiples peticiones DMA

simples. Su objetivo es librar a la CPU la tarea de la copia de datos e interrupciones de entrada/salida mltiples. url = http://www.alegsa.com.ar/Dic/acceso%20directo%20a%20memoria.php

OTRA FUENTE: TECNOLOGICO DE ESTUDIOS SUPERIORES DE ECATEPEC (arquitectura de computadores) http://tese.edu.mx/tese2010/ (AADO SOLO LAS COSAS NUEVAS) CONTROLADOR DMA DMA, del ingls Direct Memory Access) permite a cierto tipo de componentes de ordenador acceder a la memoria del sistema para leer o escribir independientemente de la CPU principal. DMA es una caracterstica esencial en todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones.

SECUENCIA DE EVENTOS Una operacin de E/S por DMA se establece ejecutando una corta rutina de inicializacin. Consiste en varias instrucciones de salida para asignar valores iniciales a: AR: Direccion de memoria de la regin de datos de E/S (buffer de entrada/salida). WC: Nmero N de palabras de datos a transferir. IOBUF

Una vez inicializado, el DMA procede a transferir datos entre IOBUF y el dispositivo de E/S. Se realiza una transferencia cuando el dispositivo de E/S solicite una operacin de DMA a travs de la lnea de peticin del DMAC. Despus de cada transferencia, se decrementa el valor de WC y se incrementa el de AR. La operacin termina cuando WC=0, entonces el DMAC (o el perifrico) indica la conclusin de la operacin enviando al procesador una peticin de interrupcin.

OTRA FUENTE ESTA ES LA MAS DETALLADA

ACCESO DIRECTO A MEMORIA INCONVENIENTES DE LA E/S PROGRAMADAS Y CON INTERRUPCIONES La E/S con interrupciones, aunque mas eficiente que la sencilla E/S programada, requiere la intervencin activa del procesador para transferir datos entre la memoria y el modulo de E/S y cualquier transferencia de datos que debe seguir un camino a travs del procesador. INCONVENIENTES: La velocidad de transferencia de E/S esta limitada por la velocidad a la cual el procesador puede comprobar y dar servicio a un dispositivo. El procesador debe dedicarse a la gestin de la transferencia de E/S; se debe ejecutar cierto nmero de instrucciones por cada transferencia de E/S. FUNCIONAMIENTO DEL DMA El DMA requiere un mdulo adicional en el bus del sistema. Este es capaz de imitar al procesador y de recibir el control del sistema cedido por el procesador.

Necesita dicho control para transferir datos a, y desde memoria a travs del bus del sistema. Para hacerlo, el mdulo DMA debe utilizar el bus slo cuando el procesador no lo necesita, o debe forzar al procesador a que suspenda temporalmente su funcionamiento. Esta tcnica es la ms comn y se denomina robo de ciclo, puesto que el mdulo DMA roba un ciclo de bus.

Cuando el procesador desea leer o escribir un bloque de datos, enva una orden al mdulo de DMA, incluyendo la siguiente informacin. Si se solicita una lectura o escritura, utilizando la lnea de control de lectura o escritura entre el procesador y el mdulo DMA. La direccin del dispositivo de E/S en cuestin, indicada a travs de las lneas de datos. La posicin inicial de memoria a partir de donde se lee o se escribe, indicada a travs de la lneas de datos y almacenada por el mdulo de DMA en su registro de direcciones. El numero de palabras a leer o escribir, tambin indicado a travs de las lneas de datos y almacenando en el registro de cuenta de datos.

PUNTOS DE RUPTURA PARA EL DMA Y LAS INTERRUPCIONES EN UN CICLO DE INSTRUCCIN El mdulo de DMA transfiere el bloque completo de datos, palabra a palabra directamente desde o hacia, la memoria, sin que tenga que pasar a travs del procesador. Cuando a terminado la transferencia, el mdulo DMA enva una seal de interrupcin al procesador; pues este solo interviene al comienzo y al final de la transferencia. Nos muestra en que momento del ciclo de instruccin puede detenerse el procesador.

CONFIGURACIONES ALTERNATIVAS El DMA puede configurarse de diversas formas: nico Bus, DMA independiente Todos los mdulos comparten el mismo bus del sistema. El mdulo DMA , actuando como un procesador suplementario utiliza E/S programada para intercambiar datos entre la memoria y un modulo de E/S a travs de un mdulo DMA. Esta configuracin, si bien es la ms econmica, es claramente ineficiente, igual que con las e/s programadas controlada por el procesador , la transferencia de cada palabra consume dos ciclos de bus.

Bus nico, DMA-E/S integrados El numero de ciclos de bus necesarios puede reducirse sustancialmente si se integra las funciones de DMA y de E/S Existe un camino entre el mdulo de DMA y uno o mas mdulos de E/S que no incluye al bus del sistema. La lgica de DMA puede ser parte de un mdulo de E/S o puede ser un modulo separado que controla a uno o ms mdulos de E/S.

BUS DE E/S Los puntos anteriores se los lleva algo ms lejos conectando los mdulos de E/S a un modulo de DMA mediante un bus de E/S. Esto reduce a uno el nmero de interfaces de E/S en el modulo DMA , permite una configuracin fcilmente ampliable.

En todos estos casos, el bus del sistema, que el mdulo DMA comparte con el procesador y la memoria, es usado por el mdulo de DMA slo para intercambiar datos con la memoria . Este intercambio de datos entre los mdulos de DMA y E/S se produce fuera del bus del sistema. http://www.slideshare.net/imburguan/acceso-directo-a-memoria?from=fblanding