Il bus di controllo è un tipo di bus di sistema in un computer o in un dispositivo digitale. È responsabile della gestione della comunicazione tra i componenti principali del sistema, come l'unità di elaborazione centrale (CPU), il controller DMA (Direct Memory Access), il controller delle interruzioni e i moduli di memoria. Il bus di controllo è utilizzato principalmente per controllare il flusso di dati all'interno del sistema.
Un bus di controllo può utilizzare il metodo di trasmissione parallelo o seriale. Nella trasmissione parallela, più bit di dati vengono inviati contemporaneamente su più linee, mentre la trasmissione seriale invia un bit alla volta su una singola linea. I bus di controllo si dividono in tre tipi: bus di indirizzi, bus di dati e bus di controllo.
Il bus degli indirizzi è la parte del bus di controllo incaricata di trasmettere l'indirizzo di un particolare dispositivo o di una posizione di memoria all'interno del sistema. L'indirizzo viene solitamente fornito dal registro degli indirizzi, che è collegato al processore e al modulo di memoria tramite questo bus. Il bus degli indirizzi è in genere più ampio del bus dei dati, in quanto richiede linee aggiuntive per la dimensione dell'indirizzo.
Il bus dati è responsabile del trasferimento dei dati effettivi tra i componenti del sistema. Collega il processore al modulo di memoria e ad altri componenti. La larghezza del bus dati determina il numero di bit trasferiti contemporaneamente. La maggior parte dei bus di dati ha una larghezza di 8 bit, 16 bit, 32 bit e 64 bit.
Il bus di controllo è composto da alcune linee, comunemente chiamate pin, che forniscono segnali di controllo per operazioni di comunicazione o di elaborazione come READ, WRITE e RESET. Questi segnali sono responsabili del coordinamento tra le varie parti del sistema. Altri segnali di controllo comunemente utilizzati sono Halt, Interrupt e Wait.
Il bus di controllo è un sistema intricato ed è spesso considerato la spina dorsale dell'architettura di un computer. Senza di esso, i componenti principali del sistema non sarebbero in grado di comunicare tra loro. Pertanto, è importante garantire che il bus di controllo di un computer o di un dispositivo digitale funzioni in modo fluido ed efficiente.