Interfaces d'E/S et bus
Quelle description du mécanisme de DMA utilisant un anneau de descripteurs en mémoire, largement employé par les cartes réseau et les SSD NVMe, est correcte ?
- ALe CPU transfère les données en les écrivant octet par octet dans les registres du périphérique
- BLe CPU se contente d'écrire l'adresse et la longueur du transfert dans un descripteur et d'en informer le périphérique, qui lit le descripteur et effectue lui-même le transfert
- CLes descripteurs se trouvent uniquement dans le périphérique et sont invisibles pour le CPU
Afficher la réponse et l'explication
Réponse : B. Le CPU se contente d'écrire l'adresse et la longueur du transfert dans un descripteur et d'en informer le périphérique, qui lit le descripteur et effectue lui-même le transfert
L'anneau de descripteurs est une table placée en mémoire principale, décrivant « à partir de quelle adresse et combien d'octets transférer », utilisée de façon circulaire. Le CPU écrit le contenu du transfert dans un descripteur libre, puis signale une fois au périphérique, via un registre, « écrit jusqu'ici ». Le périphérique lit le descripteur par DMA, transfère les données et marque comme terminés les descripteurs traités. CPU et périphérique peuvent ainsi mener de nombreux transferts sans s'attendre mutuellement.