Bus (informatica)

Indice dei contenuti

    Il bus è un sistema di interconnessione condiviso che consente lo scambio di informazioni tra i componenti di un calcolatore (processore, memoria, periferiche). Si articola logicamente in tre sottosistemi:

    • bus dati: trasporta i dati veri e propri; la sua larghezza (8, 16, 32, 64 bit) determina la quantità di informazione trasferibile in un singolo ciclo;
    • bus indirizzi: specifica la locazione di memoria o la periferica destinataria; con nn linee di indirizzo si possono indirizzare 2n2^n locazioni;
    • bus di controllo: veicola i segnali di sincronizzazione (clock, read/write, interrupt, bus request/grant).

    La banda (throughput) massima teorica di un bus sincrono è:

    B=fw[byte/s]B = f \cdot w \quad [\text{byte/s}]

    dove ff è la frequenza di clock del bus e ww la larghezza in byte.

    Le architetture moderne adottano topologie gerarchiche per superare i limiti del bus condiviso classico: i bus ad alta velocità (PCIe) collegano il processore a GPU e storage NVMe con collegamenti punto-punto seriali, mentre i bus più lenti (USB, I²C, SPI) gestiscono le periferiche a bassa banda.

    Il passaggio dal bus parallelo (PCI, ATA) al bus seriale (PCIe, SATA) ha permesso di aumentare le frequenze di clock eliminando i problemi di disallineamento temporale (skew) tra le linee parallele.

    Ultimo aggiornamento: