Transferencia controlada por programa de E/S frente a transferencia DMA

En este artículo, analizaremos la descripción general de los modos de transferencia y, principalmente, nos centraremos en la diferencia entre la transferencia controlada por programa de E/S y la transferencia DMA. Discutámoslo uno por uno.

Requisito previo: modos de transferencia en detalle

Modos de Transferencia

La CPU ejecuta las instrucciones de E/S y acepta los datos temporalmente pero, finalmente, el origen/destino será cualquier unidad de memoria. Hay varios modos en los que la transferencia de datos puede tener lugar entre la CPU y los dispositivos de E/S. La transferencia de datos hacia y desde los periféricos se puede manejar en uno de los 3 modos dados de la siguiente manera.

  1. E/S programada
  2. Interrupción: E/S impulsada
  3. Acceso directo a memoria (DMA)

Discutámoslos uno por uno.

  1. E/S
    programada: En la E/S controlada por programa, el programa del procesador controla la transferencia de datos completa. Entonces, solo cuando se ejecuta una instrucción de transferencia de E/S, la transferencia podría tener lugar. En la mayoría de los casos, es necesario verificar que el dispositivo esté listo o no para la transferencia de datos. Por lo general, la transferencia es hacia y desde un registro de CPU y un periférico. Aquí, la CPU monitorea constantemente el periférico. Aquí, hasta que la unidad de E/S indique que está lista para la transferencia, la CPU espera y permanece en un bucle. Consume mucho tiempo ya que mantiene la CPU ocupada innecesariamente.
     
  2. Interrupción: E/S controlada:
    Para superar la desventaja de la E/S programada, es decir, mantener la CPU ocupada innecesariamente, se utiliza Interrupción: E/S controlada. En este enfoque, cuando un periférico envía una señal de interrupción a la CPU cuando está lista para transferir datos. Esto indica que la transferencia de datos de E/S la inicia el dispositivo de E/S externo. El procesador detiene la ejecución del programa actual y transfiere el control para interrumpir la rutina de servicio cuando se interrumpe. La rutina de servicio de interrupción luego realiza la transferencia de datos. Después de completar la transferencia de datos, devuelve el control al programa principal hasta el punto en que se interrumpió.
     
  3. DMA: acceso directo a la memoria: la
    transferencia DMA se utiliza para grandes transferencias de datos. Aquí, la interfaz utiliza un bus de memoria para transferir datos dentro y fuera de una unidad de memoria. La CPU proporciona la dirección de inicio y la cantidad de bytes que se transferirán a la interfaz para iniciar la transferencia, luego de lo cual procede a ejecutar otras tareas. DMA solicita un ciclo de memoria a través del bus de memoria cuando se realiza la transferencia. DMA transfiere los datos directamente a la memoria cuando el controlador de memoria concede la solicitud. Para permitir la transferencia directa de memoria (E/S), la CPU retrasa su operación de acceso a la memoria. Entonces, DMA permite que los dispositivos de E/S accedan directamente a la memoria con menos intervención de la CPU.

Diferencia entre transferencia controlada por programa de E/S y transferencia DMA

Aquí discutiremos la diferencia entre la transferencia controlada por programa de E/S y la transferencia DMA :

S. No.  Transferencia controlada por programa de E/S  Transferencia DMA
1. Es transferencia de datos de control de software Es transferencia de datos de control de hardware
2. La velocidad de transferencia de datos es lenta La velocidad de transferencia de datos es rápida.
3. La CPU está involucrada en la transferencia completa. La CPU no está involucrada en la transferencia completa.
4. No se requiere hardware adicional. Se requiere controlador DMA para la transferencia de datos.
5. Los datos se enrutan a través del procesador, durante la transferencia de datos. Los datos no se enrutan a través del procesador, durante la transferencia de datos.
6. Se utiliza para la transferencia de datos pequeños. Se utiliza para grandes transferencias de datos.

Publicación traducida automáticamente

Artículo escrito por sameekshakhandelwal1712 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *