chapitre iv entrées sorties et bus
Post on 03-Jun-2015
590 Views
Preview:
TRANSCRIPT
CHAPITRE IV:
ENTRÉES/SORTIES ET BUS
Université Saad Dahlab de Blida
Faculté des Sciences
Département d’Informatique
Licence Génie des Systèmes Informatiques (GSI)
Semestre 4 (2ème année)
S. AROUSSI
Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
PLAN DU CHAPITRE IV
Partie A: Entrées/Sorties
Périphériques E/S
Logiciels d’E/S: Moniteurs de gestion, Pilote, Contrôleurs
Modes E/S: programmées, par interruptions, par accès direct à la
mémoire
Partie B: Bus
Définition
Caractéristiques
Protocole de gestion (transfert de données et contrôle d’accès)
Principaux bus
2
PARTIE A:
ENTRÉES/SORTIES (E/S)
4
Entrées/Sorties (E/S) désigne l’ensemble des transferts de
données qui permettent au processeur de communiquer avec les
périphériques.
Entrées : données envoyées par un périphérique à
destination de l’unité centrale.
Sorties : données émises par l’unité centrale à destination
d’un périphérique.
Un périphérique est un matériel électronique pouvant être
raccordé à un ordinateur par l'intermédiaire de l'une de ses
interfaces d'entrée-sortie (interface série, parallèle, USB, etc.),
PÉRIPHÉRIQUES ENTRÉES/SORTIES
5
On distingue habituellement les catégories de périphériques
suivantes :
Périphériques d'entrée : capables uniquement d'envoyer
des informations à l'ordinateur, par exemple la souris, le
clavier, etc.
Périphériques de Sortie: permettant à l’ordinateur
démettre des informations vers l’extérieur, tels qu'un écran,
une imprimante..
Périphériques de Stockage : capables de stocker les
informations de manière permanente (disque dur, CD-ROM,
DVD)
PÉRIPHÉRIQUES ENTRÉES/SORTIES
6 Périphériques de Stockage
Mémoires auxiliaires
PÉRIPHÉRIQUES ENTRÉES/SORTIES
7
Selon le type le format de données, on distingue aussi deux
autres catégories de périphériques :
Périphériques par caractères dans lesquels, on accède
à l’information caractère par caractère (exemple : le
clavier) mais on ne peut spécifier une adresse ni
rechercher une information : on reçoit ou on envoie
simplement un flux de caractères.
Périphériques par blocs dans lesquels, on ne peut
accéder à l’information que par blocs et chaque bloc
possède une adresse (exemple : le disque).
PÉRIPHÉRIQUES ENTRÉES/SORTIES
8
PÉRIPHÉRIQUES ENTRÉES/SORTIES
Il est ainsi nécessaire d’assurer une compatibilité entre le format de
données et les vitesses de transfert du processeur et du
périphérique. C’est le rôle de Contrôleur de périphérique.
9
En général, on organise les logiciels
d'entrées/sorties suivant quatre couches :
Ce découpage :
sépare les problèmes liés au matériel ;
regroupe les commandes pour la
présentation à l'utilisateur ;
permet d'abstraire les numéros de
périphériques en noms logiques ;
assure la généralité des opérations d'E/S
pour satisfaire toutes les demandes ;
permet de gérer des unités par type
(disque banal).
LOGICIELS D’ENTRÉES/SORTIES
Moniteur de gestion des E/S
10
C'est la partie du système d'exploitation qui assure la communication
entre l'utilisateur et le système ;
Il propose un petit nombre de procédures générales, très
indépendantes du matériel : écrire sur un écran ou dans un fichier se
fait par la même fonction (l'appel du système de gestion de fichier est
implicite). Il réalise donc une abstraction des opérations de
lecture/écriture.
Il assure les contrôles indispensables pour vérifier la cohérence du
traitement demandé (prise en charge des défauts périphérique, gestion
de la mémoire utilisée pour les échanges,...).
Il réalise le partage des périphériques (accès exclusif pour une
imprimante, accès simultané pour un disque) et la protection des
données.
MONITEURS DE GESTION DES E/S
11
Le pilote (ou driver) d’E/S est un programme de plus bas
niveau ; Il est responsable de la gestion d'un type
particulier de périphérique, et il est adapté aux signaux
que ce type de périphérique émet ou reçoit. C'est en
général un programme réentrant, partagé entre les
différents utilisateurs.
Il gère directement l'interface du coupleur du
périphérique, traite les interruptions émises par celui-ci,
détecte et traite les cas d'erreur. C'est au niveau de ce
module que doivent être traitées les particularités de
programmation du coupleur.
PILOTE D’ENTRÉE/SORTIE
12
Un périphérique d’E/S contient en fait deux parties : un
appareil ou dispositif (clavier, écran, disque, …) et un
contrôleur de périphérique (appelé aussi l’Unité
d’Echange, UE).
CONTRÔLEUR D’ENTRÉE/SORTIE
13
Le contrôleur sert d’interface entre le périphérique et le
processeur :
Il reçoit les requêtes du processeur et les transforme en
commandes pour le périphérique,
Les principales requêtes qu’un processeur envoie à un
périphérique sont « lecture » et « écriture ».
Selon les périphériques, ces requêtes peuvent correspondre à
des commandes simples ou complexes.
Et réciproquement, il envoie les requêtes du
périphérique au processeur.
CONTRÔLEUR D’ENTRÉE/SORTIE
14
Les principales composantes d’un contrôleur d’E/S:
la mémoire tampon pour des données (sous forme de registres),
une logique de contrôle pour décoder l’adresse et les lignes de
contrôle, et
une ou plusieurs interfaces avec un ou plusieurs périphériques.
CONTRÔLEUR D’ENTRÉE/SORTIE
15
Les contrôleurs d’E/S ont plusieurs fonctions:
Lire ou écrire des données du périphérique.
Lire ou écrire des données du processeur.
Contrôler le périphérique et lui faire exécuter des
séquences de tâches.
Tester le périphérique et détecter des erreurs.
Mettre certaines données du périphérique ou du
processeur en mémoire tampon afin d’ajuster les
vitesses de communication.
CONTRÔLEUR D’ENTRÉE/SORTIE
16
Il existe plusieurs techniques pour communiquer à partir
du processeur vers un périphériques à travers un
contrôleur E/S.
Les trois principales techniques sont
E/S programmées
E/S par interruptions
E/S par accès direct à la mémoire (DMA : Direct
Memory Acces).
MODES ENTRÉES/SORTIES
17
ENTRÉES/SORTIES PROGRAMMÉES
L'unité d'échange ne sait pas délivrer d'informations sur
son état.
Pour savoir si l'unité d'échange est prête à recevoir ou
délivrer une nouvelle donnée, le processeur doit
régulièrement lire le contenu du registre d'état RE de
l'unité d'échange.
Le processeur est donc complètement occupé durant
l'entrée sortie par la réalisation de cette boucle de
scrutation.
18
EXEMPLE
19
ENTRÉES/SORTIES PROGRAMMÉES
20
ENTRÉES/SORTIES PROGRAMMÉES
21
ENTRÉES/SORTIES PAR INTERRUPTIONS
Une façon d’éliminer les délais d’attente du processeur est
d’utiliser des interruptions: l'unité d'échange délivre alors une
interruption à destination du processeur lorsqu'elle est prête à
délivrer ou recevoir une nouvelle donnée. Le processeur, à la
prise en compte de cette interruption, va exécuter la routine
associée qui lit la donnée présente dans RD (lecture) ou met dans
RD la donnée suivante à écrire.
22
ENTRÉES/SORTIES PAR INTERRUPTIONS
23
ENTRÉES/SORTIES PAR INTERRUPTIONS
Le processeur ne doit donc plus scruter le registre d'état RE
de l'unité d'échange pour savoir si celle-ci est prête.
Cependant, il reste le seul à pouvoir accéder à la mémoire
centrale et doit donc encore gérer l'entrée sortie dans le sens où
il doit se charger des transferts mémoire centrale – registre de
donnée.
Il faut permettre à L'UE d’accéder à la mémoire centrale sans
recourir au processeur : le DMA (Direct Memory Access)
24
Le DMA permet aux unités d’échanges d’accéder à la mémoire
centrale sans intervention du processeur.
Les périphériques par blocs sont gérés par le DMA sur un PC :
Le contrôleur de disquettes
Les contrôleurs de disques durs
La carte son
Le port parallèle (imprimante)
etc
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
25
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
Chaque dispositif utilise un canal
DMA identifié par une adresse de
début et une adresse de fin en
mémoire centrale qui désigne la
zone en MC accessible pour le
transfert.
Le contrôleur DMA d’un PC gère 8
canaux DMA.
26
Combiner au mécanisme d'interruption, le DMA permet de
décharger le processeur de toute la réalisation des
entrées/sorties:
1. Le processeur n'a plus qu'à initialiser l'opération en
initialisant le contenu des registres du DMA.
2. Le DMA se charge ensuite d'effectuer l'opération
d'entrées/sorties, en lisant ou écrivant lui-même en mémoire
centrale les données transférées par l'unité périphérique.
3. Lorsque l'opération d'entrées sorties est terminée, le DMA
émet une interruption pour le signaler au processeur.
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
27
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
28
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
29
DMA et processeur sont en concurrence pour l’accès au bus
et à la mémoire centrale:
Un seul dispositif peut être à un moment donné maître du bus et y
initialiser un transfert avec la mémoire (esclave)
Deux modes de transfert: bloc (burst, rafale) ou vol de cycle
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
30
Le DMA opère le transfert des n octets en une seule séquence
ininterrompue.
Durant ce transfert, le DMA est maître du bus.
Le processeur est « suspendu » durant la totalité du transfert.
I. Le DMA force l’accès au bus (REQ_DMA)
II. Le CPU acquitte la demande (ACQ_DMA) et se place dans un
état de suspension
III. Le DMA réalise le transfert. A la fin du transfert, il relâche le
bus (REQ_DMA)
IV. Le processeur quitte l’état suspendu, relâche ACQ_DMA.
V. Le DMA envoie une IRQ.
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
MODE RAFALE
31
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
MODE RAFALE
32
Le DMA opère le transfert des n octets octet par octet.
Il « vole » des cycles d’accès au bus pour transférer
chaque octet.
Le processeur est « suspendu » durant le transfert d’un
octet
Processeur et DMA se partagent l’accès au bus durant
le transfert des n octets.
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
MODE VOL DE CYCLE
33
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
MODE VOL DE CYCLE
34
E/S PAR ACCÈS DIRECT À LA MÉMOIRE
MODE VOL DE CYCLE
PARTIE B:
BUS
36
Les transferts d'information entre le processeur, la mémoire et les
différents contrôleurs d'E/S s'effectuent à travers des dispositifs de
communication appelés bus.
Un bus est un ensemble de liaisons physiques (câbles,
circuits imprimés) reliant différents composants de
l’ordinateur et leur permettant de communiquer .
DÉFINITION
37
Un bus est capable de véhiculer des signaux correspondant
fondamentalement à trois types d'informations : adresses;
données et commandes (ou contrôle).
DÉCOMPOSITION
38
Le bus d’adresses permet de définir l’adresse du module/composant
auquel on veut accéder en lecture ou écriture;
Le bus de données permet l’envoi et la réception de données
(lecture/écriture) ;
Le bus de contrôle permet d’indiquer une écriture, une lecture ou
autres commandes.
DÉCOMPOSITION
39
Largeur du bus : nombre de bits que le bus peut
véhiculer simultanément
Bus série / Bus parallèle
CARACTÉRISTIQUES
40
Direction de transmission
Simplex – unidirectionnel
Duplex – bidirectionnel
CARACTÉRISTIQUES
Bidirectionnel
41
Cadencement du bus
Bus synchrones /Bus asynchrones :
Bus synchrone dispose d’un horloge propre qui définit le cycle
du bus.
Bus asynchrone n’y a pas d’horloge associée au bus, les
dispositifs dialoguent par le biais de signaux de disponibilité
Débit du bus : nombre d’octets véhiculés par seconde exprimés en
Mo/s
Débit (Bus synchrone unidirectionnel) = largeur * fréquence
où la fréquence = nombre de cycles par secondes (Méga-Hertz)
CARACTÉRISTIQUES
42
Protocole de gestion de bus:
Le bus est une ressource partagée entre différents
composants.
Une transaction bus comprend donc deux étapes,
d'abord l'arbitrage entre plusieurs demandeurs
potentiels, puis le transfert de données.
L'ensemble des mécanismes d'arbitrage et de transfert
est appelé le protocole de gestion de bus.
CARACTÉRISTIQUES
43
On peut classer les éléments connectés à un bus en deux
catégories:
Les esclaves: sont passifs et répondent à des requêtes
(e.g. mémoire)
Les maîtres: sont actifs et initient des requêtes. Ils
prennent le contrôle du bus (e.g. processeur)
Il ne peut pas y avoir 2 maîtres actifs simultanément
Besoin d'arbitrage pour l’accès au bus.
PROTOCOLE DE GESTION DE BUS
44
Transaction pour communication entre maître et esclave:
1. Obtention du contrôle du bus par le maître
2. Envoi d'une adresse qui identifie l'esclave et ses
éléments.
3. Envoi d'une requête (lecture, écriture ...)
4. Envoi de données vers l'esclave
5. Libération du bus
PROTOCOLE DE GESTION DE BUS
45
1. Précision des adresses et des données
Lecture/écriture multiplexée: On envoie d'abord
l'adresse, ensuite on envoie/reçoit les données
Lecture/écriture non-multiplexée: Adresses et données
sont envoyées en même temps
2. Envoi/réception des données
Donnée par donnée
Par blocs de données
TRANSFERT DES DONNÉES
46
Arbitrage:
Permet de gérer l'accès au bus si plusieurs maîtres
connectés/
Définit la politique d'accès des maîtres.
Vérifie qu’un seul maître contrôle le bus à la fois.
Propriétés d’arbitrage à respecter:
Priorité: Certains maîtres sont plus prioritaires que
d'autres
Équité: Tous les maîtres auront leur requêtes d'accès
satisfaites au bout d'un temps fini
CONTRÔLE D'ACCÈS AU BUS
47
Arbitrage statique
Chaque maître obtient le droit de contrôle du bus à tour
de rôle
Avantages: Très simple à mettre en œuvre
Inconvénients:
Passe la main aux maîtres ne désirant pas accéder
au bus
Pas de gestion des priorités
CONTRÔLE D'ACCÈS AU BUS
48
Arbitrage dynamique
Quand un maître veut accéder au bus, il en fait la
requête
La gestion des accès est alors faîte dynamiquement
Les maîtres font leur demande d'accès en envoyant
un signal de contrôle particulier
Plusieurs variantes pour gérer des demandes
simultanées d'accès: Centralisé, Par chaînage et
Décentralisé
CONTRÔLE D'ACCÈS AU BUS
49
Arbitrage centralisé
Un élément particulier centralise toutes les requêtes
d'accès au bus des maîtres
Lignes spécialisées sur le bus pour ces requêtes
Il connaît les priorités de chacun
A partir de là, c'est lui qui donne l'accès au bus au
maître le plus prioritaire
Lignes spécialisées sur le bus pour cette attribution
CONTRÔLE D'ACCÈS AU BUS
50
Arbitrage par chaînage
Les maîtres forment une chaîne avec les plus
prioritaires au début de la chaîne
Il y a une ligne de requête et une ligne d'occupation du
bus
Un élément voulant accéder au bus envoie un signal
sur la ligne de requête
CONTRÔLE D'ACCÈS AU BUS
51
Arbitrage par chaînage
L'arbitre envoie alors un jeton d'allocation le long de la
chaîne
Le premier maître qui veut accéder au bus récupère
l'allocation et utilise le bus
Il envoie un signal sur la ligne d'occupation pour
préciser que le bus est utilisé
CONTRÔLE D'ACCÈS AU BUS
52
Arbitrage par chaînage
Quand le maître actif à fini son opération, il désactive
la ligne d'occupation
Si la ligne de requête est encore active, le maître
renvoie un autre jeton d'allocation
CONTRÔLE D'ACCÈS AU BUS
53
Arbitrage par chaînage
Pour éviter la famine (un maître n'a jamais accès au
bus)
On interdit à un maître venant d'accéder au bus de
faire une nouvelle requête d'accès tant que la ligne
de requête n'est pas inactive
CONTRÔLE D'ACCÈS AU BUS
54
Arbitrage décentralisé
Plusieurs lignes/bit de priorité sont utilisées
4 lignes : 16 niveaux de priorité
Si un élément veut contrôler le bus
Compare son niveau de requête à celui des requêtes
en cours pour déterminer s'il pourra contrôler le bus
CONTRÔLE D'ACCÈS AU BUS
55
Dans un ordinateur, on distingue les bus suivants :
Le bus système (ou local) : permet au processeur de
communiquer avec la mémoire centrale (+1Go/s) ;
Le bus d'extension (ou d’E/S) : permet l'ajout de
périphérique, relié au bus système par un bridge e.g.,
PCI, PCI-X, AGP, PCI-Express, ExpressCard
Les bus externes : qui viennent se connecter sur le
bus d'extension e.g., ATA, SATA, SCSI, SAS, PC Card,
IEEE1394 (FireWire), USB
PRINCIPAUX BUS
56
PRINCIPAUX BUS
57
PRINCIPAUX BUS
58
PRINCIPAUX BUS
59
PRINCIPAUX BUS
SOURCES DE CE COURS
Introduction aux systèmes d’exploitation, Disponible sur
http://purargane.de/cours/linux/cours1.pdf
Jacques Gispert, Systèmes d'exploitation, Chapitre III : Gestion des entrées/sorties, 2007,
Disponible sur http://www.dil.univ-mrs.fr/~gispert/enseignement/coursSysteme/ES.php
Joëlle Delacroix, Architecture des ordinateurs, Gestion des entrées-sorties et bus, 2012.
Michel Salomon, Architecture des ordinateurs; Bus de communication, carte mère,
processeur et mémoire. Disponible sur
http://dut.proced90.com/matieres/dut/Architecture/cours/support.pdf
Clement Jonquet, Architecture des ordinateurs, Entrées/Sorties, 2012.
Eric Cariou, Les Bus et Entrées/Sorties, Disponible sur http://web.univ-
pau.fr/~ecariou/cours/archi/cours-6-bus-es.pdf
60
top related