Les entrées/sorties (par O. Forestier)

publicité
Gestion des Entrées/Sorties
Gestion des Entrées/Sorties
Diversité des périphériques
Rappel : Constituants principaux d’un ordinateur
Horloge
Processeur
Mémoire
Centrale
Unités
d’Echanges
Bus
Ecran
Clavier
Imprimante
Disque(s) dur(s)
E/S Processus
Industriels
Réseaux
.......
•
•
L’ordinateur n’est utilisable que s’il peut communiquer avec l’extérieur :
Trois sens de communication
– Périphériques d’Entrée : clavier,souris, écran tactile, scanner , capteurs …
– Périphériques de Sortie : écran graphique, imprimante, enceintes, actionneurs …
– Périphériques d’Entrée/Sortie : disque dur, clef USB, carte réseau, modem …
• Unité centrale de Traitement (Processeur) cadencé par l’horloge avec :
•
– UAL : Unité arithmétique et logique qui réalise les opérations élémentaires
– Unité de commande : lit les instructions en mémoire, les décode et les exécute
Caractéristiques très différentes
– Vitesse : de quelques octets/sec (clavier) à qq 100Mo/sec ( disque dur ou réseau)
– Format des données : bit à bit (modem) , octet par octet ou paquets de données
– Commandes : chaque périphérique a ses propres signaux pour signaler une activité au
processeur ou transférer des données ( un disque dur lance un déplacement des têtes de
lecture, une imprimante signale un manque de papier , un modem informe de l’arrivée
d’un appel entrant …)
• Mémoire centrale
– Stocke les programmes et les données
– Enregistre les résultats intermédiaires et/ou finaux
• Unités d’Echange avec l’extérieur : Périphériques d’Entrées/Sorties
•
•
– Permet au processeur de communiquer avec l’extérieur en entrée ( clavier,
souris, disque dur, réseau) ou sortie ( écran , disque dur, réseau, processus
industriel …)
Diversité = frein à la connexion des périphériques sur le bus système
=> Nécessité d’un circuit spécialisé à chaque périphérique pour gérer les
communications avec le processeur : contrôleur d’E/S ( ou coupleur d’E/S)
• Bus : Permet aux constituants ci-dessus de communiquer entre eux
L1 PCSPI / UEc263 / 2012-2013
1
L1 PCSPI / UEc263 / 2012-2013
Gestion des Entrées/Sorties
Gestion des Entrées/Sorties
Rôle du contrôleur d’E/S
•
•
•
•
•
Gestion logicielle des E/S
Piloter l’opération d’E/S à la place du processeur
Formater les données et les mémoriser temporairement pour adapter leur
format et la vitesse de leur transfert
Permettre le branchement de divers modèles de périphériques via une
interface standardisée ( interfaces //, série, SCSI, USB, FireWire …)
Peut-être intégré à un chipset, relié à celui-ci par un bus spécifique ou encore
sur une carte d’E/S spécifique
Chaque contrôleur contient :
–
–
–
–
•
•
Bibliothèque de gestion du périphérique fournie : pilote (ou driver) à
installer dans le système d’exploitation, qui contient l’ensemble des fonctions
pour dialoguer avec le périphérique
2 possibilités d’accès aux E/S par le processeur
– Par des fonctions spécialisées IN( ) et OUT( ) ? Le controleur a alors des lignes de
contrôle spécifiques.
– En intégrant l’espace mémoire du contrôleur d’E/S à l’espace mémoire général du
processeur. L’accès des différents registres du contrôleur se fait alors comme un
accès mémoire.
Des circuits lui permettant de s’interfacer sur un bus coté ordinateur
Une logique de commande pour piloter le périphérique
Une mémoire interne pour mémoriser les données en transit
Une interface de connexion au périphérique ( on doit trouver l’équivalent dans le
périphérique)
L1 PCSPI / UEc263 / 2012-2013
2
•
Dialogue entre le processeur et le contrôleur d’E/S : 3 modes d’échanges
–
–
–
–
3
Par scrutation ou interrogation ( polling)
Par interruption
Par DMA ( Direct Access Mémory)
Par processeur spécialisé
L1 PCSPI / UEc263 / 2012-2013
4
1
Gestion des Entrées/Sorties
Gestion des Entrées/Sorties
E/S par interrogation
•
•
•
•
E/S par interruption
Le processeur interroge périodiquement le périphérique pour savoir si ce
dernier a un échange à effectuer
•
– Le processeur interroge le registre d’état du périphérique pour savoir si une
activité a eu lieu et s’il doit traiter une information
– Si oui , il effectue le traitement demandé
– Si non, il reviendra l’interroger plus tard
•
•
Avantage : très simple à mettre en œuvre : simples lectures / écritures
Inconvénient : occupation importante du processeur pour cette interrogation
Peut-etre utilisée pour des périphériques ayant un temps de réponse court et
transférant peu de données ( ex: souris tous les 10-2 sec)
•
– le processeur ne gaspille pas de temps à interroger un périphérique inactif
– les échanges avec les périphériques peuvent être hiérarchisés et accélérés
•
•
L1 PCSPI / UEc263 / 2012-2013
5
E/S par processeur spécialisé
Consiste à donner à une unité d’échange la possibilité d’aller lire ou écrire
directement en mémoire sans passer par le processeur
Pour réaliser ce transfert, il faut :
•
•
– Définir l’adresse de base du transfert, la taille du transfert
– Demander au processeur l’autorisation de prendre le bus d’adresses et attendre
son accord
•
• Avantage : accélère les gros transferts de données ( blocs)
le processeur peut faire des traitements internes ( en mémoire cache interne)
pendant ce temps
• Inconvénient : complexe, nécessite un contrôleur DMA dans le contrôleur
d’E/S, et que le processeur autorise ce type d’accès
• Utilisée pour des périphériques ayant de grandes quantités de données à
transférer ( ex: disque dur)
L1 PCSPI / UEc263 / 2012-2013
6
Gestion des Entrées/Sorties
E/S par DMA ( Direct Access Memory)
•
Inconvénient : plus complexe à mettre en œuvre ( matériel et logiciel)
Mode de communication très adapté aux communications asynchrones avec
des quantités de données faibles
L1 PCSPI / UEc263 / 2012-2013
Gestion des Entrées/Sorties
•
C’est le périphérique qui signale de lui-même au processeur qu’il a un
échange à effectuer
Interruption = mécanisme permettant d’interrompre le processeur pour qu’il
suspende le traitement en cours pour exécuter une action prioritaire puis
qu’il reprenne le traitement en cours
plusieurs interruptions possibles avec possibilité de hiérarchie et de
masquage
Avantages :
7
Généralisation du transfert de données autonome à la sous-traitance de
traitements spécifiques
Le processeur principal indique au processeur spécialisé l’adresse du
programme à exécuter et est prévenu de la fin de l’exécution par une
interruption
Processeur très efficace car optimisé pour le domaine concerné ( ex:
processeur graphique)
L1 PCSPI / UEc263 / 2012-2013
8
2
Téléchargement