martes, 20 de marzo de 2018

SECUENCIA DE EVENTOS

Una operación de E/S por DMA se establece ejecutando una corta rutina de inicialización. Consiste en varias instrucciones de salida para asignar valores iniciales a:
  • AR: Dirección de memoria de la región de datos de E/S IOBUF (buffer de entrada/salida).
  • WC: Número 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 operación de DMA a través de la línea de petición del DMAC.
Después de cada transferencia, se decrementa el valor de WC y se incrementa el de AR.
La operación termina cuando WC=0, entonces el DMAC (o el periférico) indica la conclusión de la operación enviando al procesador una petición de interrupción.
SECUENCIA DE EVENTOS DETALLADA 
  • El procesador inicializa el DMAC programando AR y WC.
  • El dispositivo de E/S realiza una petición de DMA al DMAC.
  • El DMAC le responde con una señal de aceptación.
  • El DMAC activa la línea de petición de DMA al procesador.
  • Al final del ciclo del bus en curso, el procesador pone las líneas del bus del sistema en alta impedancia y activa la cesión de DMA.
  • El DMAC asume el control del bus.
  • El dispositivo de E/S transmite una nueva palabra de datos al registro intermedio de datos del DMAC.
  • El DMAC ejecuta un ciclo de escritura en memoria para transferir el contenido del registro intermedio a la posición M[AR].
  • El DMAC decrementa WC e incrementa AR.
  • El DMAC libera el bus y desactiva la línea de petición de DMA.
  • El DMAC compara WC con 0:
  • Si WC > 0, se repite desde el paso 2.
  • Si WC = 0, el DMAC se detiene y envía una petición de interrupción al procesador.



Esta información de acuerdo a :
  • Arquitectura de computadoras. (2018). ACCESO DIRECTO A MEMORIA (DMA). 20/03/2018, de WordPress Sitio web: https://conceptosarquitecturadecomputadoras.wordpress.com/acceso-directo-a-memoria-dma/

1 comentario: