Vous êtes sur la page 1sur 41

Échange de données

M. Abdoulaye DIENG
Sommaire
1. Unité centrale et périphériques
2. Interface d’entrée/sortie
3. Modes d’échange de données
4. Bus
5. Types de liaison
Unité centrale et périphériques
sommaire

1. Unité centrale et périphériques


a) Schéma
b) Communication
2. Interface d’entrée/sortie
3. Modes d’échange de données
4. Bus
5. Types de liaison
Unité centrale et périphériques
schéma
Unité centrale et périphériques
communication

• Fonctionnement d’un système à microprocesseurs (µP) :


1) acquérir des données fournies par l’environnement
2) traiter les données
3) restituer les résultats à l’environnement

• Pb : Les périphériques sont très lents p/r au µP et à la MC

• Sol : une ou +sieurs interfaces d’entrées/sorties permettant


d’assurer la communication entre le µP et les périphériques.
Interface d’entrée/sortie
sommaire

1. Unité centrale et périphériques


2. Interface d’entrée/sortie
a) Rôle
b) Composition
3. Modes d’échange de données
4. Bus
5. Types de liaison
Interface d’entrée/sortie
rôle

• Connecter le périphérique au bus de données

• Piloter l’opération d’entrée ou de sortie entre le µP et un


périphérique

• Formater les données et les mémoriser temporairement pour


adapter leur format et la vitesse de leur transfert
Interface d’entrée/sortie
composition

• Un registre de commande dans lequel le µP décrit le travail à


effectuer (sens de transfert, mode de transfert, …).

• Un ou plusieurs registres de données (RD) qui contiennent les


mots à échanger entre le périphérique et la mémoire centrale

• Un registre d’état (RE) qui indique si l’interface d’E/S est prête


pour recevoir une donnée, si l’échange s’est bien déroulé, …

q
Modes d’échange de données
sommaire

1. Unité centrale et périphériques


2. Interface d’entrée/sortie
3. Modes d’échange de données
a) Scrutation
b) Interruption
c) Échange direct avec la mémoire
4. Bus
5. Types de liaison
Modes d’échange de données
pilote d’entrée/sortie

• Pilote d’E/S = programme souvent intégré au système


d’exploitation, chargé de gérer l’interface d’E/S.

• Chaque interface d’E/S a son propre pilote (driver).

• Un programme utilisateur fait appel au pilote pour utiliser un


périphérique.

• Les opérations réalisées par le pilote dépendent du mode


d’échange utilisé (scrutation, IRQ ou DMA)
Modes d’échange de données
scrutation : principe

• Pb : une interface d’E/S ne peut pas « dire » au µP qu’elle est


prête pour un transfert.
• Sol : Le µP scrute régulièrement l’état de l‘interface d’E/S
• Scrutation : le µP lit régulièrement le registre d’état RE de
l‘interface d’E/S pour éventuellement effectuer un transfert
entre la mémoire centrale et le RD de l’interface d’E/S.
• Algo du fonctionnement du pilote d’E/S (cas d’un seul RD ) :
Tant que (il y a une donnée à transférer)
Tant que (interface d’E/S non prête) Boucle de
attendre scrutation du RE
Fin tant que
transférer la donnée dans RD
fin tant que
Modes d’échange de données
scrutation : schéma d’une impression de 2 caractères

1)
2)
4)
6)
3) 5)
Modes d’échange de données
scrutation : commentaires sur l’impression de 2 caractères

1) Le µP lit, à partir du programme utilisateur, l’instruction


imprimer(buf, 2 octets)
2) Le pilote d’E/S vérifie que l’interface d’E/S est prête à recevoir
un caractère et lui envoie le 1er caractère.
3) L’interface d’E/S envoie le caractère reçu à l’imprimante au
moment où le µP effectue sa boucle de scrutation
4) Le µP continue sa boucle de scrutation jusqu’à ce que
l’interface d’E/S soit à nouveau prête pour que le pilote d’E/S
puisse envoyer le 2nd caractère.
5) L’interface d’E/S envoie le caractère reçu à l’imprimante au
moment où le µP refait sa boucle de scrutation
6) Le µP continue l’exécution du programme utilisateur
Modes d’échange de données
scrutation : avantage & inconvénients

