Vous êtes sur la page 1sur 40

GESTION DES ENTREES-SORTIES

• Le rôle des unités


d ’échanges
• L’adressage et la Horloge
Processeur
Central
constitution des unités
Bus
d ’échanges
• Les modes de transferts : Mémoire
d'
échange
Centrale
mode programmé, DMA Interface d’entrées/sorties

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)

• On distingue habituellement les catégories de périphériques suivantes :


– périphériques de sortie: ce sont des périphériques permettant à l’ordinateur
d’émettre des informations vers l’extérieur, tels qu'un écran, une imprimante..
– périphériques d'entrée : ce sont des périphériques capables uniquement
d'envoyer des informations à l'ordinateur, par exemple la souris, le clavier, etc.
– périphériques d'entrée-sortie : ce sont des périphériques capables d'envoyer
des informations à l'ordinateur et permettant également à l’ordinateur démettre
des informations vers l’extérieur, par exemple le modem, le disque dur
3
• Interfaces

1. USB : connexion « à chaud » de périphériques


2. RJ45 : connexion au réseau local filaire
3. VGA : connexion de l’écran
2 4
4. HDMI : connexion à un écran haute résolution
4
Joëlle Delacroix-NFA004
1 2
L ’unité d ’échange

• Rôle de l ’unité d ’échange


• connexion des unités
Processeur
périphériques au bus
Horlo
ge
Central
• gestion des échanges entre le
processeur et les périphériques
Bus
Mémoire (adaptation)
Cache

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

données • Une registre d ’état qui indique


si l ’unité d ’échange est prête,
si l ’échange s ’est bien déroulé,
etc...

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

Processeur Slots d’extension


Central

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)

(ETTD : équipement terminal


de traitement 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

• Le processeur peut adresser de deux façons différentes les


registres d’une unité d’échange (espace d’adresses des
entrées-sorties).

• Espace séparé : l’espace d’adresses des entrée-sorties est distinct


de celui de la mémoire centrale. Le processeur désigne grâce à une
ligne de commande du bus à quel espace il s’adresse.

• Espace intégré ou unique : l’espace d’adresses des entrées-orties


est contenu dans celui de la mémoire centrale. Cette zone est
invalide pour le contrôleur de mémoire.

Joëlle Delacroix-NFA004 10
L’unité d ’échange : adressage dans un espace séparé

espace d ’adressage séparé


0
• LOAD D R1 60
• un mot mémoire d’adresse 60
est chargé dans le registre R1
Espace
Mots mémoires Adresses
mémoire
• IN D R1 60
• un registre d’adresse 60 d ’une
unité d ’échange est chargé
200 dans R1

0 Espace  c ’est le type d ’instruction qui


Registres des Adresses distingue l ’espace d ’adressage
unités d ’échanges Entrées-sorties concerné
100
Joëlle Delacroix-NFA004 11
L’unité d ’échange : adressage dans un espace séparé
Bus
in/out
de
Lecture/Ecriture commandes

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é

• Des instructions IN D R1 X OUT D R1 X


spécifiques d’entrée- Le contenu du Le contenu du
sorties in/out adressent registre d’UE registre R1 du
d’adresse X est processeur est
les unités d’échanges. placé dans le placé dans le
registre R1 du registre d’UE
processeur d’adresse X

Joëlle Delacroix-NFA004 14
L’unité d ’échange : adressage dans un espace unique

espace d ’adressage unique


• LOAD D R1 102
0
• le mot mémoire d’adresse 102
est chargé dans le registre R1

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

201 Espace  c ’est l ’adresse utilisée qui


Registres des Adresses détermine l ’espace adressé
unités d ’échanges Entrées-sorties
300
Joëlle Delacroix-NFA004 15
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 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

• Le rôle des unités d ’échanges


• L ’adressage et la constitution des unités d ’échanges
 Les modes de transferts : mode programmé, DMA

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

1. Mettre octet dans RD; RD libre, N fois RD libre ?


non
oui

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

• Pilote d’entrées-sorties : c’est un programme du système


d’exploitation qui gère l’unité d’échange.

• Chaque unité d’échange a son propre pilote (driver).

• Un programme utilisateur faut appel au pilote pour utiliser


un périphérique.

• Les opérations réalisées par le pilote divergent en


fonction du mode d’entrées-sorties utilisé (programmés,
avec interruptions, avec DMA)

Joëlle Delacroix-NFA004 22
Le mode d’entrées-sorties programmé

• Par défaut, une unité d'échange :


• ne sait pas accéder à la
mémoire centrale
commande • ne sait pas délivrer son état
Prête ?

état 1. Le processeur doit lire


Transfert Ok ? chaque mot depuis la mémoire
centrale et le placer dans RD
données (ou vice versa)

2. Le processeur doit scruter le


registre RE pour savoir si
Unité d’échange l'unité d'échange est prête
pour un nouveau transfert
Joëlle Delacroix-NFA004 23
Le mode programmé
Mémoire centrale , pilote d’E/S
Tant que les N octets ne sont pas transférés
Tant que UE non prête (bit P de RE)
attendre
fin tant que
CPU transférer l’octet suivant dans RD
fin tant que
Test du bit P de RE

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)

