next up previous contents
suivant: Interruptions matérielles monter: Fonctionnement général des périphériques précédent: Fonctionnement général des périphériques   Table des matières

Les ports d'entrée / sortie

La plupart des périphériques possèdent des registres permettant de contrôler leur fonctionnement. On accède à ces registres grâce à des ports d'entrée / sortie (ports E/S) qui leur sont associés afin de permettre de lire ou d'écrire dans ces registres. Ces ports sont identifiés par une adresse unique. Ainsi, nous parlerons de registres quand nous nous intéresserons au contenu de ces registres et nous parlerons de port E/S quand il s'agira d'envoyer (ou de recevoir) des données aux (ou des) périphériques.

Les périphériques disposant de ports ont un port de base unique. Les adresses des ports du périphérique sont calculées à partir de ce port de base.

Les ports E/S peuvent généralement être classés en 4 catégories :

Pour envoyer (et recevoir) des informations sur (et depuis) ces ports, nous utilisons les fonctions C outb ou outw (et inb ou inw) que nous avons créé et qui encapsulent simplement les fonctions éponymes en assembleur.

Les fonctions outb et inb envoient ou reçoivent un octect tandis que les fonctions outw et inw envoient ou reçoivent des mots (un mot vaut deux octects).

Après avoir envoyé des informations sur un port (avec outb ou outw), il peut être nécessaire de vérifier si le périphérique est occupé, ce qui signifie qu'il est en train de prendre acte de notre information et de faire les changements ou les traitements nécessaires. Si c'est le cas, il est préférable d'attendre qu'il ne soit plus occupé avant de lui envoyer de nouvelles informations, que ce soit sur le même port ou un autre.


next up previous contents
suivant: Interruptions matérielles monter: Fonctionnement général des périphériques précédent: Fonctionnement général des périphériques   Table des matières
nicolas 2006-07-30