• Avantage :
– Simplicité

• Inconvénients :
– Le µP se retrouve souvent en phase d’attente
– certaines requêtes d’échange non traitées immédiatement
car le µP ne se trouve pas encore dans la boucle de
scrutation.
– mode d’échange très lent.
Modes d’échange de données
interruption : principe

• Pb : inconvénients de la scrutation
• Sol : permettre à l’interface d’E/S de signaler son état
• Requête d’interruption = signal asynchrone pouvant être émis
par tout dispositif externe (comme l’interface d’E/S) au µP.
• Un µP possède, en général, une seule ligne IRQ (Interrupt
Request) partagée par tous les périphériques.
• Avant chaque instruction, le µP examine s'il y a eu une IRQ.
• S’il y a IRQ, le µP :
– interrompt le programme en cours ;
– sauvegarde son contexte (compteur ordinal, accumulateurs,
registre d’état, …) dans un registre particulier appelé pile ;
– exécute le programme associé à l'interruption (routine d’IRQ)
– revient au programme interrompu.
Modes d’échange de données
interruption : fonctionnement du pilote d’E/S

Algorithme du fonctionnement d’un pilote d’E/S avec un seul


registre de donnée (RD) :

Si (l’interface d’E/S envoie une interruption)


Si (il y a une donnée à transférer)
transférer la donnée dans RD
finSi
finSi
Modes d’échange de données
interruption : schéma d’une impression de 2 caractères
1)

2) 5)
8)

4) 7)

3) 6)
Modes d’échange de données
interruption : commentaires sur l’impression de 2 caractères

1) Le µP lit, à partir du programme utilisateur, l’instruction


imprimer(buf, 2 octets)
2) Le pilote d’E/S vérifie que l’interface d’E/S est prête à recevoir
un caractère et lui envoie le 1er caractère.
3) L’interface d’E/S envoie le caractère reçu à l’imprimante
4) Dès que l’interface d’E/S est à nouveau prête, elle envoie une
requête d’interruption au µP
5) Le pilote d’E/S envoie le 2nd caractère.
6) L’interface d’E/S envoie le caractère reçu à l’imprimante
7) Dès que l’interface d’E/S est à nouveau prête, elle envoie une
interruption au µP
8) Le µP continue l’exécution du programme utilisateur
Modes d’échange de données
interruption : priorité

Ouvrir un courriel

Recevoir des courriels

Imprimer un courriel

Si +sieurs interruptions se présentent en même temps, le µP traite


d’abord celle avec la priorité la plus élevée.
Modes d’échange de données
interruption : avantage & inconvénient

• Avantage :
– Le programme principal n’est interrompu que pendant le
temps du transfert

• Inconvénients :
1) Besoin de plus de matériel : l’interface doit savoir
générer une interruption, le µP doit savoir la détecter, ...
2) Le transfert des données entre l’interface d’E/S et la
mémoire centrale reste à la charge du µP qui ne peut
rien faire d’autre pendant ce temps
Modes d’échange de données
accès direct à la mémoire (DMA) : principe

• Pb : 2ème inconvénient de l’interruption


• Sol : décharger le µP du transfert de données
• Un circuit appelé contrôleur de DMA (Direct Memory Access)
prend en charge entièrement le transfert des données.
• Le µP, par le biais du pilote d’E/S, doit tout de même
initialiser l’échange en donnant au contrôleur DMA :
– l’identification du périphérique concerné
– le sens du transfert
– l’adresse du premier mot concerné par le transfert
– le nombre de mots à transférer
Modes d’échange de données
DMA : principe (suite et fin)

• Un contrôleur de DMA est doté d’un registre d’adresse (RA),


d’un registre de donnée (RD), d’un compteur et d’un dispositif
de commande.
• Pour chaque mot à échanger, le contrôleur DMA :
– demande au µP le contrôle du bus de données ;
– effectue le transfert entre son RD et le mot mémoire dont
l'adresse est contenue dans son RA
– libère le bus de données
– Incrémente l’adresse de son RA
– décrémente son compteur
• Lorsque le compteur atteint zéro, le dispositif de commande
informe le µP de la fin du transfert par une IRQ.
Modes d’échange de données
DMA : schéma d’une impression de 2 caractères
1)

