next up previous index
Next: Quelques périphériques Up: Les Entrées/Sorties Previous: Les Entrées/Sorties   Index

Subsections

Structure des Entrées/Sorties

Un système est constitué d'une UC et d'un certain nombre de contrôleurs de périphériques connectés par un bus commun. Chaque contrôleur est chargé d'un où plusieurs périphériques.

Contrôleurs et pilotes

La partie électronique d'un contrôleur est composée de registres spécialisés et de mémoire locale.

La partie logicielle du contrôleur a la responsabilité de déplacer les données entre les périphériques contrôlés et sa mémoire locale.

Le pilote de périphérique qui fait partie du système dialogue avec le contrôleur. Il lui donne des ordres (généralement codés sur un octet); bloque ou non le processus qui a généré l'interruption d'entrée/sortie; attend le résultat (ou le code d'erreur) fournit par le contrôleur, met le résultat au bon endroit; et enfin réveille si nécessaire le processus.

Deux problèmes majeurs :

une gestion des E/S indépendante des périphériques
dont l'objectif est de faciliter le travail de l'utilisateur. Cela passe par les bibliothèques de fonctions (ex printf);

les débits de transferts différents des périphériques
font que le mécanisme des interruptions pour transférer les données vers le processus en attente est correctement efficace pour les périphériques lents (clavier) mais très pénalisant en UC pour les périphériques rapides (disque).

La structure DMA

Cette structure permet un accès direct à la mémoire pour le contrôleur sans passer par le mécanisme d'interruption. Le pilote doit configurer les registres, et les fournir au contrôleur. Le contrôleur DMA dépose sur le bus les données qui se copie directement en mémoire. Lorsque le transfert est terminé, le contrôleur le signale au pilote. Il n'y a qu'une seule interruption pour le transfert d'un bloc.

Cela justifie la notion d'entrelacement vue au chapitre précédent.


next up previous index
Next: Quelques périphériques Up: Les Entrées/Sorties Previous: Les Entrées/Sorties   Index
Alain GRIFFAULT
2000-12-22