Encodeur de priorite
Un encodeur de priorite fournit l'index binaire de l'entree active de plus haute priorite, en ignorant les entrees actives de priorite inferieure. Un drapeau de validite distingue le cas tout-a-zero d'un index reel 0. C'est l'inverse d'un decodeur et la maniere standard d'arbitrer des requetes concurrentes.
Encodeur de priorite 4 vers 2
Quatre lignes de requete produisent un code de 2 bits plus un bit de validite V. Quand I2 et I1 sont actives, la plus prioritaire I2 l'emporte et le code est 10. Si aucune entree n'est active, V vaut 0.
| I3 | I2 | I1 | I0 | V | A1 | A0 |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | - | - |
| 0 | 0 | 0 | 1 | 1 | 0 | 0 |
| 0 | 0 | 1 | x | 1 | 0 | 1 |
| 0 | 1 | x | x | 1 | 1 | 0 |
| 1 | x | x | x | 1 | 1 | 1 |
Encodeur de priorite 8 vers 3
Huit entrees se reduisent a un code de 3 bits. Avec I5 et I2 actives, l'encodeur indique 101 car I5 a l'index le plus eleve. Ajouter une validation d'entree et de sortie permet de chainer plusieurs encodeurs en un plus grand.
Controleur d'interruptions
Quand plusieurs peripheriques declenchent des interruptions en meme temps, un encodeur de priorite transforme les lignes de requete en vecteur binaire du plus urgent, que le CPU utilise pour sauter au bon gestionnaire. C'est le coeur des controleurs d'interruptions classiques comme le 8259.
Citations
- Shannon, C. E. (1938). A symbolic analysis of relay and switching circuits. Référence 1
- Texas Instruments (2003). SN74HC148: 8-line to 3-line priority encoders [Data sheet]. Référence 2
- Mano, M. M., & Ciletti, M. D. (2018). Digital design: With an introduction to the Verilog HDL, VHDL, and SystemVerilog (6th ed.). Pearson.