Une opération
d'E/S consiste à échanger des données entre le périphérique
et la mémoire centrale. Un équipement facultatif appelé
DMA évite l'occupation de l'unité centrale pour effectuer
ce transfert.
Lorsqu'une interface veut transférer
des données en utilisant les possibilités du DMA, elle envoie
un signal de requête au contrôleur de DMA. Ce dernier donne
la priorité à cette requête et envoie un signal au
microprocesseur. A la fin du cycle de bus courant, le CPU se "retire" du
bus en signalant au contrôleur que le bus est libre.
Le contrôleur se raccroche alors au bus système et dirige
le bus d'adresses et de contrôle. Il peut exécuter des transferts
de données entre le périphérique demandeur et la mémoire.
L'interface est avertie par le contrôleur qui lui envoie un signal
de réception.
Le DMA devient en quelque sorte
le maître du bus système et dirige le transfert d'information
entre mémoire et périphérique. Pendant ces opérations
le DMA ne manipule pas le bus; la donnée est transmise directement
dans la mémoire.
Ainsi, ce dispositif permet de faire circuler rapidement l'information
sans utiliser le micro-processeur.
Sans DMA |
Avec DMA |
|
|
-
1) consommation temps CPU le temps de lire le bloc octet/octet en mémoire
centrale.
|
1) pas d'occupation CPU le temps du transfert du bloc en mémoire. |
2) CPU et contrôleur occupés le temps du transfert du
bloc en mémoire. |
2) le transfert en mémoire ne se fait qu'après lecture
du bloc complet ceci évite la perte de données arrivant à
un rythme constant du disque. |
3) la lecture du bloc suivant n'est lancée qu'après ce
transfert. |
|