Bus tristate dans microprocesseurs : trois états, lignes partagées, compromis
Un bus tristate permet à plusieurs dispositifs de partager un même jeu de fils en introduisant un troisième état électrique — haute impédance (Hi-Z) — outre logique 0 et 1. Quand la sortie d'un dispositif est désactivée, ses broches se déconnectent effectivement du bus, laissant un autre dispositif piloter les lignes.
Pourquoi les microprocesseurs utilisent bus tristate
- Interface mémoire : CPU, RAM, ROM, contrôleur DMA partagent lignes adresses/données.
- Extension E/S : Périphériques (UART, GPIO, timers) connectés au même bus.
- Multiprocessing : Plusieurs CPU peuvent arbitrer pour maîtrise bus.
Signaux de contrôle
- OE (Output Enable) / G — Active driver.
- DIR — Définit direction pour transceivers (ex. 74LS245).
- Bus Grant / Request — Arbitrage systèmes multi-maîtres.
Avantages
- Réduction nombre broches & pistes PCB.
- Puissance dynamique réduite (seul driver actif source/puits courant).
- Scalable — ajouter dispositifs sans nouveaux bus.
Inconvénients
- Complexité temporelle : délai extinction vs délai activation doit éviter contention bus.
- Nécessite résistances pull-up/down pour définir état repos.
- Surface silicium plus grande par cellule E/S.
Les SoC modernes remplacent souvent bus tristate externes par liaisons série point-à-point (PCIe, AXI, HyperBus), mais le concept reste fondamental en architecture bus.
