Un bus di controllo è ciò che l’unità di elaborazione centrale (CPU) di un computer utilizza per comunicare con altri dispositivi all’interno della macchina tramite una serie di connessioni fisiche come cavi o circuiti stampati. È una raccolta diversificata di segnali, tra cui lettura, scrittura e interruzione, che consentono alla CPU di dirigere e monitorare ciò che stanno facendo le diverse parti del computer. Questo è uno dei tre tipi di bus che compongono il bus di sistema o computer. La sua composizione esatta varia tra i processori.
In generale, lo scopo di qualsiasi bus è ridurre il numero di percorsi necessari per la comunicazione tra i componenti del computer. Un bus consente la comunicazione tra componenti su un canale dati ed è caratterizzato da quante informazioni può trasmettere contemporaneamente. La quantità di dati è espressa in bit e corrisponde al numero di linee fisiche su cui vengono inviate le informazioni. Ad esempio, un cavo a nastro con 32 fili può inviare 32 bit in parallelo.
Ogni computer ha solitamente un bus interno e uno di espansione. Il bus interno o frontale facilita la comunicazione tra la CPU e la memoria centrale, mentre l’espansione o il bus di input/output collega i componenti della scheda madre come dischi rigidi e porte. La maggior parte dei bus di sistema è tipicamente composta da 50 e 100 linee fisiche separate per la comunicazione. Queste linee sono suddivise in tre sottoinsiemi o tipi di bus: il bus di indirizzo o memoria, il bus dati e il bus di comando o controllo.
Il bus di controllo è bidirezionale; trasmette segnali di comando dalla CPU e segnali di risposta dall’hardware. Aiuta la CPU a sincronizzare i suoi segnali di comando con i componenti del computer e i dispositivi esterni più lenti. Di conseguenza, il bus di controllo è costituito da linee di controllo che inviano ciascuna un segnale specifico, come lettura, scrittura e interruzione. Le linee di controllo che costituiscono un bus di controllo differiscono tra i processori, ma la maggior parte include linee di clock di sistema, linee di stato e linee di abilitazione dei byte.
Ad esempio, la CPU di un computer utilizzerà il bus dati per trasmettere informazioni da e verso la memoria centrale. Il bus di controllo consente alla CPU di determinare se e quando il sistema sta inviando o ricevendo questi dati. Questo perché un bus di controllo ha una linea di controllo per la lettura e una per la scrittura che determinano la direzione in cui scorre l’informazione (dalla memoria alla CPU o dalla CPU alla memoria). Se la CPU ha bisogno di scrivere dei dati nella memoria centrale, invierà un segnale (asser) sulla linea di controllo della scrittura del bus di controllo. L’invio di un segnale sulla linea di controllo di lettura consente alla CPU di ricevere dati dalla memoria.
Gli altri tipi di bus che compongono un bus di sistema sono i bus dati e indirizzi. Il bus dati sposta le istruzioni e le informazioni tra tutti i componenti funzionali del computer. È bidirezionale e può trasmettere in una sola direzione alla volta. Il bus dati trasmette informazioni tra la CPU e la memoria e anche tra la memoria e la sezione di ingresso/uscita.
Il bus indirizzi è unidirezionale e funziona come una mappa per la memoria. Quando il sistema informatico ha bisogno di accedere a una particolare posizione di memoria o dispositivo di input/output, asserisce l’indirizzo appropriato sul bus degli indirizzi. Questo indirizzo viene riconosciuto dalla circuiteria appropriata che quindi istruisce la memoria o il dispositivo corrispondente a leggere o inviare dati sul bus dati. Risponderà solo il dispositivo o la posizione di memoria che corrisponde all’indirizzo sul bus degli indirizzi.