Está en la página 1de 9

DMA DMA

CONTACTO MEMORIA DE ACCESO ALEATORIO

dmendozah@unicartagena.edu.co
3117351238
• El DMA (Direct Memory Access) es un
procesador/controlador especializado en
transferencias “muy grandes” desde periféricos a
memoria y viceversa.
• Es programable. La CPU no realiza ninguna
tarea (salvo programar el DMA) ya que la
inicialización y transferencia son gobernadas por
el periférico.
• Para programar el DMA hay que enviarle al
menos los siguientes datos:
- Dirección/puerto periférico E/S.
- Posición/dirección en memoria principal.
- Tamaño (número de bytes a transferir).
- Tipo transferencia: lectura o escritura.

DMENDOZAHUNICARTAGEN DAMARIS MENDOZA 3117351238 ACCESO DIRECTO DE


A.EDU.CO MEMORIA
DMA ACCESO DIRECTO DE MEMORIA

Al finalizar el DMA avisa mediante una interrupción. Esta


interrupción al igual que el resto de interrupciones son
normalmente atendidas al final de cada instrucción. La rutina de
servicio asociada comprobará el estado del DMA para ver si se
han producido errores al ejecutar la transferencia que se le ha
encomendado
• A
• diferencia del mecanismo por interrupción
convencional, una orden DMA puede
transferir muchísimos datos de una sola vez. Por
lo tanto, el número de interrupciones por byte
transferido es mucho menor que con las
interrupciones convencionales: se gana en
rapidez.

DMENDOZAHUNICARTA DAMARIS MENDOZA TELÉFONO ACCESO DIRECTO DE


GENA.EDU.CO MEMORIA
2
DMA ACCESO DIRECTO DE MEMORIA

• El procesador no se encarga de la transferencia de


datos.
Existen dos formas básicas de realizar el acceso directo a
memoria:
1. MEMORIA MULTIPUERTA:
• La memoria permite realizar
transferencias simultáneas por parte de
la CPU y otros dispositivos. La
memoria tiene varias “puertas” que
permiten acceso concurrente a un mismo
bloque de memoria por lo que hay que
establecer un sistema de arbitraje.
2. ACCESO A MEMORIA POR ROBO
DE CICLO:
Solución más económica. El DMA cada vez que quiere tomar el
control del bus del sistema para realizar la transferencia de un
dato, lo solicita a la CPU mediante la señal HOLD. La CPU
concede el control del bus mediante la señal HLDA. Después
de realizar la transferencia el controlador de DMA lo comunica
a la CPU mediante las señales de control correspondientes

DMENDOZAHUNICARTA DAMARIS MENDOZA TELÉFONO ACCESO DIRECTO DE


GENA.EDU.CO MEMORIA
3
DMA ACCESO DIRECTO DE MEMORIA

Distintas formas de conectar el DMA al sistema:


1. Bus único, DMA independiente: Actúa
como una CPU de E/S. Necesita un
ciclo para acceder al módulo de E/S o
periférico y otro para acceder a memoria.

2 Bus único y E/S integradas: alternativa para


reducir un ciclo de bus en la transferencia.

DMENDOZAHUNICARTA DAMARIS MENDOZA TELÉFONO ACCESO DIRECTO DE


GENA.EDU.CO MEMORIA
4
DMA ACCESO DIRECTO DE MEMORIA

2. Bus de E/S: es una variación de la


anterior que permite hacer la arquitectura más
escalable.

Problemas de cohesión con la jerarquía de memoria:


Puede ocurrir que se tenga dos copias de un
dato y el DMA sólo sobrescriba sobre una
de ellas.
Hay tres SOLUCIONES:
1. Volcar toda la E/S a caché: sólo sirve con
E/S asignada a memoria. Costoso.
2. Volcar toda la E/S a memoria: se vacían todos
los datos de la caché (bit de validez a cero) que
tengan que ver con la transferencia del DMA.

3. Usar técnicas/protocolos de coherencia: invalidar datos


de la caché después de que el DMA haya escrito sobre
esos datos

Procedimientos de atención al periférico

DMENDOZAHUNICARTA DAMARIS MENDOZA TELÉFONO ACCESO DIRECTO DE


GENA.EDU.CO MEMORIA
5
DMA ACCESO DIRECTO DE MEMORIA

