Vous êtes sur la page 1sur 2

Accs direct la mmoire

Pour les articles homonymes, voir DMA.

Cet article ne cite pas suffisamment ses sources (octobre 2009).


Si vous disposez d'ouvrages ou d'articles de rfrence ou si vous connaissez des sites
web de qualit traitant du thme abord ici, merci de complter l'article en donnant les
rfrences utiles sa vrifiabilit et en les liant la section Notes et rfrences
(modifier l'article).

Entre-sortie sans DMA

Entre-sortie avec DMA


L'accs direct la mmoire ou DMA (sigle anglais de Direct Memory Access) est un procd informatique o
des donnes circulant de ou vers un priphrique (port de communication, disque dur) sont transfres
directement par un contrleur adapt vers la mmoire principale de la machine, sans intervention
du microprocesseur si ce n'est pour lancer et conclure le transfert1 . La conclusion du transfert ou la disponibilit
du priphrique peuvent tre signals par interruption.
On l'oppose ainsi des techniques de polling o le microprocesseur doit attendre chaque donne.

Sommaire
[masquer]

1 Description
o

1.1 DMA et mmoire virtuelle

1.2 Rsolution des conflits


2 Notes et rfrences

Description[modifier | modifier le code]


Le DMA est ncessaire pour conserver la fluidit d'utilisation d'un systme multitche lors de l'accs des
priphriques, les disques durs par exemple. En effet, en l'absence de DMA, le systme est presque bloqu
pendant les transferts de donnes. Par ailleurs, pour des priphriques rapides, il est impossible de transfrer
chaque donne par une interruption. Une alternative est que le priphrique ait une mmoire tampon partage
avec le systme, dont le remplissage est signal par une interruption. Cet arrangement, utilis sur certains
contrleurs de rseau, induit cependant un surcot en raison de la copie supplmentaire faire.

DMA et mmoire virtuelle[modifier | modifier le code]

On parle de DMA matre du bus (DMA busmaster) quand le priphrique qui fait du DMA peut adresser luimme les donnes sur le bus systme, et de scatter-gather quand un mme transfert peut porter sur une
succession de plusieurs zones mmoires. Cette dernire fonctionnalit est pratique pour les systmes
mmoire virtuelle, car un tampon situ des adresses contigus en mmoire virtuelle est en gnral form de
plusieurs blocs de mmoire vive.

Rsolution des conflits[modifier | modifier le code]


Pendant le fonctionnement du DMA, celui-ci entre parfois en conflit avec le processeur, les mmoires ne
pouvant effectuer par dfinition qu'un accs par cycle (puisque c'est la dfinition mme du cycle). Le DMA ne
pouvant pas forcment attendre aussi longtemps que le processeur (qui ne risque pas, lui, de perdre de
l'information au vol), il a la priorit d'accs, technique qui se nomme le vol de cycle.