26. Encodeurs (Encodeurs à priorité)
Un Encodeur effectue l'opération inverse d'un décodeur. Il accepte $2^N$ lignes d'entrée (généralement $N$ ou moins) et génère le code binaire correspondant à l'entrée actuellement active.
Limitation de l'Encodeur Simple (4-vers-2)
Si nous avons un simple encodeur 4-vers-2, si deux entrées (par exemple, $D_1$ et $D_3$) sont actives simultanément, la sortie est ambiguë.
Encodeur à Priorité
Un Encodeur à Priorité résout le problème d'ambiguïté en attribuant un niveau de priorité fixe à chaque entrée. Si plusieurs entrées sont HAUT, seule celle ayant la priorité la plus élevée est encodée.
Exemple : Encodeur à Priorité 4-vers-2 ($D_3$ priorité la plus élevée, $D_0$ priorité la plus basse)
| $D_3$ | $D_2$ | $D_1$ | $D_0$ | Sortie (A, B) |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 00 |
| 0 | 1 | X | X | 10 (Puisque $D_2$ est haut, $D_1$ et $D_0$ sont ignorés) |
| 1 | X | X | X | 11 (Puisque $D_3$ est haut, tous les autres sont ignorés) |
Dérivation Logique pour l'Encodeur à Priorité
La dérivation de la logique nécessite une utilisation prudente des 'Don't Cares' (X) pour simplifier les sorties en fonction des règles de priorité.
- Les encodeurs à priorité sont couramment utilisés pour gérer les interruptions dans les microprocesseurs, déterminant quel périphérique demandant un service doit être traité en premier.