2)
7)
6)

3) 5)

4)
Modes d’échange de données
DMA : commentaires sur l’impression de 2 caractères
1) Le µP lit, à partir du programme utilisateur, l’instruction
imprimer(buf, 2 octets)
2) Le pilote d’E/S initialise le transfert en mode DMA et lance le
contrôleur DMA
3) Le contrôleur DMA se charge entièrement du transfert des deux
caractères à l’interface d’E/S
4) L’interface d’E/S envoie successivement les caractères reçus à
l’imprimante
5) Dès que l’interface d’E/S a fini d’envoyer le 2nd caractère à
l’imprimante, le contrôleur DMA informe le µP de la fin du transfert
par une IRQ
6) Le µP traite l’IRQ de fin
7) Le µP continue l’exécution du programme utilisateur
Modes d’échange de données
DMA : avantage & inconvénient

• Avantage
– Pendant la durée du transfert, le µP est libre d'effectuer
un autre traitement

• Inconvénient
– le µP n’a plus accès à la mémoire pendant la durée du
transfert
Bus
sommaire

1. Unité centrale et périphériques


2. Interface d’entrée/sortie
3. Modes d’échange de données
4. Bus
a) Présentation
b) Composition
c) Caractéristiques
d) Arbitrage de l’accès
5. Types de liaison
Bus
problématique
Solution

Problème C1 C2

C1 C2 C3
C3 C4
B
C4 C5 U
C5 S C6

C6 C7 C8
C7 C8
Bus
présentation
• Pb : optimiser l’échange de données entre les composants
• Sol : mutualiser les voies de communication

• Bus = système de câblage permettant la circulation des


données (signaux électriques) entre les composants
(mémoires, µP, périphériques, etc.).
• Objectif : réduire le nombre de « voies » nécessaires à la
communication des différents composants, en mutualisant les
voies de données.
Bus
composition

• Lignes de contrôle :
– contrôler l'accès et l'utilisation des autres lignes (adr et
données).
– exemples : lecture, écriture, requête d’interruption, …
• Lignes d’adresse :
– désigne la source ou la destination des données
– exemples :
• adresse d’une donnée en mémoire
• adresse associée à un périphérique
• Lignes de données :
– transfert de données ou d’instructions entre les éléments
Bus
caractéristiques

• Type de liaison : Parallèle (1bit/ligne) ou série (tous les bits sur


un seul fil)
• Cadencement : synchrone (horloge) ou asynchrone (bit start et
bit stop)
• Largeur : nombre de bits traités en même temps.
• Fréquence : nombre de transmissions d'infos par seconde.
• Débit = largeur x fréquence. (nbr de bits transférés par sec)
NB : DDR (Double Data Rate) et QDR (Quadruple Data Rate)
permettent respectivement d'envoyer 2 fois et 4 fois plus
d'informations par cycle
• Multiplexage : une partie des fils transportent alternativement
des données ou des adresses
App
• Arbitrage de l’accès au bus : statique ou dynamique
Bus
arbitrage de l’accès

• Pb : l’utilisation partagée du bus par plusieurs composants


• Sol : arbitrage de l’accès

• L'arbitrage de l’accès au bus garantit qu'à tout moment, il n'y a


qu'un seul « maître ».
• Maître : tout composant actif qui initie des requêtes.
Exemples : microprocesseur, contrôleur DMA
• Esclave : tout composant passif qui ne fait que répondre à des
requêtes.
Exemple : mémoire centrale
• Le choix du maître peut se faire d’une manière statique ou
d’une manière dynamique
Bus
arbitrage de l’accès : choix statique

• L'arbitrage statique consiste à rendre maître à tour de rôle, les


candidats potentiels.
• Si l'un des protagonistes ne souhaite pas effectuer de
transaction, il reste maître du bus pour une transaction de type
Non-Opération.
• Avantage : simplicité de mise en œuvre.
• Inconvénient : bande passante gaspillée par les non-opérations.
Bus
arbitrage de l’accès : choix dynamique

• Pb : gaspillage de la bande passante causée par les non-


