El controlador de DMA

Páginas: 5 (1015 palabras) Publicado: 2 de diciembre de 2014

El controlador de DMA necesita tener el control del bus para poder transferir datos hacia (o desde) la memoria. Existen diferentes formas de obtener el control del bus que suponen distintos compromisos entre velocidad de transferencia y actividad de la CPU. El empleo de una estrategia en concreto dependerá de las prestaciones que se deseen y de las características del procesador que seutilice.
a) Por ráfagas: Cuando el DMA toma el control del bus no lo libera hasta haber transmitido el bloque de datos pedido tal y como se observa en la figura 4. Con este método se consigue la mayor velocidad de transferencia pero se tiene a la CPU inactiva durante períodos relativamente. También se conoce como parada del procesador.

Figura 4: DMA por ráfagas.
b) Por robo de ciclo: Cuando el DMAtoma el control del bus lo retiene durante un solo ciclo. Transmite una palabra y libera el bus. El proceso acaba cuando se ha transferido todo el bloque. Es la forma más usual de transferencia y en ella el DMA "roba" ciclos a la CPU. El robo de ciclos reduce la velocidad de transferencia y la interferencia del controlador de DMA sobre la actividad de la CPU. El método resulta útil cuando se deseasimultanear la ejecución de un programa con la recepción o transmisión de datos a velocidades moderadas. La CPU no tiene que ocuparse para nada de la operación y sigue ejecutando su programa, casi con la misma velocidad, mientras que de forma simultanea se efectúa la transferencia de datos.

Figura 5: DMA por robo de ciclo.
c) DMA transparente: Es posible eliminar completamente la interferenciaentre el controlador de DMA y la CPU. Se consigue si se diseña el DMA de forma que solamente se roban ciclos cuando la CPU no está utilizando el bus del sistema. La CPU no necesita usar el bus en todas las fases de la ejecución de una instrucción.
La ejecución del programa de la CPU no disminuye su velocidad, pero concurrentemente tiene lugar una transferencia por DMA. Análogamente al caso derobo de ciclos no se obtiene la ventaja de una velocidad de transferencia muy elevada propia del DMA. En la figura 6 se ilustra el principio de este método de transferencia.

Figura 6: DMA transparente

En resumen, los pasos que se siguen en la transferencia mediante DMA son:
1) La CPU ejecuta tres instrucciones de E/S que cargan los registros de dirección de memoria, del periférico y elcontador de palabras del controlador de DMA. El registro de dirección de memoria debe contener la dirección base de la zona de memoria principal que se va a utilizar en la transferencia de datos. El registro de dirección del periférico contiene la dirección del dispositivo del que hay que tomar o al que hay que enviar los datos. El registro contador de palabra almacena el número de palabras que setransfieren desde (o hacia) la memoria.
2) Cuando el controlador de DMA está preparado para transmitir o recibir datos, activa la línea de "petición del DMA" a la CPU. La CPU espera en el siguiente punto de ruptura del DMA, renuncia al control del bus de sistema y activa la línea de "reconocimiento de DMA".
Las peticiones simultáneas de transferencia mediante DMA por parte de algunos controladoresse resuelven utilizando las técnicas de control con prioridad de las interrupciones que se vieron en la sección anterior.
3) El controlador de DMA transfiere ahora directamente los datos a o desde la memoria principal por alguno de los métodos que se acaban de ver. Después de transferir una palabra, el registro de dirección y el registro del contador de palabras del controlador de DMA seincrementa y decrementa respectivamente.
4) Si el contenido del registro contador de palabra no es 0, pero el periférico no está preparado para enviar o recibir el próximo lote de datos. el controlador de DMA devuelve el control a la CPU liberando el bus del sistema y desactivando la línea de reconocimiento de DMA y continuando con su operación normal.
5) Si el contenido del contador de palabras es 0,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • controladores dma
  • Controlador de DMA 8237
  • Dmae
  • Acceso directo a la memoria e/s controlado por dma
  • Canales dma
  • DMA informatica
  • transferencia por dma
  • DMAE

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS