0% encontró este documento útil (0 votos)
128 vistas8 páginas

Transferencia de Datos con DMA

La transferencia DMA permite a dispositivos acceder directamente a la memoria sin involucrar a la CPU, mejorando el rendimiento. Una transferencia DMA copia un bloque de memoria de un dispositivo a otro bajo control del controlador DMA. La CPU inicializa el controlador DMA con la dirección de memoria, cuenta de bytes y modo de transferencia, luego el controlador DMA realiza la transferencia de forma independiente hasta completar el bloque.

Cargado por

zapolox
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
128 vistas8 páginas

Transferencia de Datos con DMA

La transferencia DMA permite a dispositivos acceder directamente a la memoria sin involucrar a la CPU, mejorando el rendimiento. Una transferencia DMA copia un bloque de memoria de un dispositivo a otro bajo control del controlador DMA. La CPU inicializa el controlador DMA con la dirección de memoria, cuenta de bytes y modo de transferencia, luego el controlador DMA realiza la transferencia de forma independiente hasta completar el bloque.

Cargado por

zapolox
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Universidad Mayor de San Andrs

Facultad de Ingeniera
Ing. Electrnica

Diseo y Organizacin de computadoras


ETN 825

TRANSFERENCIA DMA

Estudiante: PABLO IVAN ZAMORA MERCADO


Docente: Ing. JORGE LEON
FECHA: 11/10/2010