Hay tres procedimientos importantes:

a. Por software: consultas sucesivas a los periféricos por programa,


para detectar cuál solicita la atención de la CPU para una
entrada o salida de información. Este sistema es síncrono, por lo
que atiende las peticiones cuando les corresponde por programa
y no cuando ocurren.

Este método tiene el inconveniente de utilizar parte de la memoria


del programa para el tratamiento de las E/S.

b. Por interrupciones: los periféricos provocan una interrupción a la


CPU para reclamar su atención. En este caso las interrupciones
pueden tener carácter prioritario, siendo posible su
enmascaramiento.

Una interrupción vectorizada común consta de las


siguientes fases:

 Cuando se produce la interrupción, se espera a que termine la


ejecución de la instrucción en curso y se procede a salvar el

DMENDOZAHUNICARTA DAMARIS MENDOZA TELÉFONO ACCESO DIRECTO DE


GENA.EDU.CO MEMORIA
6
DMA ACCESO DIRECTO DE MEMORIA

contenido de los registros más importantes de la CPU en una


parte de la memoria gobernada por el stack pointer.
 El contador de programa se carga con el contenido de un par
de direcciones especiales de la memoria (vector de interrupción).
 La CPU ejecuta las instrucciones partiendo del nuevo
contenido del contador de programa, es decir, el programa de
atención a la interrupción.
 Acabado el programa que atiende a la interrupción se regresa
al programa principal, recuperando desde la memoria los datos
salvados al producirse la interrupción. Dentro de los diferentes
tipos de interrupción las hay no enmascarables que se realizan
siempre que se las provoca. Hay otras llamadas enmascarables
que solo se llevan a cabo si un bit del Registro de Estado, el flag
de interrupción, está a cierto nivel. También hay interrupciones
producidas por flanco, por nivel y de ambas maneras. Cuando
hay varias posibilidades de interrupción se las dota de un baremo
de prioridad.

c. Por acceso directo a memoria (DMA): cuando un periférico


desea realizar una entrada o salida de información se lo informa al
controlador del DMA, que detiene la CPU mediante una señal
HOLD y seguidamente se produce la transferencia directa de
los datos entre la memoria y el periférico. La transferencia se
realiza sin intervención de la CPU, por lo que se logra gran
velocidad.

DMENDOZAHUNICARTA DAMARIS MENDOZA TELÉFONO ACCESO DIRECTO DE


GENA.EDU.CO MEMORIA
7
DMA ACCESO DIRECTO DE MEMORIA

Mediante el bus de direcciones se selecciona el periférico a tratar


y la información de E/S se transfiere por el bus de datos.

Bibliografía:
1. Ramos, Martín, Alicia, et al. <i>Montaje y mantenimiento de equipos</i>, McGraw-Hill
España, 2013. ProQuestEbook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3212469
.Createdfrombibliounicartagenaspon 2019-05-24 09:00:26.
2. Bellido, Quintero, Enrique. <i>Instalación y configuración de sistemas operativos</i>,
Editorial CEP, S.L., 2013. ProQuestEbook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3217218
.Createdfrombibliounicartagenaspon 2019-05-23 19:33:35.

DMENDOZAHUNICARTA DAMARIS MENDOZA TELÉFONO ACCESO DIRECTO DE


GENA.EDU.CO MEMORIA
8
DMA ACCESO DIRECTO DE MEMORIA

TALLER DE INVESTIGACIÒN

1. Concepto de DMA.
2. Problemas que puede presentar el DMA.
3. Transferencia de DMA por ráfaga.
4. Transferencia de DMA por robo de ciclo ventajas y desventaja de cada uno.
5. Ejemplo de DMA
6. En casi todos los sistemas que incluyen módulos de DMA, el acceso por DMA a la memoria
principal tiene una prioridad más alta que la del acceso del procesador a la memoria principal.
¿Por qué?
7. En las primeras computadoras, cada byte de datos leídos o escritos se manejaba mediante la
CPU
(es decir, no había DMA).

8. ¿Qué implicaciones tiene esto para la multiprogramación

DMENDOZAHUNICARTA DAMARIS MENDOZA TELÉFONO ACCESO DIRECTO DE


GENA.EDU.CO MEMORIA
9

También podría gustarte