Sie sind auf Seite 1von 3

ACCESO DIRECTO A MEMORIA

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
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.

PROBLEMAS DE COHERENCIA EN LA MEMORIA CACH
La DMA puede llevar a problemas de coherencia de cach.
Imagine una CPU equipada con una memoria cach y una
memoria externa que se pueda acceder directamente por los
dispositivos que utilizan DMA. Cuando la CPU accede a X lugar
en la memoria, el valor actual se almacena en la cach. Si se
realizan operaciones posteriores en X, se actualizar la copia en
cach de X, pero no la versin de memoria externa de X. Si la
cach no se vaca en la memoria antes de que otro dispositivo
intente acceder a X, el dispositivo recibir un valor caducado
de X.
Del mismo modo, si la copia en cach de X no es invalidada
cuando un dispositivo escribe un nuevo valor en la memoria,
entonces la CPU funcionar con un valor caducado de X.
Este problema puede ser abordado en el diseo del sistema de
las siguientes dos formas:
Los sistemas de cach coherente implementan un mtodo
en el hardware externo mediante el cual se escribe una seal
en el controlador de cach, la cual realiza una invalidacin
de la cach para escritura de DMA o cach de descarga
para lectura de DMA.
Los sistemas no-coherente dejan este software, donde el
sistema operativo debe asegurarse de que las lneas de
cach se vacan antes de que una transferencia de salida de
DMA sea iniciada y anulada antes de que una parte de la
memoria sea afectada por una transferencia entrante de
DMA que se haya requerido. El sistema operativo debe
asegurarse de que esa parte de memoria no es accedida
por cualquier subproceso que se ejecute en ese instante. Este
ltimo enfoque introduce cierta sobrecarga a la operacin
de DMA, ya que la mayora de hardware requiere un bucle
para invalidar cada lnea de cach de forma individual.
Los hbridos tambin existen, donde en la cach secundaria L2
es coherente, mientras que en la cach L1 (generalmente la
CPU) es gestionado por el software.

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: Direccin de memoria de la regin de datos de E/S IOBUF
(buffer de entrada/salida).
WC: Nmero N de palabras de datos a transferir.
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.












Alumno: Henry Estuardo Florin Njera
Carnet: 0905 09 7568









Universidad Mariano Glvez de Guatemala
Campus Jutiapa
Catedra: Arquitectura de Computadoras
Catedrtico: Ing. Cesar Lzaro

Jutiapa 30 de agosto de 2014

Das könnte Ihnen auch gefallen