Introduccion.
El acceso directo a memoria (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. Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de
disco, tarjetas grficas y tarjetas de sonido. 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.
Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a
otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador
DMA. Un ejemplo tpico es mover un bloque de memoria desde una memoria externa a una interna ms
rpida. Tal operacin no ocupa el procesador y como resultado puede ser planificado para efectuar
otras tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que
requieran muchos recursos.
Cabe destacar que aunque no se necesite a la CPU para la transaccin de datos, s que se necesita el bus
del sistema (tanto bus de datos como bus de direcciones), por lo que existen diferentes estrategias para
regular su uso, permitiendo as que no quede totalmente acaparado por el controlador DMA.
Funcionamiento.
La transferencia de datos entre un dispositivo de almacenamiento masivo,tal como el disco
magnetico o cinta magnetica y el sistema de memoria se limita a menudo por la velocidad del
microprocesador. Desconectando el procesador durante la transferencia y dejando que el dispositivo
periferico maneje la transferencia directamente a la memoria mejoraria la velocidad de la transferencia
y se jaria el sistema mas eficiente. Esta tecnica de transferencia se llama DMA(acceso directo de
memoria). Durante la transferencia DMA el procesador estara inactivo de manera que no tenga control
del bus del sistema. Un controlador DMA acciona los buses para manejar la transferencia directamente
entre el dispositivo periferico y la memoria.
El microprocesador se puede hacer que quede inactivo de muchas maneras . El metodo ms comun
es habilititar los buses mediante una senal de control especial:

La figura muestra dos senales de control usadas para la transferencia DMA. EI terminal de entrada
de requisicin de bus(BR ) en el ALTO, es una peticin al microprocesador para habilitar sus buses. El

microprocesador termina la ejecucin de su instruccin presente y luego coloca sus buses, incluyendo la
lnea RD(lectura) y WR (escritura) en un estado de alta impedancia. Cuando esto se hace, el procesador
coloca la salida de bus garantizado (BG) en el estado 1. Durante el tiempo en que (BG)= I el
microprocesador estar inactivo y su bus inhabilitado. El procesador regresa a su operacin normal
despus de que la lnea BR regrese a 0 haciendo regresar su lnea BG a 0 e inhabilitando los buses. La
lnea de requisicin de buses se denomina algunas veces comando de retencin y la
garanta de bus como un reconocimiento de retencin (hold acknowledge).
Tan pronto como (BG)=1, el controlador DMA puede tomar el control del sistema de buses para
comunicarse directamente con la memoria. La trasferencia puede hacerse para todo un bloque de
palabras de memoria, suspendiendo la operacin del procesador hasta que sea trasferido todo El
bloque. La trasferencia puede hacerse palabra a palabra entre ejecuciones de instrucciones del
microprocesador. Tal trasferencia se llama toma de
ciclo (cycle stealing). El procesador solamente demora su operacin por un ciclo de memoria para
permitir la trasferencia I/O directa de memoria para tomarse un ciclo de memoria.
El controlador DMA necesita los circuitos usuales de una interconexin para comunicarse con el
microprocesador. Adems necesita un registro de direcciones, un registro contador de bytes y un grupo
de lneas de direcciones. El registro y lneas de direcciones se usan para comunicacin directa con el
sistema RAM. El registro contador de palabras especifica el nmero de palabras que van a ser
trasferidas. La trasferencia de datos se hace comnmente en forma directa entre el dispositivo
perifrico y la memoria bajo control del DMA. La Figura muestra el diagrama de bloque de un
controlador DMA
Tpico:

La unidad comunica con el microprocesador v a el bus de datos y Ineas de control. Los registros en el
DMA son seleccionados para el microprocesador por medio de unas lneas de direcciones, habilitando
(CS) (seleccin de pastilla) y (RS) (seleccind e registro). Las lneas (RD) y (WR) en el DMA son
bidireccionales. Cuando (BG) =0, el microprocesador se comunica con el registro DMA a travs de la
barra de datos para leer o escribir en los registros DMA. Cuando (BG)= l, el DMA puede comunicarse
directamente con la memoria especificando una direccin en el bus de direcciones y activando su
control (RD) o (WR). El DMA se comunica con un dispositivo perifrico externo y a travs de las lneas de
requisicin y reconocimiento.
El controlador del DMA incluye tres registros: un registro de direccin,un registro contador de bytes y
un registro de control.
El registro de direcciones contiene 16 bits que especificaran la posicin deseada en la memoria.
Los bits de la direccin pasan a travs de un separador de buses y van a parar al bus de direcciones, El
registro de direcciones , se incrementa despus de cada trasferencia de byte DMA. El registro contador
de bytes almacenara el nmero de bytes que se van a transferir. Este registro se decrementa despus de
la trasferencia de cada byte y se comprueban internamente los ceros. El registro de control especifica el
modo de trasferencia, bien sea hacia la memoria (escritura) o hacia afuera de ella (lectura). Todos los
registros en el DMA actan para el microprocesador como una interconexin I/O As, el procesador
puede leer o escribir en los registros DMA bajo el programa de control, va el bus de datos.
El DMA se inicia primero por el microprocesador. Despus de ello el DMA comienza y contina la
trasferencia de datos entre la memoria y la unidad perifrica hasta que se trasfiera un bloque completo.
El proceso de inicio es esencialmente un programa que consiste de instrucciones I/O que incluyen la
direccion DMA para seleccionar los registros particulares.
El microprocesador inicia el DMA enviando la siguiente informacina travs
del bus de datos:
1. La direccin de comienzo del bloque de memoria donde los datos estn
disponibles (para lectura) o donde los datos estn almacenados
(para escritura).
2. La cuenta de byte, la cual es el nmero de bytes en er bloque de memoria.
3. Los bits de control para especificar una trasferencia de lectura o
escritura.
4. Un bit de control para iniciar el DMA.

La direccin de comienzo se almacena en el registro de direcciones DMA. La cuenta de byte, se


almacena en el registro de cuenta de bytes DMA y los bits de control son almacenados en el registro de
control del DMA. Una vez que se inicie el DMA, el microprocesador detiene la comunicacin con
el DMA a no ser que reciba una seal de interrupcin o si ste quiere comprobar cuntos bytes han sido
trasferidos.
La posicin del controlador DMA entre otros componentes en un sistema de microcomputador se ilustra
en la Figura:

E l microprocesador se comunica con el controlador DMA por medio del bus de datos y direcciones
como con la unidad de interconexin. El DMA tiene sus propias, direcciones las cuales activan las lneas
CS y RS. El microprocesador inicia el DMA mediante el bus de datos. Una vez que el DMA recibe el bit de
control para iniciar, puede comenzarla trasferencia entre el dispositivo perifrico y el sistema RAM.
Cuando el dispositivo perifrico enva una requisicin al DMA, el controlador DMA activa su lnea BR
para informar al procesador la liberacin del bus de buses. El microprocesador responde con su lnea BG
informando al DMA que sus buses estn inhabilitados. El DMA coloca entonces el valor corriente de su
registro de direcciones en el bus de direcciones, inicia la seal RD o WR y enva un reconocimiento DMA
al dispositivo perifrico.
El dispositivo perifrico coloca entonces un byte en el bus de datos (para escritura) o recibe un byte del
bus de datos (para lectura). As, el DMA controla la operacin de lectura y escritura y suministra la
direccin para ia memoria. La unidad perifrica puede comunicarse entonces con la RAM por medio del
bus de datos para la trasferencia directa entre dos unidades mientras que el procesador se inhabilita
normalmente.

Para cada byte que se trasfiere el DMA incrementa su registro de direcciones y decrementa su registro
de cuenta de byte. Si el registro de cuenta de byte no llega a cero, el DMA comprueba la lnea de
requisicin que viene del perifrico. Para un perifrico de alta velocidad, esta lnea ser activada una vez
se haya completado la trasferencia previa. Se inicia entonces una segunda trasferencia y el proceso
contina hasta que se haya trasferido todo el bloque. Si la velocidad del perifrico es menor la lnea de
requisicin del DMA puede presentarse un poco tarde. En este caso, el DMA remueve la lnea de
requisicin de bus de manera que el microprocesador pueda continuar la eiecucin del programa.
cuando el perifrico requiere una trasferencia, el DMA solicita los buses de nuevo.
si el registro contador de bytes llega a cero, el DMA detiene cualquier trasferencia posterior y remueve
la requisicin de bus. Este informa tambin al microprocesador de la determinacin por medio de una
requisicin de interrupcin. Cuando el microprocesador responde a la interrupcinDMA, lee el
contenido del registro de cuenta de byte. El valor de cero de este registro indica que todos los bytes
fueron trasferidos sucesivamente. El microprocesador puede leer este registro en cualquier otro
momento y
comprobar el nmero de bytes ya trasferidos.
Propiedad de escalamiento
Un controlador DMA puede tener mas de un canal. En este caso, cada canal tiene un par de seales
de control, cada canal tiene tambin su registro propio y registro de cuenta de byte dentro del DMA.
Una prioridad puede ser establecida de manera que los canales de mayor prioridad sean servidos antes
que los de menor prioridad.
Tipos y modos de transferencia.
Para describir mejor los modos de trasferencia hacemos un diagrama mas general del controlador
DMA incluyendo los registros de enmascaramiento:

El modo de transferencia DMA mas rpido es llamado de direccin nica, o FLYBY en este
tipo de transferencia solo es usado un solo bus para completar la operacin,con Datos leidos
de la fuente y escritos de la direccin simultneamente.

El modo de transferencia Fetch and deposit ocupa dos ciclos de I/O usando tambien dos
buses.

Aplicaciones
La transferencia tiene muchas aplicaciones. Esta se usa para una transferencia rpida,de informacin
entre discos Floppy, USB Flash memory, CD,DVD y los sitemas de meoria interna,es til tambin para
sistemas interactivos de pantalla de televisin o una de sus principales aplicaciones las laptop o tambin
las redes de microcomputadoras.
Modulo DMAHC08 Proporcionado por TEXAS INSTRUMENT.

Descripcion Circuital del Modulo DMA.

También podría gustarte