2. ACCSESO DIRECTO A
MEMORIA
INCONVENIENTES DE LA E/S PROGRAMADAS Y CON
INTERRUPCIONES
La E/S con interrupciones, aunque mas eficiente que la
sencilla E/S programada, requiere la intervención activa del
procesador para transferir datos entre la memoria y el modulo
de E/S y cualquier transferencia de datos que debe seguir un
camino a través del procesador.
INCONVENIENTES:
La velocidad de transferencia de E/S esta limitada por la
velocidad a la cual el procesador puede comprobar y dar
servicio a un dispositivo.
El procesador debe dedicarse a la gestión de la transferencia
de E/S; se debe ejecutar cierto numero de instrucciones por
cada transferencia de E/S.
3. ACCSESO DIRECTO A
MEMORIA
FUNCIONAMIENTO DEL DMAFUNCIONAMIENTO DEL DMA
El DMA requiere un módulo adicional en el bus del sistema.El DMA requiere un módulo adicional en el bus del sistema.
Este es capaz de imitar al procesador y de recibir elEste es capaz de imitar al procesador y de recibir el
control del sistema cedido por el procesador.control del sistema cedido por el procesador.
Necesita dicho control para transferir datos a, y desde memoriaNecesita dicho control para transferir datos a, y desde memoria
a través del bus del sistema.a través del bus del sistema.
Para hacerlo, el módulo DMA debe utilizar el bus sólo cuando elPara hacerlo, el módulo DMA debe utilizar el bus sólo cuando el
procesador no lo necesita, o debe forzar al procesador a queprocesador no lo necesita, o debe forzar al procesador a que
suspenda temporalmente su funcionamiento.suspenda temporalmente su funcionamiento.
Esta técnica es la más común y se denomina robo de ciclo,Esta técnica es la más común y se denomina robo de ciclo,
puesto que el módulo DMA roba un ciclo de bus.puesto que el módulo DMA roba un ciclo de bus.
5. ACCSESO DIRECTO A
MEMORIA
Cuando el procesador desea leer o escribir un bloque de datos,Cuando el procesador desea leer o escribir un bloque de datos,
envía una orden al módulo de DMA, incluyendo la siguienteenvía una orden al módulo de DMA, incluyendo la siguiente
información.información.
Si se solicita una lectura o escritura, utilizando la línea deSi se solicita una lectura o escritura, utilizando la línea de
control de lectura o escritura entre el procesador y el módulocontrol de lectura o escritura entre el procesador y el módulo
DMA.DMA.
La dirección del dispositivo de E/S en cuestión, indicada aLa dirección del dispositivo de E/S en cuestión, indicada a
través de las líneas de datos.través de las líneas de datos.
La posición inicial de memoria a partir de donde se lee o seLa posición inicial de memoria a partir de donde se lee o se
escribe, indicada a través de la líneas de datos y almacenadaescribe, indicada a través de la líneas de datos y almacenada
por el módulo de DMA en su registro de direcciones.por el módulo de DMA en su registro de direcciones.
El numero de palabras a leer o escribir, también indicado aEl numero de palabras a leer o escribir, también indicado a
través de las líneas de datos y almacenando en el registro detravés de las líneas de datos y almacenando en el registro de
cuenta de datos.cuenta de datos.
6. ACCSESO DIRECTO A
MEMORIA
PUNTOS DE RUPTURA PARA EL DMA Y LASPUNTOS DE RUPTURA PARA EL DMA Y LAS
INTERRUPCIONES EN UN CICLO DE INSTRUCCIÓNINTERRUPCIONES EN UN CICLO DE INSTRUCCIÓN
El módulo de DMA transfiere el bloque completo de datos,El módulo de DMA transfiere el bloque completo de datos,
palabra a palabra directamente desde o hacia, la memoria, sinpalabra a palabra directamente desde o hacia, la memoria, sin
que tenga que pasar a través del procesador.que tenga que pasar a través del procesador.
Cuando a terminado la transferencia, el módulo DMA envía unaCuando a terminado la transferencia, el módulo DMA envía una
señal de interrupción al procesador; pues este solo interviene alseñal de interrupción al procesador; pues este solo interviene al
comienzo ycomienzo y al final de la transferencia.al final de la transferencia.
Nos muestra en que momento del ciclo de instrucción puedeNos muestra en que momento del ciclo de instrucción puede
detenerse el procesador.detenerse el procesador.
8. Configuraciones
Alternativas
El DMA puede configurarse de diversasEl DMA puede configurarse de diversas
formas:formas:
único Bus, DMA independienteúnico Bus, DMA independiente
Todos los módulos comparten el mismo bus delTodos los módulos comparten el mismo bus del
sistema.sistema.
El módulo DMA , actuando como un procesadorEl módulo DMA , actuando como un procesador
suplementario utiliza E/S programada parasuplementario utiliza E/S programada para
intercambiar datos entre la memoria y un modulointercambiar datos entre la memoria y un modulo
de E/S a través de un módulo DMA.de E/S a través de un módulo DMA.
9. ACCSESO DIRECTO A
MEMORIA
Esta configuración, si bien es la más económica, es claramenteEsta configuración, si bien es la más económica, es claramente
ineficiente, igual que con las e/s programadas controlada por elineficiente, igual que con las e/s programadas controlada por el
procesador , la transferencia de cada palabra consume dos ciclos deprocesador , la transferencia de cada palabra consume dos ciclos de
bus.bus.
10. ACCSESO DIRECTO A
MEMORIA
Bus único, DMA-E/S integradosBus único, DMA-E/S integrados
• El numero de ciclos de bus necesarios puede reducirseEl numero de ciclos de bus necesarios puede reducirse
sustancialmente si se integra las funciones de DMA y de E/Ssustancialmente si se integra las funciones de DMA y de E/S
• Existe un camino entre el módulo de DMA y uno o mas módulos deExiste un camino entre el módulo de DMA y uno o mas módulos de
E/S que no incluye al bus del sistema.E/S que no incluye al bus del sistema.
• La lógica de DMA puede ser parte de un módulo de E/S o puedeLa lógica de DMA puede ser parte de un módulo de E/S o puede
ser un modulo separado que controla a uno o más módulos de E/S.ser un modulo separado que controla a uno o más módulos de E/S.
11. ACCSESO DIRECTO A
MEMORIA
BUS DE E/SBUS DE E/S
• Los puntos anteriores se los lleva algo más lejosLos puntos anteriores se los lleva algo más lejos
conectando los módulos de E/S a un modulo de DMAconectando los módulos de E/S a un modulo de DMA
mediante un bus de E/S.mediante un bus de E/S.
• Esto reduce a uno el número de interfaces de E/S en elEsto reduce a uno el número de interfaces de E/S en el
modulo DMA , permite una configuración fácilmentemodulo DMA , permite una configuración fácilmente
ampliable.ampliable.
12. ACCSESO DIRECTO A
MEMORIA
En todos estos casos, el bus del sistema, que el móduloEn todos estos casos, el bus del sistema, que el módulo
DMA comparte con el procesador y la memoria, es usadoDMA comparte con el procesador y la memoria, es usado
por el módulo de DMA sólo para intercambiar datos con lapor el módulo de DMA sólo para intercambiar datos con la
memoria .memoria .
Este intercambio de datos entre los módulos de DMA yEste intercambio de datos entre los módulos de DMA y
E/S se produce fuera del bus del sistema.E/S se produce fuera del bus del sistema.