Circuit PIO
Les circuits PIO ("Programmed Input/Output") sont des circuits d'interface Entrées/Sorties parallèles qui permettent de raccorder un périphérique particulier au bus informatique d'un ordinateur ou d'un système embarqué.
Comme un microprocesseur est censé gérer plusieurs périphériques à la fois, il reçoit une multitude de signaux d'interruption, mais ne peut jamais en traiter qu’un seul à la fois. Il faut donc convenir d'une discipline de priorité. Pour cela, le périphérique envoyant un signal d’interruption doit donc envoyer au microprocesseur l'instant où il « prendra la main », et signaler qu'il en a terminé. Par la gestion d'une file de priorité (Daisy-Chain) sur les connexions (Interrupt Enable Input/Interrupt Enable Output), il devient possible de subordonner plusieurs entrées-sorties parallèles les unes aux autres.
- IEI (= Interrupt-Enable In): le PIO obtient l'autorisation d'émettre un vecteur d'interruption /INT au CPU, à condition qu'aucune requête de priorité supérieure soit émise.
- IEO (= Interrupt-Enable Out): l'interruption est en cours de traitement, les PIO de priorité moindre doivent attendre.
Exemples de circuits PIO
- le Z8420/Z84C20 de Zilog pour le Z80 ; il existait avec ce circuit quatre modes de commande:
- Mode 0: sortie par octet
- Mode 1: entrée par octet
- Mode 2: mode bidirectionnel en entrée/sortie
- Mode 3: commande bit à bit (pour l'émission de bits d'interruption en parallèle)
- le 8255A fabriqué par Intel.
Voir aussi
- Andrew Tanenbaum, "Architecture de l'ordinateur", Ed. Pearson.
- Thomas Scherrer, « ZILOG Z80 PIO USER'S MANUAL » [PDF], sur Home of the Z80 CPU