unità a: bus di comunicazione - politecnico di...
Post on 17-Feb-2019
215 Views
Preview:
TRANSCRIPT
1
1
Elettronica per l’informatica
2
Cosa c’è nell’unità A
Unità A:Bus di comunicazione
A.1 – Architetture di interconnessioneA.2 – Esempi commerciali
2
3
Contenuto dell’unità A
Architetture di interconnessioneBus, strutture e protocolli
Architetture tipiche di interconnessione ed esempi
4
Contenuto dell’unità A
Architetture di interconnessioneBus, strutture e protocolli
Architetture tipiche di interconnessione ed esempi
Esempi commercialiBus PCIBus USBBus IEEE 1394 Firewire
3
5
Prerequisiti per l’unità A
Elettronica di baseCalcolatori elettronici
6
Lezione A1
Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli
Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni
4
7
Elettronica per l’informatica
8
Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli
Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni
Indice della lezione A1
5
9
I bus
Cosa sono i bus?
CPUCPU I/OMemory I/OMemoryCPU
10
I bus
Cosa sono i bus?
CPUCPU I/OMemory I/OMemoryCPU
Control lines
6
11
I bus
Cosa sono i bus?
CPUCPU I/OMemory I/OMemoryCPU
Control lines
Address lines
12
I bus
Cosa sono i bus?
CPUCPU I/OMemory I/OMemoryCPU
Control lines
Address lines
Data lines
7
13
I bus
Cosa sono i bus?
CPUCPU I/OMemory I/OMemoryCPU
Bus
Control lines
Address lines
Data lines
14
I bus
Cosa sono i bus?Un’autostrada di comunicazione che collega due o più dispositiviComposti da segnali/canali raggrupati
Un certo numero di canali compone un busPer esempio un bus dati a 32 bit è composto fisicamente da 32 canali da 1 bit
Un unico “set” di segnali utilizzato per collegare molti dispositiviÈ facile aggiungere nuovi dispositiviI dispositivi possono essere spostati tra sistemi che utilizzano lo stesso bus
8
15
I bus
SvantaggiSi crea un “collo di bottiglia” nella comunicazione tra dispositiviLa banda del bus può limitare il throughput
La massima velocità del bus è limitata da:Lunghezza del busNumero di dispositivi connessi sul busPrestazioni dei singoli dispositivi connessi
16
I bus
DATA busTrasporta “informazioni” tra sorgente e destinazioneLa sua “larghezza” (parallelismo) è un fattore chiave per le prestazioni (8, 16, 32 o 64 bit?)
ADDRESS busIdentifica la sorgente o la destinazione dei dati
Per esempio la CPU deve leggere un’istruzione da una certa locazione di memoria
La sua “larghezza” (parallelismo) determina la capacità di memoria del sistema
9
17
I bus
CONTROL busÈ composto principalmente da segnali di controllo e gestione delle perifericheSegnali di read/write delle memorie
InterruptsClock
18
Elettronica per l’informatica
10
19
Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli
Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni
Indice della lezione A1
20
Tipi di bus
Dedicati (custom)Linee separate di DATA e ADDRESS
MultiplexatiLinee condivise di DATA e ADDRESSLinee di controllo aggiuntive (DATA VALID e ADDRESS VALID)Vantaggi
Meno linee complessiveSvantaggi
Controllo del bus più complessoPrestazioni ridotte
11
21
Tipi di bus
Bus processore-memoria (custom)Corto (fisicamente) e ad alta velocitàDeve solo indirizzare la memoria di sistemaOttimizzato per trasferimenti di blocchi di dati nella cache
Backplane bus (standard)Il backplane è una struttura di interconnessione su scheda (anche specifiche meccaniche)Permette la coesistenza di processori, memorie e dispositivi di input-output (I/O)Un unico standard bus per molti componenti diversi
22
Tipi di bus
Bus Input-Output (standard industriale)Normalmente più lungo e lentoDeve indirizzare (molti) dispositivi (molto) diversi tra loro
Si collega al bus memoria-processore o al backplane
12
23
Tipi di bus
SincronoEventi determinati dai segnali di clockIl CONTROL bus include le linee di clockTutti i dispositivi sul bus devono/possono leggere il segnale di clockEventi sincronizzati sul fronte di salita del clockNormalmente un evento dura un ciclo di clockPoca logica di controllo, molto veloceOgni dispositivo deve funzionare con lo stesso clockPer evitare skew il bus non deve essere lungo (se è molto veloce)
24
Tipi di bus
AsincronoNon è basato su un segnale di clockPuò ospitare classi di dispositivi molto diversi funzionanti a frequenze differenti
Può essere “allungato” (fisicamente) senza incorrere in problemi di skewRichiede un protocollo di “handshake”
13
25
Elettronica per l’informatica
26
Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli
Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni
Indice della lezione A1
14
27
Transazioni
Una transazione (completa) su bus è composta tipicamente da tre fasi distinte
Arbitraggio: come ottenere l’accesso alle risorse del busRichiesta: invio del comando e degli indirizziAzione: effettivo trasferimento dei dati secondo le specifiche dettate nella richiesta
28
Master & Slave
Transazione tipica su bus:Invio del comando e dell’indirizzo (richiesta)Trasferimento dei dati (azione)
Il MASTER è colui che invia il comando (e l’indirizzo)Lo SLAVE è colui che risponde all’indirizzo
Inviando dati se il MASTER “vuole leggere”
Ricevendo dati se il MASTER “vuole scrivere”
BusMaster
BusSlave
comando
dati
15
29
Master & Slave
Bus MASTERControlla il bus, inizia le transazioni
Bus SLAVEAttivato dalla transazione (indirizzo)
Bus ProtocolInsieme di eventi e tempistiche (specifiche) necessari al trasferimento dell’informazione
Master Slave
Control linesAddress lines
Data lines
30
Arbitraggio
L’arbitraggio è uno dei temi più importanti nel progetto di bus di comunicazione:
Come riservare il bus per un dispositivo (periferica) che intende utilizzarlo?
Architettura MASTER-SLAVE (evita il caos)SOLO il bus MASTER può controllare l’accesso al bus (inizia e controlla TUTTE le richieste su bus)Lo SLAVE risponde alle richieste di lettura/scrittura
Il sistema più sempliceIl processore è l’unico bus MASTERTutte le richieste devono essere gestite dal processore (cosa che può essere uno svantaggio)
16
31
Arbitraggio
Bus MASTER (BM) multipli (sistemi multimaster) con segnale di Bus Request (BR):
Un BM che vuole utilizzare il bus lo segnala sul BRUn BM non può utilizzare il bus se non viene concessa l’autorizzazione dall’arbitro di busUn BM deve comunicare all’arbitro di bus la fine delle sue operazioni sul bus
L’arbitro deve bilanciare due fattori:Priorità: il dispositivo con più alta priorità deve essere “servito” primaCode: il dispositivo con più bassa priorità deve comunque poter accedere al bus
32
Arbitraggio
I sistemi di arbitraggio più comuni sono sostanzialmente di 4 tipi:
Daisy chainCentralizzato (o parallelo)Distribuito con verifica dell’ID del dispositivo: ogni dispositivo che “vuole” il bus comunica il proprio codice sul busDistribuito con verifica della “collisione”: ETHERNET utilizza questo metodo
17
33
Arbitraggio
Daisy chainVantaggio: sempliceSvantaggi:
Un dispositivo a bassa priorità rischia di non essere mai “servito”Il segnale di GRANT in cascata può limitare la velocità del bus
BusArbiter
ID 1 ID 2 ID N
Grant
Grant Grant
Release
Request
34
Arbitraggio
Centralizzato/paralleloBus processore/memoria e bus I/O ad alta velocità
ID 1 ID 2 ID NGrant Grant Grant
Req.
BusArbiter
Req.
Req.
BUS
18
35
Arbitraggio
DistribuitoOgni dispositivo è dotato di una propria linea di request e osserva lo stato di tutte le altre linee di request provenienti dagli altri dispositivi connessi al bus
36
Elettronica per l’informatica
19
37
Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli
Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni
Indice della lezione A1
38
Protocolli
Protocollo sincrono
Grant
ComandoIndirizzo
BR
Cmd+Addr
Data1 Data2Data
clk
20
39
Protocolli
Protocollo sincronoLo SLAVE indica quando è pronto per la fase datiI trasferimenti avvengono alla frequenza del bus clk
Grant
ComandoIndirizzo
BR
Cmd+Addr
Data1Data
clk
Wait
Data1 Data2
40
Protocolli
Protocollo asincrono: operazione di scrittura (write)
T0: il MASTER scrive dati, indirizzi e direzione
Il MASTER scrive gli indirizzi Nuovi indirizzi
T0 T1 T2 T3 T4 T5
Il MASTER scrive i dati
Indirizzi
Dati
Read/nWrite
Request
ACK
21
41
Protocolli
Protocollo asincrono: operazione di scrittura (write)
T1: il MASTER alza il segnale di request
Il MASTER scrive gli indirizzi Nuovi indirizzi
T0 T1 T2 T3 T4 T5
Il MASTER scrive i dati
Indirizzi
Dati
Read/nWrite
Request
ACK
42
Protocolli
Protocollo asincrono: operazione di scrittura (write)
T2: lo SLAVE alza ACK ad indicare dati ricevuti
Il MASTER scrive gli indirizzi Nuovi indirizzi
T0 T1 T2 T3 T4 T5
Il MASTER scrive i dati
Indirizzi
Dati
Read/nWrite
Request
ACK
22
43
Protocolli
Protocollo asincrono: operazione di scrittura (write)
T3: il MASTER rilascia il segnale di request
Il MASTER scrive gli indirizzi Nuovi indirizzi
T0 T1 T2 T3 T4 T5
Il MASTER scrive i dati
Indirizzi
Dati
Read/nWrite
Request
ACK
44
Protocolli
Protocollo asincrono: operazione di scrittura (write)
T4: lo SLAVE rilascia ACK
Il MASTER scrive gli indirizzi Nuovi indirizzi
T0 T1 T2 T3 T4 T5
Il MASTER scrive i dati
Indirizzi
Dati
Read/nWrite
Request
ACK
23
45
Protocolli
Protocollo asincrono: operazione di lettura (read)
T0: il MASTER scrive indirizzi e direzione
Il MASTER scrive gli indirizzi Nuovi indirizzi
T0 T1 T2 T3 T4 T5
Indirizzi
Dati
Read/nWrite
Request
ACK
46
Protocolli
Protocollo asincrono: operazione di lettura (read)
T1: il MASTER alza il segnale di request
Il MASTER scrive gli indirizzi Nuovi indirizzi
T0 T1 T2 T3 T4 T5
Indirizzi
Dati
Read/nWrite
Request
ACK
24
47
Protocolli
Protocollo asincrono: operazione di lettura (read)
T2: lo SLAVE alza ACK ad indicare che è pronto a trasmettere
Il MASTER scrive gli indirizzi Nuovi indirizzi
T0 T1 T2 T3 T4 T5
Indirizzi
Dati
Read/nWrite
Request
ACK
48
Protocolli
Protocollo asincrono: operazione di lettura (read)
T3: il MASTER rilascia il segnae di request (dati ricevuti)
Il MASTER scrive gli indirizzi Nuovi indirizzi
T0 T1 T2 T3 T4 T5
Indirizzi
Dati
Read/nWrite
Request
ACK
25
49
Protocolli
Protocollo asincrono: operazione di lettura (read)
T4: lo SLAVE rilascia ACK
Il MASTER scrive gli indirizzi Nuovi indirizzi
T0 T1 T2 T3 T4 T5
Indirizzi
Dati
Read/nWrite
Request
ACK
50
Elettronica per l’informatica
26
51
Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli
Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni
Indice della lezione A1
52
Architetture di elaborazione
Singolo bus (backplane)Utilizzato per tutte le comunicazioniSemplice ed economico
Lento per le comunicazioni processore-memoria
Processore Memoria
Dispositivi di I/O
Backplane Bus
27
53
Architetture di elaborazione
Doppio busBus dedicato ad alta velocità processore-memoriaBus I/O: espansione dedicata per dispositivi di I/O
Processore Memoria
I/OBus
Bus processore-memoria
Adattatorebus
I/OBus
I/OBus
Adattatorebus
Adattatorebus
54
Architetture di elaborazione
Triplo busPochi adattatori interferiscono con il bus processore-memoriaBus di I/O sono connessi al backplane
I/O Bus
Processore Memoria
Adattatorebus
Bus processore-memoria
AdattatorebusBackplane
Bus Adattatorebus
28
55
Architetture di elaborazione
Esempio: Intel chipset PentiumNorthbridge
MemoriaGrafica
SouthbridgeBus PCIDisk controllersUSBAudioI/O serialiControllore degli interruptTimers
56
Chipset Intel Pentium
29
57
Architettura Intel Pentium
Bus processore-memoria
Bus PCI
Bus I/O
58
Elettronica per l’informatica
30
59
Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli
Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni
Indice della lezione A1
60
Incremento delle prestazioni dei bus
Incremento della banda
Linee separate per indirizzi e datiUn solo colpo di clock (ciclo) per indirizzi e datiCosto: più linee di bus
Larghezza del bus datiCon un bus più “largo”, i trasferimenti di più parole di dati richiedono meno cicliCosto: più linee di bus
31
61
Incremento delle prestazioni dei bus
Incremento della banda
Trasferimenti a blocchi (burst)Permettono la trasmissione di più parole di dati inviando un solo indirizzo all’inizioIl bus non viene rilasciato fino a quando l’ultima parola non è stata trasferitaCosti:
maggiore complessità nella gestionepeggiore tempo di risposta a fronte di una richiesta del MASTER
62
Incremento delle prestazioni dei bus
Incremento della velocità di trasferimento in un bus multimaster
Arbitraggio sovrappostoViene effettuato l’arbitraggio per la prossima transazione durante quella attuale (branchprediction)
Bus parkingIl MASTER tiene il bus e realizza transazioni multiple fino a quando altri MASTER non avanzano richieste
Packet switched busFasi separate di ADDRESS e DATAArbitraggi separati per ogni faseTAG di identificazione per il matching delle fasi
32
63
Comparazione
SerialePipelineProtocollo
AsincronoSincronoClock
Un solo MASTER
(no arbitraggio)
MultiMASTER(arbitraggio)
Bus MASTER
Parole singoleParole multipleTrasferimenti
+ è “stretto” + è economico
+ è “largo” + è veloce
Larghezza dati
Linee dati e indirizzi multiplexate
Linee separate dati e indirizzi
Larghezza di bus
EconomicoAlte prestazioniOpzioni
64
Comparazione
7 – 31 (larghezza di bus -1)
1024 segmentati(32 disp. x segmento)
Numero m ax. didispositivi
25 metri0.5 metriLunghezza max. bus
Asincrono o Sincrono(5-10MHz)
Sincrono33-66Mhz
Clock
Auto-selezioneCentralizzato
Arbitraggio paralleloArbitraggio
SISIMultimaster
SISIAddress/data Multiplexati
8-3232 – 64Larghezza bus datiInput/outputBackplaneBus type
SCSI PCICaratteristiche
33
65
Sommario lezione A1
Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli
Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni
66
Verifica lezione A1
Cos’è un bus?Da cosa è composto?Cos’è un bus multiplexato?
Cosa si intende per architettura MASTER-SLAVE?Come funziona il protocollo sincrono?Cos’è l’arbitraggio di bus?Come funziona un bus packet switched?Cos’è un handshake?
34
67
Fonti
Dave Patterson, Computer Architecture and Engineering, Bus design, Berkeley
68
Prossima lezione (A2)
Esempi commercialiBus PCIBus USB
Bus IEEE 1394 Firewire
top related