1
Programmation du Noyau Linux
Olivier Dalle
Chapitre 11
Chapitre 11
Gestion des Entrées/Sorties
(Noyau Linux)
2
Programmation du Noyau Linux
Olivier Dalle
Architecture Matérielle : Bus
Architecture Matérielle : Bus
Bus
Bus
Ensemble de lignes reliant plusieurs composants
Ensemble de lignes reliant plusieurs composants
Tous les composants voient tout ce qui passe
Tous les composants voient tout ce qui passe
Permet la transmission de signaux (bits) en parallel
Permet la transmission de signaux (bits) en parallel
Architecture PC : 3 bus
Architecture PC : 3 bus
Données
Données
Pentium = 64 bits (lignes)
Pentium = 64 bits (lignes)
Adresse
Adresse
Pentium = 32bits
Pentium = 32bits
Contrôle
Contrôle
Verrouillage du bus donnée
Verrouillage du bus donnée
Sens des transferts (lecture/écriture)
Sens des transferts (lecture/écriture)
...
...
Chapitre 11 – Gestion des Entrées/Sorties
3
Programmation du Noyau Linux
Olivier Dalle
Bus d'Entrées/Sorties
Bus d'Entrées/Sorties
Lignes qui relient CPU <-> périph. E/S
Lignes qui relient CPU <-> périph. E/S
Sous-ensemble des 3 bus primaires
Sous-ensemble des 3 bus primaires
Sur archi. 80x86
Sur archi. 80x86
Adresses : 16 lignes / 32
Adresses : 16 lignes / 32
Données : 8, 16 ou 32 /64
Données : 8, 16 ou 32 /64
Connexion physique périph/Bus
Connexion physique périph/Bus
Hiérarchie de composants
Hiérarchie de composants
Ports d'E/S
Ports d'E/S
Interfaces
Interfaces
Controlleurs de périphériques
Controlleurs de périphériques
Chapitre 11 – Gestion des Entrées/Sorties
4
Programmation du Noyau Linux
Olivier Dalle
Ports d'E/S
Ports d'E/S
Chaque périphérique a son propre ensemble d'adresses
Chaque périphérique a son propre ensemble d'adresses
Appelées "Port d'E/S"
Appelées "Port d'E/S"
Jusqu'à 65K ports 8 bits
Jusqu'à 65K ports 8 bits
2 ports 8bits contigus = 1 port 16 bits
2 ports 8bits contigus = 1 port 16 bits
2 ports 16 bits contigus = 1 port 32 bits
2 ports 16 bits contigus = 1 port 32 bits
Instructions réservées en assembleur
Instructions réservées en assembleur
in/out : lecture/écriture 1 octet
in/out : lecture/écriture 1 octet
ins/outs : lecture/écriture d'une séquence d'octets
ins/outs : lecture/écriture d'une séquence d'octets
Les ports peuvent être
Les ports peuvent être mappés
mappés en mémoire physique
en mémoire physique
Ne pas confondre avec DMA ...
Ne pas confondre avec DMA ...
Lecture/écriture à l'aide d'instructions standard
Lecture/écriture à l'aide d'instructions standard
mov, and, or, ...
mov, and, or, ...
Chapitre 11 – Gestion des Entrées/Sorties
5
Programmation du Noyau Linux
Olivier Dalle
Organisation des Ports d'E/S
Organisation des Ports d'E/S
Vue logique : 4 "registres"
Vue logique : 4 "registres"
Contrôle : CPU -> périph.
Contrôle : CPU -> périph.
Etat
Etat (status) :
(status) : périph -> CPU
périph -> CPU
Entrée
Entrée (Input) :
(Input) : données périph -> CPU
données périph -> CPU
Sortie :(
Sortie :(Output) :
Output) : données CPU -> périph.
données CPU -> périph.
Implémentation Physique
Implémentation Physique
Réduction des coûts = réutilisation des ports
Réduction des coûts = réutilisation des ports
Ex: même port pour Entrée et Sortie
Ex: même port pour Entrée et Sortie
Chapitre 11 – Gestion des Entrées/Sorties
1 / 24 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !