Professional Documents
Culture Documents
Arquitectura de computadoras
ENERO-JUNIO 2018
Conclusión ....................................................................................................................................... 8
DMA
Introducción
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). Muchos sistemas
hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y
tarjetas de sonido. DMA es una característica 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.
1|Página
Funcionamiento
El DMA le solicita al CPU que libere los buses por medio de la línea HOLD. Cuando el
CPU libera los buses, le avisa al controlador de DMA que puede utilizar los buses, por
medio de la línea HLDA (handshaking).
El DMA hace la transferencia entre la unidad de disco y la memoria.
Etapas de una transferencia
Inicialización de la transferencia
Inicialización del controlador DMA (Bus Maestro: CPU - Bus Esclavo: DMAC)
2|Página
Después de la inicialización la CPU retorna a sus tareas y ya no se preocupa más de la evolución
de la transferencia.
Realización de la transferencia
Cuando el periférico está listo para realizar la transferencia se lo indica al DMAC
El DMAC pide el control del bus y se realiza la transferencia entre el periférico y la
memoria.
Finalización de la transferencia
El DMAC suele activar una señal de interrupción para indicar a la CPU la finalización de la
operación de E/S solicitada
3|Página
CONFIGURACIONES DEL DMAC
Bus único DMA independiente
4|Página
DMA a memoria
La CPU es suspendida una vez
5|Página
Características generales del DMA
Aquellas computadoras que tienen canales DMA pueden transferir datos desde y hacia
los dispositivos con menos utilización de CPU que aquellas computadoras sin canales
DMA. Básicamente 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.
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 versión de memoria externa de X. Si la
caché no se vacía 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.
6|Página
TIPOS DE DMA
Requiere poca utilización del CPU. Esta estrategia utiliza uno o más ciclos de CPU para cada
instrucción que se ejecuta. Esto permite alta disponibilidad del bus del sistema para la CPU,
aunque la transferencia de datos se hará más lentamente.
VENTAJAS:
DESVENTAJAS:
Si la unidad de disco es muy lenta, entonces el DMA devuelve el control al CPU y cada
vez que la unidad de disco está lista, el DMA le “roba” un ciclo al CPU. Obsérvese que el
DMA puede “congelar” al CPU en diferentes puntos dentro de un Ciclo de Instrucción.
Cosa que el sistema de interrupciones no puede hacer.
DMA POR RÁFAGAS Consiste en enviar el bloque de datos solicitado utilizando una ráfaga
empleando el bus del sistema hasta finalizar la transferencia. Por lo tanto, tiene una altísima
velocidad, pero la CPU no podrá utilizar el bus de sistema durante el tiempo de transferencia, por
lo que permanece inactiva.
7|Página
VENTAJAS:
DESVENTAJAS:
Durante el tiempo que dura la transferencia la CPU no puede utilizar el bus con memoria,
lo que puede degradar el rendimiento del sistema.
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 más baja posible.
8|Página
Conclusión
La DMA tiene una gran importancia en los pc actuales ya que vendría siendo como un asistente del
CPU que se encarga de ayudarle a realizar ciertas tareas y así evitar que el CPU se ocupe en ellas,
ya que sin ella creo que tendría que copiar cada dato desde su comienzo hasta que finaliza y esto
lo ocuparía además de que no estaría disponible para hacer otras tareas.
Bibliografías
https://conceptosarquitecturadecomputadoras.wordpress.com/acceso-directo-a-memoria-dma/
http://tareasuniversitarias.com/estructura-y-funcionamiento-de-un-controlador-de-dma.html
http://www.alegsa.com.ar/Dic/acceso_directo_a_memoria.php
https://es.wikipedia.org/wiki/Acceso_directo_a_memoria#Motor_de_acceso_directo_a_memoria
9|Página