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