0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)
31 Ansichten3 Seiten
El acceso directo a memoria (DMA) permite que dispositivos como tarjetas de sonido y discos duros accedan directamente a la memoria principal sin involucrar a la CPU. Esto evita sobrecargar a la CPU con interrupciones constantes. Sin embargo, la DMA puede causar problemas de coherencia en la memoria caché si no se gestiona correctamente. Los sistemas abordan esto implementando cachés coherentes con hardware o dejando la gestión al software a través del sistema operativo.
El acceso directo a memoria (DMA) permite que dispositivos como tarjetas de sonido y discos duros accedan directamente a la memoria principal sin involucrar a la CPU. Esto evita sobrecargar a la CPU con interrupciones constantes. Sin embargo, la DMA puede causar problemas de coherencia en la memoria caché si no se gestiona correctamente. Los sistemas abordan esto implementando cachés coherentes con hardware o dejando la gestión al software a través del sistema operativo.
El acceso directo a memoria (DMA) permite que dispositivos como tarjetas de sonido y discos duros accedan directamente a la memoria principal sin involucrar a la CPU. Esto evita sobrecargar a la CPU con interrupciones constantes. Sin embargo, la DMA puede causar problemas de coherencia en la memoria caché si no se gestiona correctamente. Los sistemas abordan esto implementando cachés coherentes con hardware o dejando la gestión al software a través del sistema operativo.
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