INTERFACES D`ENTREES-SORTIES 1 Rôle des interfaces 2

publicité
INTERFACES D’ENTREES-SORTIES
1 Rôle des interfaces
Adaptation physique et logique
Accès par adressage
Synchronisation des échanges
2 Synchronisation des entrées-sorties
Consultation et affichage directs
Synchronisation par test d’état
3 Compléments
INTERFACES D’ENTREES-SORTIES
-1Rôle des interfaces
Très grande diversité des périphériques
usuels : clavier, écran, imprimante ...
particuliers : caméra, automate, outil de mesure ...
➜ Uniformiser la vision des périphériques :
adaptation physique et logique
accès par adressage
synchronisation
processeur
Interface
Bus
adaptation logique
adressage
synchronisation
adaptation
physique
2
périph.
INTERFACES D’ENTREES-SORTIES
Rôle des interfaces
Adaptation physique
amplification de tension ou de courant
changement de support physique :
courant, optique, magnétique
conversion analogique → digital
conversion digital → analogique
capteurs / actionneurs (image, son, ...) :
relèvent de dispositifs périphériques spécialisés
interface
disque
DAC
sorties de puissance
ADC
entrées-sorties
analogiques
périph. magnétique
Adaptation logique
processeur :
périphérique :
données 8, 16, 32 bits en parallèle
données largeur différente (ex. série bit à bit)
l’interface assure souvent la détection d’erreurs
3
INTERFACES D’ENTREES-SORTIES
Rôle des interfaces
Accès par adressage
le processeur communique par son bus -> adresses
interface : collection d’adresses
chaque adresse a un rôle spécifique
Exemple
afficheur (S) : écriture à adr1
signal d’enfoncement touche (Valid) : lecture à adr2
valeur de la touche enfoncée (E) : lecture à adr3
bus du processeur
adr1
interface
S
décodage
adr3
adr2
E
Valid
0 1 2 3 4
5 6 7 6 9
4
INTERFACES D’ENTREES-SORTIES
Rôle des interfaces
Synchronisation des échanges
communiquer des séquences de données sans perte ni duplication
sans précaution, rien n’assure que :
le processeur lit la donnée quand l’extérieur la délivre
l’extérieur voit la donnée quand le processeur l’écrit
➜ protocole calculateur - périphérique
assuré
en partie par l’architecture de l’interface
en partie la programmation des échanges
5
INTERFACES D’ENTREES-SORTIES
-2Synchronisation des entrées-sorties
Consultation et affichage directs
accès “à la volée”, sans aucune synchronisation
peut suffire dans certains cas
Entrée-sorties synchronisées par test d’état
pour communiquer une séquence de données
6
INTERFACES D’ENTREES-SORTIES
Synchronisation des entrées-sorties
Consultation et affichage directs
Lecture à la volée
présenter la donnée externe sur le bus de donnée
lorsque le processeur exécute une lecture sur un port
==>
adaptateur trois-états validé par le décodage d’adresse
bus de donnée
extérieur
CS
lec
décodage
A = adr
A
lecE-S
moment de la lecture : décidé par l’activité programmée
convient pour consulter un état extérieur :
prélever une mesure,
tester l’état ouvert/fermé d’une vanne ...
7
INTERFACES D’ENTREES-SORTIES
Synchronisation des entrées-sorties
Consultation et affichage directs
Affichage à la volée
une donnée écrite sur le bus est éphémère (un cycle bus)
==> mémoriser la donnée dans l’interface (registre ou verrou)
chargement commandé par l’écriture sur le port
bus de donnée
extérieur
ch
CS
décodage
A = adr
ecr
A
ecrE-S
la valeur affichée demeure
jusqu’à une prochaine écriture sur le port
convient pour :
commandes de marche/arrêt
avec un DAC, vitesse d’un moteur, musique ...
8
INTERFACES D’ENTREES-SORTIES
Synchronisation des entrées-sorties
Synchronisation par test d’état
Entrée-sorties de séquences de valeurs
==> garantir que chaque donnée est
prise en compte une fois et une seule
consultation et affichage directs ne conviennent pas :
récepteur : ignore s’il y a une nouvelle donnée
émetteur : ignore si le récepteur est prêt à recevoir
technique simple, mémoire de 1 bit dans l’interface :
état de la communication
1 : donnée disponible
0 : absence de donnée
émetteur et récepteur attendent que l’état soit convenable
interface
émetteur
récepteur
état
9
INTERFACES D’ENTREES-SORTIES
Synchronisation des entrées-sorties
Synchronisation en entrée
bit d’état EP : entrée présente
passe à 1 quand l’extérieur présente une donnée, Valid
à 0 quand le programme lit la donnée
extérieur
interface
bus du processeur
E
EntréePrésente
Valid
EP
mise à 1
mise à 0
programme de lecture
tantque EP≠1 faire fait;
lire la donnée;
EP:=0 consommation de la donnée
attente
le processeur attend par une boucle : “attente active”
il n’est pas disponible pour autre chose
l’extérieur attend que la donnée soit lue avant de fournir la suivante
10
INTERFACES D’ENTREES-SORTIES
Synchronisation des entrées-sorties
Synchronisation en entrée
Accès au bit d’état
EP rendu accessible à une adresse de port AdrEtat
bus de donnée
E
A =
AdrDonnée
A
lecE-S
Valid
mise à 0
mise à 1
ecrE-S
EP
A =
AdrEtat
Entrée
Présente
A
Avec cette interface :
la mise à 0 de EP est faite explicitement
par une instruction d’écriture à l’adresse AdrEtat
(donnée sans importance, l’ordre d’écriture met EP à 0)
11
INTERFACES D’ENTREES-SORTIES
Synchronisation des entrées-sorties
Synchronisation en entrée
Affectation automatique du bit d’état
EP doit être mis à 0 après avoir lu la donnée
==> l’interface le fait automatiquement
==> interface plus simple d’emploi
l’évènement “lecture donnée” sert de mise à 0 de EP
bus de donnée
E
A =
AdrDonnée
A
lecE-S
Valid
mise à 1
EP
mise à 0
A =
AdrEtat
Entrée
Présente
12
A
INTERFACES D’ENTREES-SORTIES
Synchronisation des entrées-sorties
Synchronisation en sortie
principe similaire
bit d’état SP : sortie présente
passe à 1 quand le programme écrit une donnée,
à 0 quand l’extérieur acquitte la donnée (Acquit)
interface
extérieur
bus du processeur
S
SortiePrésente
Acquit
mise à 0
SP
mise à 1
programme d’écriture
tantque SP≠0 faire fait;attente
écrire la donnée;
SP:=1
signale nouvelle donnée
La mise à 1 de SP est généralement faite
automatiquement par l’interface lors de l’écriture
13
INTERFACES D’ENTREES-SORTIES
-3Compléments
Commandes de configuration
interfaces offrant plusieurs modes de fonctionnement
==>
configuration
par envoi de codes sur un “port de contrôle”
exemple : interface configurable en entrée ou en sortie
bus de donnée
D0
MODE
A =
AdrControle
A
EcrES
D exterieur
écriture de 0 sur AdrControle => MODE:=0 => entrée
écriture de 1 sur AdrControle => MODE:=1 => sortie
14
INTERFACES D’ENTREES-SORTIES
Compléments
Commandes de configuration
Exemples de commandes de configuration :
• choix de modes de transmission
• choix de vitesse de transmission série
• choix de mécanismes de détection d’erreurs
• choix de protocole de synchronisation
• choix entre test d’état ou génération d’interruption
Interfaces multiples
contient plusieurs interfaces indépendants (ou presque)
chaque interface : quelques adresses internes
cas d’une interface pour une entrée et une sortie :
la même adresse sert aux deux ports de données
la distinction se fait par les signaux lecture-écriture
un bit d’état pour chaque liaison
==> généralement regoupés en un “mot d’état” lu à une adresse
==> isoler le bit à tester par un masquage
15
INTERFACES D’ENTREES-SORTIES
Compléments
Différences
adresses mémoire / ports d’E-S
adresses mémoires :
doivent (devraient) désigner de simples mots mémoires
==> sémantique ultime simple et immuable
pour les instructions qui utilisent la mémoire
MOV R,Adr signifie R:=MEM[Adr]
adresses de port :
désignent des organes complexes et non fixés à l’avance
==> pas de sémantique ultime définie
pour les instructions d’entrée-sortie (IN et OUT)
IN R,Adr
signifie ???
cela dépend ...
Exemple, avec l’interface d’entrée précédente :
IN R,AdrDonnée provoque R:=E,EP:=0
16
Téléchargement