Visibile all'host come una
regione specializzata di spazio indirizzabile, il Q-bus risultava molto versatile per diversi tipi di driver, che se ne servivano per i compiti più diversi. Operando in modo analogo alla memoria fisica, era ad esempio possibile creare
ring buffer di memoria condivisi fra sistema ospite e controller, al fine di effettuare trasferimenti dati più efficienti.
Per la
configurazione di un modulo Q-bus era necessario agire su uno o più interruttori, in grado di ritarare lo spazio indirizzabile dai
Control and Status Register (CSR), con indirizzi a base ottale. Quando il sistema ospite entrava in funzione, come prima attività effettuava la ricerca dei CSR attivi, utilizzando alcuni indirizzi fissi di controllo e un'area specifica di lavoro denominata
Floating Vectors.
Il Q-bus possedeva inoltre un indirizzo
Interrupt Vector, utilizzato dai moduli (interfacce) per richiamare l'attenzione dei dispositivi collegati; tale indirizzo era normalmente comunicato in un secondo tempo, dopo l'elaborazione dei CSR. Internamente, l'identificazione dei dispositivi collegati al bus, rigorosamente in
modalità Master-Slave, avveniva tramite un uso accurato delle locazioni di memoria disponibili, spesso non sufficienti per garantire l'assegnazione univoca.
Tale caratteristica richiedeva spesso la riallocazione di risorse a ogni connessione o disconnessione di dispositivi al collegamento Q-bus. Per la
catalogazione delle interfacce con supporto al Q-bus, DEC si basò su un
codice M, ossia la lettera M seguita da alcune cifre. Tale codice era visibile sulla scheda o sul connettore dell'interfaccia ed era estremamente importante per reperire informazioni sulle sue specifiche di configurazione.
Le periferiche collegate potevano essere inizializzate attraverso il Q-bus in due modi: tramite l'istruzione
RESET, seguita da una risposta del processore col comando
BINIT L della durata di circa 10µs; oppure in occasione di accensione e spegnimento dell'alimentazione continua. Nella foto di
Steve Schumaker è mostrato un elaboratore LSI11 (PDP11/03):
Del Q-bus esistono copie sulle CPU di costruzione sovietica della serie 1801 con una connessione digitalmente ed elettricamente compatibile, ma con un layout differente e l'aggiunta del supporto fino a quattro processori. Tramite l'utilizzo di controller non DEC, segnalo inoltre la possibilità di collegare al Q-bus
dispositivi di memoria SCSI (generalmente tramite
adattatore KZQSA).