El documento describe el acceso directo a la memoria (DMA), que permite la transferencia de datos entre la memoria y los dispositivos de entrada/salida a una velocidad limitada sólo por la velocidad de los componentes de memoria. Explica los propósitos del DMA, los modos de transferencia (por robo de ciclo, por ráfaga, transparente y scatter-gather), y cómo se mide el ancho de banda de la memoria.
1. Acceso Directo
a la Memoria
Armando Bernal Montoya
Marisol Gallegos Chavarría
Erika Rodríguez Hernández
Diana Velásquez Chavarría
UNIVERSIDAD AUTÓNOMA
-DE NUEVO LEÓN
Facultad de Ciencias
Físico Matemáticas
2. ¿Qué es el DMA?
Es una técnica de entrada y salida que provee
acceso directo a la memoria mientras el
microprocesador esta temporalmente
deshabilitado.
Lo que permite que los datos sean transferidos
entre la memoria y el dispositivo de E/S a una
velocidad que está limitada sólo por la
velocidad de los componentes de memoria en
el sistema o el controlador de DMA.
3. ¿Qué es el DMA?
Propósitos:
Actualización de la DRAM
Actualizar pantallas de video
Sistema de disco de memoria para leer y
escribir
La transferencia DMA es usada también para
hacer transferencias de alta velocidad de
memoria a memoria.
4. Modos de Transferencia
Por robo de ciclo
Por ráfaga
Transparente
Scatter-gather
•Descripción: Esta estrategia
utiliza uno o más ciclos de
CPU para cada instrucción
que se ejecuta.
•Ventaja: Esto permite alta
disponibilidad del bus del
sistema para la CPU
•Desventaja: La transferencia
de datos se hará más
lentamente.
(Método común debido a la
poca utilización del CPU)
5. Modos de Transferencia
Por robo de ciclo
Por ráfaga
Transparente
Scatter-gather
•Descripción: Enviar el bloque
de datos solicitado mediante
una ráfaga empleando el bus
del sistema hasta finalizar la
transferencia.
•Ventaja: Permite una altísima
velocidad.
•Desventaja: La CPU no podrá
utilizar el bus de sistema
durante el tiempo de
transferencia, por lo que
permanece inactiva.
6. Modos de Transferencia
Por robo de ciclo
Por ráfaga
Transparente
Scatter-gather
•Descripción: Emplear el bus
del sistema cuando la CPU no
lo necesita.
•Ventaja: Permite que la
transferencia no impida que
la CPU utilice el bus del
sistema
•Desventaja: La velocidad de
transferencia es la más baja
posible
7. Modos de Transferencia
Por robo de ciclo
Por ráfaga
Transparente
Scatter-gather
•Descripción: Transmitir datos a
varias áreas de memoria en
una transacción DMA simple.
•Ventaja: Equivale al
encadenamiento de múltiples
peticiones DMA simples.//
Libra a la CPU la tarea de la
copia de dato e
interrupciones de E/S
múltiples.
8. Ancho de Banda
El ancho de banda de la memoria es el ratio en
el que los datos pueden ser leídos o
almacenados en la memoria por un
procesador. El ancho de banda de la memoria
es generalmente expresado en unidades de
bytes por segundo.
Formas de medir la cantidad de datos
transferidos en bytes por segundo: BCOPY,
STREAM y HARDWARE.
9. BCOPY: Cuenta la cantidad de datos
copiados desde una ubicación en
memoria a otra ubicación por unidad de
tiempo.
Ancho de Banda
No puede ser fácilmente extendido para cubrir casos de
accesos más complejos, por ejemplo, tres lecturas y
una escritura.
10. Ancho de Banda
STREAM: Suma la cantidad de datos que
el código de la aplicación explícitamente
lee más la cantidad de datos que el
código de la aplicación escribe.
El método STREAM está más directamente atado al
código de usuario, pero podría no contar todo el tráfico
de datos que el hardware realmente necesita ejecutar.
11. HARDWARE: Mide la cantidad actual de
datos leídos y escritos por el hardware,
tanto si el movimiento de datos fue
explícitamente requerido por el código
de usuario o no.
Ancho de Banda
El método de Hardware está más directamente atado
al hardware, pero podría no representar la mínima
cantidad de tráfico de datos requerido para
implementar el código de usuario.