opérations de l’arbitrage statique
• Sol : permettre l’accès au bus qu’en cas de besoin
• L'arbitrage dynamique permet d'allouer le bus sur demande.
• Une demande est acceptée suivant la disponibilité du bus.
• Lorsqu'il y a +sieurs demandes simultanées, le choix peut être :
– suivant une priorité affectée de manière unique à chaque
maître potentiel (les bus d'E/S utilisent souvent ce type
d'arbitrage)
– d’une manière équitable : tout potentiel maître aura ses
requêtes d'accès satisfaites au bout d'un temps fini
– en combinant les deux premières politiques : un choix
équitable départage deux demandes de même priorité.
Types de liaison
sommaire

1. Unité centrale et périphériques


2. Interface d’entrée/sortie
3. Modes d’échange de données
4. Bus
5. Types de liaison
a) Liaison parallèle
b) Liaison série
Types de liaison
présentation

• Les systèmes à microprocesseur utilisent deux types de


liaison différentes pour se connecter à des périphériques :
– liaison parallèle :
les bits d’un mot sont transmis simultanément et par
différents fils.
– liaison série :
les bits d’un mot sont transmis les uns après les autres sur
un seul fil.
• Le choix du mode de transmission dépend de la nature de
l'information, de la qualité et des caractéristiques
recherchées et du coût des solutions.
Types de liaison
liaison parallèle

• Tous les bits d’un mot sont transmis simultanément et par


différents fils.
• Avantage : débit relativement élevé
• Inconvénient : pas adaptée aux gdes distances de transmission
– Coût et encombrement (nombre important de lignes)
– Fiabilité (interférence électromagnétique)
• La transmission est cadencée par une horloge (fil « clock »)
• Exemples sur PC : PATA, PCI, AGP.
Types de liaison
liaison série

• Les bits d’un mot sont transmis les uns après les autres sur un
seul fil.
• Avantage :
– Adaptée aux grandes distances de transmission
– Économie (moins de fils)
• Inconvénient : débit relativement faible (transformer la
donnée parallèle en donnée série à l’émission et l’inverse à la
réception)
• Exemples sur PC : USB, SATA, Firewire, PCI-Express.
Types de liaison
liaison série : synchronisation

• Pb : le récepteur ne reconnaît pas les séquences de bits « utiles »


• Solution 1 : transmission synchrone
– Présence d’un fil (« clock ») pour la synchronisation des
horloges respectives des systèmes qui échangent.
– Chaque composant sait le type d'info (adresse, contrôle,
donnée) qui passe à tel cycle d'horloge dans une transaction
– Réservée pour le distances < 50 cm (dispersion du signal
d'horloge sinon)
• Solution 2 : transmission asynchrone
– Les données utiles sont encadrées par les bits start et stop.
– Permet de connecter des éléments fonctionnant à des
vitesses différentes
– Permet de longues distances
Types de liaison
liaison série asynchrone

• Transmission effectuée au rythme de la présence des données.


• Les données utiles sont encadrées par les signaux start et stop.
• Paramètres du protocole de transmission :
– Nombre de bits de données : 7 bits ( code ASCII ) ou 8 bits
– Vitesse de transmission : de 110 bit/s à 128 000 bit/s
– Parité (paire ou impaire) : parité du nombre total de bits à 1
transmis (bit de parité inclus) pour contrôler les erreurs.
– Nombre de bit de stop : après la transmission, la ligne est
positionnée à un niveau 1 avec un certain nombre de bits
afin de spécifier la fin du transfert.
• La ligne au repos est à l’état 1; le passage à l’état bas (bit de
start) de la ligne va indiquer qu’un transfert va commencer
Types de liaison
liaison série asynchrone : schéma d’une transmission

Transmission du mot 0010110


avec une parité impaire et 1 bit de Stop
Types de liaison
liaison série asynchrone : déroulement d’une transmission

1) Etat d'attente (niveau logique 1)


2) Envoi d'un bit de départ (niveau logique 0)
3) Envoi des bits de données, on commence par le bit de poids
faible, on termine par le bit de poids fort
4) Envoi d'un bit de parité
5) Envoi d'un ou de deux bits de stop (niveau 1) indiquant la fin
d'émission du caractère.
6) Retour à l’état d'attente (niveau 1), le cycle peut
recommencer avec l'envoi d'un nouveau caractère.

App

Vous aimerez peut-être aussi