Il bus è un canale di comunicazione di dati che viene condiviso da vari
componenti hardware per scambiarsi informazioni. È formato da un insieme
di collegamenti elettrici in parallelo cui sono collegati i componenti e da un
protocollo di comunicazione, ovvero un insieme di regole per stabilire chi, come e
quando può trasmettere e ricevere, e per controllare gli errori di trasmissione.
In un Personal Computer, ad esempio, la memoria RAM è connessa alla CPU da un bus.
La quantità di bit che la CPU riesce a scambiare con la memoria in ogni singolo ciclo
dipende dalla grandezza (numero di collegamenti) del bus.
Esistono tre tipi di bus:
- bus dei dati: trasmette i dati tra CPU e memoria;
- bus degli indirizzi: contiene l’indirizzo di memoria per localizzare i dati;
- bus di controllo: per gestire le operazioni da compiere.
Essendo questi tre bus realizzati direttamente sullo stesso circuito che
contiene la CPU, è possibile creare molte connessioni per avere una velocità alta
di trasmissione e quindi aumentare la velocità di calcolo.
Anche per comunicare con alcune periferiche si utilizzano strutture a bus:
PCI e SCSI sono esempi di architetture a bus utilizzate per tale scopo.
Altri tipi di porte per perferiche non hanno una struttura a bus: ad esempio la
porta parallela può connettere una sola stampante.
Nella progettazione di una particolare modalità di comunicazione, sia
per i bus che per le porte di altro tipo, vanno
tenuti in conto due aspetti contrastanti: aumentando il numero di linee in parallelo
si aumenta la velocità di trasmissione, ma contemporaneamente
aumenta anche la complessità e quindi il costo dei dispositivi.
Per questo motivo esistono porte di natura diversa, a seconda dell’uso.
Ad esempio la porta seriale trasferisce 1 bit alla volta
e viene usata per applicazioni a bassa velocità come modem e mouse.
Si sta inoltre diffondendo la
porta seriale USB per la maggiore velocità e flessibilità.
La porta parallela trasferisce 8 bit (1 byte) alla volta;
viene usata per esempio con la stampante che quindi riceve 8 bit alla volta.
Esistono precisi standard di comunicazione per ogni tipo di porta che definiscono
il modo di trasmettere i dati: per esempio per la porta seriale si segue lo
standard RS-232C e per la porta parallela lo standard Centronics o EPP/ECP.
In tal modo si può collegare il computer alla ampia gamma di periferiche
aderenti agli standard e chi produce le periferiche standard le può vendere
ad un insieme molto ampio di clienti.