Architettura dei Bus Informatici: Componenti, Velocità e Classificazione
Classificato in Informatica
Scritto il in
italiano con una dimensione di 71,58 KB
Introduzione al Concetto di Bus Informatico
I computer di gestione richiedono una grande quantità di informazioni. Per passare tra le varie componenti sono necessari dei percorsi che permettano al flusso di informazioni di avvenire con la maggiore facilità possibile. Questi "percorsi" sono chiamati bus.
In realtà, i bus sono circuiti interni della scheda madre che permettono l'invio di dati tra componenti e che definiscono in gran parte la velocità del computer stesso, poiché più veloce è l'invio dei dati, maggiori operazioni possono essere eseguite al secondo.
Si definisce bus, in informatica, l'insieme dei collegamenti fisici (cavi, circuiti stampati, ecc.) che possono essere condivisi da più componenti hardware per comunicare tra loro.
A volte, si usa la metafora delle "autostrade dell'informazione".
Nel caso in cui solo due componenti hardware comunichino attraverso una linea dedicata, si può parlare di porta hardware (porta seriale o parallela).
Caratteristiche Fondamentali di un Bus
Un bus si caratterizza per la quantità di informazioni trasmesse simultaneamente. Questo volume è espresso in bit e corrisponde al numero di linee fisiche attraverso le quali le informazioni vengono inviate in parallelo. Un cavo a nastro con 32 fili permette la trasmissione di 32 bit in parallelo. Il termine "larghezza" viene utilizzato per indicare il numero di bit che un bus può trasmettere simultaneamente.
La velocità di un bus è definita dalla sua frequenza (espressa in Hertz o MHz), ovvero il numero di pacchetti di dati che possono essere inviati o ricevuti al secondo. Ogni volta che vengono inviati o ricevuti dati si può parlare di ciclo.
È possibile trovare la velocità di trasferimento massima del bus (la quantità di dati che possono essere trasportati per unità di tempo) moltiplicando la sua larghezza per la frequenza. Pertanto, un bus con una larghezza di 16 bit e una frequenza di 133 MHz, ha una velocità di trasferimento:
16 * 133 * 106 = 2.128 * 106 bit/s, oppure 2128 * 106 / 8 = 266 * 106 byte/s 266 * 106 / 1024 = 259.765,625 KB/s 259.765,625 / 1024 = 253,677 MB/s
Dato che la CPU è generalmente più veloce del FSB (Front Side Bus), le schede madri implementano un moltiplicatore di frequenza che indica la velocità alla quale il processore funziona (più alta della velocità del bus). Inoltre, poiché i bus di I/O sono più lenti rispetto al bus di sistema, è necessario un crossover che adatti la velocità di funzionamento del bus di I/O in relazione alla velocità del bus di sistema.
Classificazione dei Bus di Sistema
Infatti, ogni bus è solitamente composto da circa 50 a 100 linee fisiche diverse ed è suddiviso in tre sottoinsiemi, a seconda del tipo di dati che trasporta. Si possono classificare in bus dati, bus indirizzi e bus di controllo. Questi tre tipi di bus, presi insieme, costituiscono ciò che genericamente viene chiamato il bus di sistema.
Bus Indirizzi
- Il bus indirizzi (noto anche come bus di memoria) trasporta gli indirizzi ai quali il processore vuole accedere per leggere o scrivere dati. È un bus unidirezionale, che trasmette le direzioni tra la CPU e la memoria. Il bus indirizzi opera in sincronia con il bus dati, poiché la CPU deve conoscere gli indirizzi dei dati inviati o ricevuti. Per determinare la quantità di memoria indirizzabile direttamente accessibile dalla CPU, è necessario considerare il numero di linee o bit che costituiscono il bus di indirizzo. Maggiore è il numero di bit, maggiore è l'intervallo di memoria indirizzabile. Ad esempio, se il bus indirizzi è a 10 bit, è possibile accedere a $2^{10}$ locazioni di memoria, ovvero 1024 celle.
Bus Dati
- Il bus dati trasferisce sia le istruzioni dal processore, sia i dati diretti verso di esso. Questo è un bus bidirezionale. Stabilisce lo scambio di dati tra la CPU e le altre unità.
Bus di Controllo
- Il bus di controllo (a volte chiamato bus dei comandi) trasporta comandi e segnali di sincronizzazione dalla centralina di comando verso l'hardware e viceversa. È un bus bidirezionale poiché trasmette anche la risposta dell'hardware. Il bus di controllo regola l'utilizzo e l'accesso alle linee dati e indirizzi. I segnali di controllo trasmessi gestiscono sia gli ordini che le informazioni di temporizzazione tra i moduli, prevenendo collisioni di informazioni nel sistema.