RE prêt RE non prêt RE prêt RE non prêt cpu


1 octet -> RD attente 1 octet -> RD attente

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

Écriture octet Écriture octet


imprimante imprimante

Joëlle Delacroix-NFA004 25
Le mode d’entrées-sorties avec interruptions

• Par défaut, une unité d'échange :


• ne sait pas délivrer son état

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 ?

données  Il faut ajouter un mécanisme qui


permette à l‘UE de signaler son
état par elle même : les
interruptions

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

RE prêt RE prêt RE prêt


1 octet -> RD 1 octet -> RD Fin e/s actif

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

Écriture octet Écriture octet


imprimante imprimante

Joëlle Delacroix-NFA004 29
Le mode d’entrées-sorties avec DMA

• Par défaut, une unité d'échange :


• ne sait pas accéder à la mémoire
centrale

commande  Le processeur doit lire chaque


Prête ? mot depuis la mémoire centrale et
le placer dans RD (ou vice versa)
état
Transfert Ok ?
 Il faut permettre à L'UE d’accéder
à la mémoire centrale sans
données recourir au processeur : le DMA
(DIRECT MEMORY ACCESS)

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.

• Les dispositifs gérés par le DMA sur un PC sont entre


autres :
DMA3
• Le contrôleur de disquettes (canal DMA2)
• Les contrôleurs de disques durs (canal DMA6)
DMA2
• La carte son (canal DMA1)
• Le port parallèle (imprimante) (canal DMA3)
Contrôleur
DMA
• 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.
UE UE
• Le contrôleur DMA d’un PC gère 8 canaux DMA.

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

sorties avec DMA pilote

Routine
IRQ
Imprimer (buf, 2 octets)

Init DMA RE prêt


Lancer DMA Fin e/s actif
cpu
inactif
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

Écriture octet Écriture octet


imprimante imprimante
Joëlle Delacroix-NFA004 33
Le mode d’entrées-sorties avec DMA

Joëlle Delacroix-NFA004 34
Le mode d’entrées-sorties avec DMA

• 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)

cpu DMA
bus
Le maître initie le transfert sur le bus
L’esclave répond aux sollicitations du maître
Mémoire
centrale

 Transfert en mode bloc (burst, rafale)


 Transfert en mode vol de cycle
Joëlle Delacroix-NFA004 35
Entrées-sorties avec DMA : mode rafale
• 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.

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

Écriture octet Écriture octet


imprimante imprimante
Joëlle Delacroix-NFA004 37
Entrées-sorties avec DMA : mode vol de cycle

• 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.

Joëlle Delacroix-NFA004 38
Le mode avec DMA Pg utilisateur
(vol de cycle)
pilote

III. REQ_DMA Routine


I. REQ_DMA IV. ACQ_DMA IRQ
Imprimer (buf, 2 octets) II. ACQ_DMA

Init DMA RE prêt


Lancer DMA Fin e/s actif
État suspendu État suspendu cpu
inactif
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

Écriture octet Écriture octet


imprimante imprimante
Joëlle Delacroix-NFA004 39
Le mode avec DMA Pg utilisateur Pg utilisateur
(vol de cycle)
pilote

III. REQ_DMA Routine


I. REQ_DMA IV. ACQ_DMA IRQ
Imprimer (buf, 2 octets) II. ACQ_DMA

Init DMA RE prêt


Lancer DMA Fin e/s actif
État suspendu État suspendu cpu
inactif
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

Écriture octet Écriture octet


imprimante imprimante
Joëlle Delacroix-NFA004 40

Vous aimerez peut-être aussi