12.07.2015 Views

Tema 5 Sistema de Entrada/Salida - QueGrande

Tema 5 Sistema de Entrada/Salida - QueGrande

Tema 5 Sistema de Entrada/Salida - QueGrande

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.5.GESTIÓN DE LA ENTRADA/SALIDA 15Figura 5.10: Ejemplo <strong>de</strong> E/S con acceso directo a memoriaCuando hay que transferir gran<strong>de</strong>s volúmenes <strong>de</strong> datos se requiere una técnica máseficiente: el acceso directo a memoria (DMA, Direct Memory Access).El acceso directo a memoria se realiza con un controlador especializado que transfierelos datos entre el dispositivo y la memoria sin intervención <strong>de</strong>l procesador. El dispositivocontinúa usando el mecanismo <strong>de</strong> interrupciones para comunicarse con el procesador, perosolo al finalizar la transferencia o en caso <strong>de</strong> error.La figura 5.10 proporciona un ejemplo <strong>de</strong>l uso <strong>de</strong> la E/S con DMA para leer un bloque<strong>de</strong> datos <strong>de</strong>s<strong>de</strong> un dispositivo periférico y almacenarlo en memoria. Hay tres pasos en unatransferencia por DMA:El procesador inicia el DMA proporcionando la i<strong>de</strong>ntidad <strong>de</strong>l dispositivo, la operacióna realizar, la dirección <strong>de</strong> memoria que es la fuente o <strong>de</strong>stino <strong>de</strong> los datos atransferir y el número <strong>de</strong> bytes a transferir.El DMA inicia la operación en el dispositivo y se encarga <strong>de</strong> obtener el acceso albus. Cuando los datos están disponibles (proce<strong>de</strong>ntes <strong>de</strong>l dispositivo o <strong>de</strong> memoria),los transfiere. El controlador <strong>de</strong> DMA proporciona la dirección <strong>de</strong> memoria para laslecturas o escrituras. Si la petición requiere más <strong>de</strong> un transferencia por el bus, elcontrolador <strong>de</strong> DMA genera la siguiente dirección <strong>de</strong> memoria e inicia la siguientetransferencia. Usando este mecanismo, el controlador DMA completa la transferencia,que pue<strong>de</strong> tener un tamaño <strong>de</strong> miles <strong>de</strong> bytes, sin molestar al procesador.Una vez finalizada la transferencia por DMA, el controlador interrumpe al procesador,el cual pue<strong>de</strong> <strong>de</strong>terminar, interrogando al controlador <strong>de</strong> DMA o examinandola memoria, si la operación ha terminado con éxito.Las opciones para el acceso al bus por parte <strong>de</strong>l controlador DMA son:Por ráfagas: cuando el DMA toma el control <strong>de</strong>l bus no lo libera hasta habertransmitido el bloque <strong>de</strong> datos pedido.Por robo <strong>de</strong> ciclos: cuando el DMA toma el control <strong>de</strong>l bus lo retiene solo un ciclo,transmite una palabra y lo libera.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!