Académique Documents
Professionnel Documents
Culture Documents
Joëlle Delacroix-NFA004 1
Périphériques de l’ordinateur
Processeur
Horloge Central
Bus
Un périphérique est un matériel électronique
Mémoire d' échange pouvant être raccordé à un ordinateur par
Centrale Interface d’entrées/sorties
l'intermédiaire de l'une de ses interfaces d'entrée-
sortie (interface VGA, HDMI, USB, RJ45.), le plus
souvent par l'intermédiaire d'un connecteur.
L’interface d’entrées-sorties est pilotée par un
driver (pilote d’entrées-sorties)
Mémoir
d' échange
• Particularités des unités
e
Central Unité d’échange d ’échanges
e
• Constitution et adressage
• Gestion des transferts
Joëlle Delacroix-NFA004 3
L ’unité d ’échange
DONNEES
PERIPHERIQUE
Dialogue spécifique
Format normalisé
Interface d’E/S
CPU PORT
de communication
Bus d’entrées/sorties
Contrôle/ Synchro
Selon protocole
(série, Parallèle…)
Interface
d’entrées-sorties
USB (contrôleur)
Connecteur USB
Port de communication :
Voies en entrées et sorties entre UE Protocole de
et périphériques communication USB
Joëlle Delacroix-NFA004 4
L ’unité d ’échange
Unité d ’échange
• Un registre de commande dans
lequel le processeur décrit le
travail à effectuer
commande
Prête ? • Un registre de données qui
contient les mots à échanger
état entre le périphérique et la
Transfert Ok ? mémoire centrale
Joëlle Delacroix-NFA004 5
Un exemple d’unité
L’INTERFACE SER
Réseau
d ’échange
L’UART
Processeur SCSI Ethernet
Graphique
Mémoire Locale
Bus AGP
Horloge
66 MHZ
Processeur Slots d’extension
Carte parallèle
Central
Bus PCI
33 MHz
Pont PCI
Pont
Bus ISA
8 MHZ
PCI/ISA
Carte série
Modem RTC
Mémoire
Réseau
Centrale 100 MHZ
Ports USB
Disques IDE
Joëlle Delacroix-NFA004 6
Un exemple d’unité
d ’échange
L’UART
Processeur SCSI Ethernet
Graphique
Mémoire Locale
Connecteurs V 24
Bus AGP
Horloge
Bus PCI
Protocole RS232
Chipset AGP
Pont PCI
Bus ISA
Pont
PCI/ISA
UART
Réseau
Mémoire
RTC
Centrale
Modem RTC
Ports USB (ETCD : équipement terminal
de circuit de données)
Joëlle Delacroix-NFA004 7
Un exemple d’unité d ’échange
L’UART (universal Asynchronous
INTR Receiver Transmitter)
Donnée reçue
Réception Réception
à décalage
8 1 1
Valider 0
Interruptions 0 1001
1
Logique Logique 1
Statut ligne
d’interruption communication 0
0
1
BUS Ident.
Interruption
1
Diviseur 0
0
1001 100
1
Contrôle ligne 1
0
Contrôle Modem RTS
DTR
CTS
Statut Modem DSR
RSLD
RI
Transmission. Transmission
à décalage
8 1
Donnée transmise
Joëlle Delacroix-NFA004 8
L’unité d ’échange : adressage
Unité d ’échange A3 CO
RI
AregC commande
AregE
état
AregD
données
A1
Store D R1 A8
Espace d’adresse des entrées - sorties A2
A3 écrire R1 dans registre de données de l’UE
A4
A5
C’est le processeur qui charge A6
les registres de l’UE en fonction A7
de l’opération d’E/S réalisée A8
Il doit adresser les registres des UE
Espace d’adresse de la mémoire centrale
Joëlle Delacroix-NFA004 9
L’unité d ’échange : adressage
Joëlle Delacroix-NFA004 10
L’unité d ’échange : adressage dans un espace séparé
Bus
de
données
LOAD D R1 60 Unité
Mémoire
d'
RAM
échange
60 Bus
d'adresse
Joëlle Delacroix-NFA004 12
L’unité d ’échange : adressage dans un espace séparé
Bus
in/out
de
Lecture/Ecriture commandes
Bus
de
données
• IN D R1 60 Unité
Mémoire
d'
RAM
échange
60 Bus
d'adresse
Joëlle Delacroix-NFA004 13
L’unité d ’échange : adressage dans un espace séparé
Joëlle Delacroix-NFA004 14
L’unité d ’échange : adressage dans un espace unique
100 Espace
Mots mémoires Adresses
101 mémoire • LOAD D R1 203
• Le registre d ’une unité
d ’échange d’adresse 203 est
200 chargé dans R1
Bus
de
données
Unité
Mémoire
d'
RAM
LOAD D R1 203 échange
Bus
203 d'adresse
Joëlle Delacroix-NFA004 16
L’unité d ’échange : adressage dans un espace unique
Bus de commandes Lecture/Ecriture
Bus
de
données
Unité
Mémoire
d'
RAM
LOAD D R1 102 échange
Bus
102 d'adresse
Joëlle Delacroix-NFA004 17
Adressage Unité d'échange
espace séparé, espace intégré
Espace intégré Espace séparé
Les mêmes instructions (load/store) Des instructions différentes
adressent les deux espaces adressent les deux espaces
d’adresses : simplicité de d’adresses :
programmation Load/store mémoire
In/out entrées/sorties
L’espace d’adresses des entrée- L’espace d’adresses des entrées-
sorties est limité par celui de la sorties n’est pas limité en taille
mémoire centrale. Il impute sur la
taille de l’espace d’adresses de la
mémoire.
Si l’espace des adresses mémoire est petit, on préférera un espace séparé
d’entrées-sorties.
Joëlle Delacroix-NFA004 18
GESTION DES ENTREES-SORTIES
Joëlle Delacroix-NFA004 19
GESTION DES ENTREES- On souhaite imprimer N
octets de la mémoire
SORTIES centrale
Chaque octet doit être
Mémoire centrale écrit dans RD, puis être
envoyé à l’imprimante
CPU par l’UE
N octets
RD libre
Mettre octet
UE UE dans RD
RD
2. Transférer RD dans
l’imprimante;
RD occupé
3. Libérer RD Ecrire octet sur
IMP
RD libre
Joëlle Delacroix-NFA004 20
GESTION DES ENTREES-SORTIES
Système d’exploitation
Programme utilisateur Pilote (driver)
Début
Char buf (1..n) Imprimer () CPU
Imprimer (buf, n octets) (logiciel)
Tester()
fin
UE
Mémoire centrale
RD
N octets
(matériel)
Joëlle Delacroix-NFA004 21
GESTION DES ENTREES-SORTIES
Joëlle Delacroix-NFA004 22
Le mode d’entrées-sorties programmé
RD libre
?
non
RE P RD • Traitement des entrées- oui
sorties Mettre octet
UE • le CPU gère l'entrée- dans RD
sortie par scrutation de
L'UE
RD occupé
• le CPU est complètement
occupé par l'entrée- Ecrire octet sur
IMP
sortie.
RD libre
Joëlle Delacroix-NFA004 24
Le mode programmé Pg utilisateur
pilote
Imprimer (buf, 2 octets)
Scrutation Scrutation
de RE de RE
RD UE
RD RD octet RD octet
RE RE RE prêt RE non prêt prêt
prêt non prêt prêt
non prêt
Joëlle Delacroix-NFA004 25
Le mode d’entrées-sorties avec interruptions
commande
Prête ? Le processeur doit scruter le
registre RE pour savoir si l'unité
état d'échange est prête pour un
nouveau transfert
Transfert Ok ?
Unité d’échange
Joëlle Delacroix-NFA004 26
Le mode d’entrées-sorties avec interruptions
Numéro adresse
1 1000
2 1100
CPU 3 1500
4 2000
IRQ numéro Mémoire centrale
p
UE RE Une interruption est un signal asynchrone
pouvant être émis par tout dispositif
UE externe au processeur, qui interrompt le
travail courant du processeur pour forcer
l'exécution d'un programme traitant la
cause de l'interruption : la routine d'interruption
Joëlle Delacroix-NFA004 27
Le mode d’entrées- Mémoire centrale
sorties avec Sous_Programme d'IRQ_UE :
transférer donnée_suivante dans RD
interruptions RTI
Pilote d’Entrées-sorties :
CPU Vérifier UE prête;
Transférer première_donnée dans RD;
RD libre
?
UE non
RE RD oui
Mettre octet
dans RD
• Traitement des entrées-sorties
RD libre
L'UE délivre une interruption
pour signaler qu'elle est prête : le RD occupé
processeur ne fait plus de Ecrire octet sur
scrutation du registre d’état IMP
RD libre
Joëlle Delacroix-NFA004 28
IRQ
Pg utilisateur
Le mode d’entrées-
pilote
sorties avec interruptions
Routine
IRQ
Imprimer (buf, 2 octets) cpu
inactif
irq irq
RD UE
RD RD octet RD octet
RE RE RE prêt RE non prêt prêt
prêt non prêt prêt
non prêt
Joëlle Delacroix-NFA004 29
Le mode d’entrées-sorties avec DMA
Unité d’échange
Joëlle Delacroix-NFA004 30
Le mode d’entrées-sorties avec DMA Mémoire
centrale
• Le DMA est un contrôleur d’entrées-sorties qui permet
aux unités d’échanges d’accéder à la mémoire
centrale sans intervention du processeur.
Joëlle Delacroix-NFA004 31
Le mode d’entrées- Sous_Programme d'IRQ_DMA :
sorties avec DMA Vérification transfert OK
RTI
Pilote d’entrées-sorties :
Initialiser DMA :
CPU nb = nombre d'octets à transférer
@m = adresse premier octet en MC
sens = écriture;
@p = adresse périphérique
Lancer DMA
nb @p
DMA
sens @m
• Traitement des entrées-sorties
• le processeur (pilote) initialise le DMA
• le DMA effectue l'entrée/sortie;
p
UE RE • le DMA signale la fin d'entrée-sortie par
une IRQ
Joëlle Delacroix-NFA004 32
Le mode d’entrées- Pg utilisateur
Routine
IRQ
Imprimer (buf, 2 octets)
RD RD octet RD RD octet
RE RE RE prêt RE non prêt prêt
prêt non prêt prêt
UE
non prêt
Joëlle Delacroix-NFA004 34
Le mode d’entrées-sorties avec DMA
cpu DMA
bus
Le maître initie le transfert sur le bus
L’esclave répond aux sollicitations du maître
Mémoire
centrale
cpu DMA
REQ_DMA / ACQ_DMA
INTR bus
Joëlle Delacroix-NFA004 36
I. Le DMA force l’accès au bus (REQ_DMA)
II. Le CPU acquitte la demande (ACQ_DMA) et se place dans Le mode avec DMA Pg utilisateur
un état de suspension
III. Le DMA réalise le transfert. A la fin du transfert, il relâche le
(burst mode)
bus (REQ_DMA) pilote
IV. Le processeur quitte l’état suspendu, relâche ACQ_DMA.
V. Le DMA envoie une IRQ. Routine
IRQ
Imprimer (buf, 2 octets)
I. REQ_DMA III. REQ_DMA
Init DMA II. ACQ_DMA IV. ACQ_DMA RE prêt
Lancer DMA Fin e/s actif
II. État suspendu cpu
inactif
III. Transfert
V. irq actif
DMA
inactif
RD RD octet RD RD octet
RE RE RE prêt RE non prêt prêt
prêt non prêt prêt
UE
non prêt
Joëlle Delacroix-NFA004 38
Le mode avec DMA Pg utilisateur
(vol de cycle)
pilote
RD RD octet RD RD octet
RE RE RE prêt RE non prêt prêt
prêt non prêt prêt
UE
non prêt
RD RD octet RD RD octet
RE RE RE prêt RE non prêt prêt
prêt non prêt prêt
UE
non prêt