Concetti Chiave
- I bus sono collegamenti elettrici multi-linea utilizzati per trasportare dati all'interno e all'esterno della CPU verso memorie e periferiche.
- Per i bus esterni, è necessario seguire protocolli specifici e definire le caratteristiche meccaniche ed elettriche delle interfacce.
- Tra i tipi di bus comuni ci sono PCI-Express, PCI, SCSI, USB e FireWire, ciascuno con specifiche applicazioni e usi.
- Dispositivi attivi (master) eseguono trasferimenti di dati, mentre quelli passivi (slave) restano in attesa di istruzioni.
- La larghezza del bus è cruciale per le prestazioni, influenzando spazio di indirizzamento e necessità di connessioni fisiche.
Bus dei calcolatori
Bus = collegamento elettrico, di solito multi-linea, usato tra più dispositivi. Può essere all'interno della CPU per trasportare i dati da registri alla ALU, o esterna per collegare la CPU alle memorie o altri dispositivi. Il bus controller è necessario quando si devono collegare due diversi bus esterni.
Per i bus interni alla CPU è possibile usare qualsiasi tipo di bus, mentre per quelli esterni, per il collegamento con le periferiche, devono seguire uno schema di funzionamento preciso chiamato protocollo del bus.
Inoltre devono essere specificate le caratteristiche meccaniche ed elettriche per l'interfaccia.Tra i bus più diffusi e noti ci sono: PCI-Express (PC), Bus PCI (bus espansione PC), Bus SCSI (per il collegamento con le periferiche), Universal Serial BUS USB (periferiche), FireWire (elettronica consumer).
I dispositivi che possono compiere un trasferimento sono chiamati attivi o master, q quelli che devono solo rimanere in attesa sono detti passivi o slave.
Esempi: CPU chiede a memoria per il fetch di istruzioni e dati; CPU chiede a dispositivi I/O per l’inizio di un’operazioni I/O; CPU chiede a coprocessore per le istruzioni; I/O chiede a memoria per DMA; coprocessore chiede a CPU per leggere operandi da CPU.
Larghezza = uno dei parametri più importanti per i bus, bus molto ampi aumentano lo spazio di indirizzamento e le prestazioni ma servono più collegamenti, più spazio sulla scheda madre e connettori più grandi.
I bus possono essere:
- sincroni: le linee sono pilotate dai segnale di clock per l'esecuzione delle operazioni
- asincroni: non si utilizza il clock, ma le parti devono sincronizzarsi tra di loro, caratterizzato dal processo handshake