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é.
![](http://up.wiki.x.io/wikipedia/commons/thumb/f/f9/Basic_Measuring_Instruments_-_Math_Processor_83002190_-_Zilog_Z80_PIO_Z84C2008PEC-3919.jpg/220px-Basic_Measuring_Instruments_-_Math_Processor_83002190_-_Zilog_Z80_PIO_Z84C2008PEC-3919.jpg)
![](http://up.wiki.x.io/wikipedia/commons/thumb/f/fc/Z80_pio.svg/220px-Z80_pio.svg.png)
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
modifierVoir aussi
modifier- Andrew Tanenbaum, "Architecture de l'ordinateur", Ed. Pearson.
- Thomas Scherrer, « ZILOG Z80 PIO USER'S MANUAL » [PDF], sur Home of the Z80 CPU