Bus tristato nei microprocessori: tre stati, linee condivise e compromessi
Un bus tristato permette a più dispositivi di condividere un singolo insieme di fili introducendo un terzo stato elettrico — alta impedenza (Hi-Z) — oltre a logica 0 e logica 1. Quando l'abilitazione output di un dispositivo è inattiva, i suoi pin si disconnettono effettivamente dal bus, permettendo a un altro dispositivo di guidare le linee.
Perché i microprocessori usano bus tristati
- Interfaccia memoria: CPU, RAM, ROM e controller DMA condividono linee indirizzo/dati.
- Espansione I/O: Periferiche (UART, GPIO, timer) si connettono allo stesso bus.
- Multiprocessing: Multiple CPU possono arbitrare per il possesso del bus.
Signali di controllo
- OE (Output Enable) / G – Attiva il driver.
- DIR – Imposta direzione per chip transceiver (es. 74LS245).
- Bus Grant / Request – Arbitraggio in sistemi multi-master.
Vantaggi
- Numero di pin e tracce PCB ridotto.
- Potenza dinamica inferiore (solo il driver attivo assorbe/immette corrente).
- Scalabile — aggiungi dispositivi senza nuovi bus.
Svantaggi
- Complessità temporale: ritardo di spegnimento vs. ritardo di attivazione deve evitare contesa del bus.
- Richiede resistori pull-up/down per definire lo stato di inattività.
- Area di silicio maggiore per cella I/O.
I SoC moderni spesso sostituiscono i bus tristati esterni con collegamenti seriali punto-punto (PCIe, AXI, HyperBus), ma il concetto rimane fondamentale nell'architettura dei bus.